1313a0c13SJung-uk Kim /****************************************************************************** 2313a0c13SJung-uk Kim * 3313a0c13SJung-uk Kim * Module Name: ahids - Table of ACPI/PNP _HID/_CID values 4313a0c13SJung-uk Kim * 5313a0c13SJung-uk Kim *****************************************************************************/ 6313a0c13SJung-uk Kim 7313a0c13SJung-uk Kim /* 8*f8146b88SJung-uk Kim * Copyright (C) 2000 - 2016, Intel Corp. 9313a0c13SJung-uk Kim * All rights reserved. 10313a0c13SJung-uk Kim * 11313a0c13SJung-uk Kim * Redistribution and use in source and binary forms, with or without 12313a0c13SJung-uk Kim * modification, are permitted provided that the following conditions 13313a0c13SJung-uk Kim * are met: 14313a0c13SJung-uk Kim * 1. Redistributions of source code must retain the above copyright 15313a0c13SJung-uk Kim * notice, this list of conditions, and the following disclaimer, 16313a0c13SJung-uk Kim * without modification. 17313a0c13SJung-uk Kim * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18313a0c13SJung-uk Kim * substantially similar to the "NO WARRANTY" disclaimer below 19313a0c13SJung-uk Kim * ("Disclaimer") and any redistribution must be conditioned upon 20313a0c13SJung-uk Kim * including a substantially similar Disclaimer requirement for further 21313a0c13SJung-uk Kim * binary redistribution. 22313a0c13SJung-uk Kim * 3. Neither the names of the above-listed copyright holders nor the names 23313a0c13SJung-uk Kim * of any contributors may be used to endorse or promote products derived 24313a0c13SJung-uk Kim * from this software without specific prior written permission. 25313a0c13SJung-uk Kim * 26313a0c13SJung-uk Kim * Alternatively, this software may be distributed under the terms of the 27313a0c13SJung-uk Kim * GNU General Public License ("GPL") version 2 as published by the Free 28313a0c13SJung-uk Kim * Software Foundation. 29313a0c13SJung-uk Kim * 30313a0c13SJung-uk Kim * NO WARRANTY 31313a0c13SJung-uk Kim * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32313a0c13SJung-uk Kim * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33313a0c13SJung-uk Kim * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34313a0c13SJung-uk Kim * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35313a0c13SJung-uk Kim * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36313a0c13SJung-uk Kim * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37313a0c13SJung-uk Kim * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38313a0c13SJung-uk Kim * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39313a0c13SJung-uk Kim * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40313a0c13SJung-uk Kim * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41313a0c13SJung-uk Kim * POSSIBILITY OF SUCH DAMAGES. 42313a0c13SJung-uk Kim */ 43313a0c13SJung-uk Kim 44313a0c13SJung-uk Kim #include <contrib/dev/acpica/include/acpi.h> 45313a0c13SJung-uk Kim #include <contrib/dev/acpica/include/accommon.h> 46313a0c13SJung-uk Kim 47313a0c13SJung-uk Kim #define _COMPONENT ACPI_UTILITIES 48313a0c13SJung-uk Kim ACPI_MODULE_NAME ("ahids") 49313a0c13SJung-uk Kim 50313a0c13SJung-uk Kim 51313a0c13SJung-uk Kim /* 52313a0c13SJung-uk Kim * ACPI/PNP Device IDs with description strings 53313a0c13SJung-uk Kim */ 54313a0c13SJung-uk Kim const AH_DEVICE_ID AslDeviceIds[] = 55313a0c13SJung-uk Kim { 56313a0c13SJung-uk Kim {"10EC5640", "Realtek I2S Audio Codec"}, 57313a0c13SJung-uk Kim {"80860F09", "Intel PWM Controller"}, 58313a0c13SJung-uk Kim {"80860F0A", "Intel Atom UART Controller"}, 59313a0c13SJung-uk Kim {"80860F0E", "Intel SPI Controller"}, 60313a0c13SJung-uk Kim {"80860F14", "Intel Baytrail SDIO/MMC Host Controller"}, 61313a0c13SJung-uk Kim {"80860F28", "Intel SST Audio DSP"}, 62313a0c13SJung-uk Kim {"80860F41", "Intel Baytrail I2C Host Controller"}, 63313a0c13SJung-uk Kim {"ACPI0001", "SMBus 1.0 Host Controller"}, 64313a0c13SJung-uk Kim {"ACPI0002", "Smart Battery Subsystem"}, 65313a0c13SJung-uk Kim {"ACPI0003", "Power Source Device"}, 66313a0c13SJung-uk Kim {"ACPI0004", "Module Device"}, 67313a0c13SJung-uk Kim {"ACPI0005", "SMBus 2.0 Host Controller"}, 68313a0c13SJung-uk Kim {"ACPI0006", "GPE Block Device"}, 69313a0c13SJung-uk Kim {"ACPI0007", "Processor Device"}, 70313a0c13SJung-uk Kim {"ACPI0008", "Ambient Light Sensor Device"}, 71313a0c13SJung-uk Kim {"ACPI0009", "I/O xAPIC Device"}, 72313a0c13SJung-uk Kim {"ACPI000A", "I/O APIC Device"}, 73313a0c13SJung-uk Kim {"ACPI000B", "I/O SAPIC Device"}, 74313a0c13SJung-uk Kim {"ACPI000C", "Processor Aggregator Device"}, 75313a0c13SJung-uk Kim {"ACPI000D", "Power Meter Device"}, 76313a0c13SJung-uk Kim {"ACPI000E", "Time and Alarm Device"}, 77313a0c13SJung-uk Kim {"ACPI000F", "User Presence Detection Device"}, 78*f8146b88SJung-uk Kim {"ACPI0010", "Processor Container Device"}, 79*f8146b88SJung-uk Kim {"ACPI0011", "Generic Buttons Device"}, 80*f8146b88SJung-uk Kim {"ACPI0012", "NVDIMM Root Device"}, 81*f8146b88SJung-uk Kim {"ACPI0013", "Generic Event Device"}, 82313a0c13SJung-uk Kim {"ADMA0F28", "Intel Audio DMA"}, 83313a0c13SJung-uk Kim {"AMCR0F28", "Intel Audio Machine Driver"}, 84313a0c13SJung-uk Kim {"ATK4001", "Asus Radio Control Button"}, 85313a0c13SJung-uk Kim {"ATML1000", "Atmel Touchscreen Controller"}, 86313a0c13SJung-uk Kim {"AUTH2750", "AuthenTec AES2750"}, 87313a0c13SJung-uk Kim {"BCM2E39", "Broadcom BT Serial Bus Driver over UART Bus Enumerator"}, 88313a0c13SJung-uk Kim {"BCM4752E", "Broadcom GPS Controller"}, 89313a0c13SJung-uk Kim {"BMG0160", "Bosch Gyro Sensor"}, 90313a0c13SJung-uk Kim {"CPLM3218", "Capella Micro CM3218x Ambient Light Sensor"}, 91313a0c13SJung-uk Kim {"DELLABCE", "Dell Airplane Mode Switch Driver"}, 92313a0c13SJung-uk Kim {"DLAC3002", "Qualcomm Atheros Bluetooth UART Transport"}, 93313a0c13SJung-uk Kim {"FTTH5506", "FocalTech 5506 Touch Controller"}, 94313a0c13SJung-uk Kim {"HAD0F28", "Intel HDMI Audio Driver"}, 95313a0c13SJung-uk Kim {"INBC0000", "GPIO Expander"}, 96313a0c13SJung-uk Kim {"INT0002", "Virtual GPIO Controller"}, 97313a0c13SJung-uk Kim {"INT0800", "Intel 82802 Firmware Hub Device"}, 98313a0c13SJung-uk Kim {"INT3394", "ACPI System Fan"}, 99313a0c13SJung-uk Kim {"INT3396", "Standard Power Management Controller"}, 100313a0c13SJung-uk Kim {"INT33A0", "Intel Smart Connect Technology Device"}, 101313a0c13SJung-uk Kim {"INT33A1", "Intel Power Engine"}, 102313a0c13SJung-uk Kim {"INT33BB", "Intel Baytrail SD Host Controller"}, 103313a0c13SJung-uk Kim {"INT33BD", "Intel Baytrail Mailbox Device"}, 104313a0c13SJung-uk Kim {"INT33BE", "Camera Sensor OV5693"}, 105313a0c13SJung-uk Kim {"INT33C0", "Intel Serial I/O SPI Host Controller"}, 106313a0c13SJung-uk Kim {"INT33C1", "Intel Serial I/O SPI Host Controller"}, 107313a0c13SJung-uk Kim {"INT33C2", "Intel Serial I/O I2C Host Controller"}, 108313a0c13SJung-uk Kim {"INT33C3", "Intel Serial I/O I2C Host Controller"}, 109313a0c13SJung-uk Kim {"INT33C4", "Intel Serial I/O UART Host Controller"}, 110313a0c13SJung-uk Kim {"INT33C5", "Intel Serial I/O UART Host Controller"}, 111313a0c13SJung-uk Kim {"INT33C6", "Intel SD Host Controller"}, 112313a0c13SJung-uk Kim {"INT33C7", "Intel Serial I/O GPIO Host Controller"}, 113313a0c13SJung-uk Kim {"INT33C8", "Intel Smart Sound Technology Host Controller"}, 114313a0c13SJung-uk Kim {"INT33C9", "Wolfson Microelectronics Audio WM5102"}, 115313a0c13SJung-uk Kim {"INT33CA", "Intel SPB Peripheral"}, 116313a0c13SJung-uk Kim {"INT33CB", "Intel Smart Sound Technology Audio Codec"}, 117313a0c13SJung-uk Kim {"INT33D1", "Intel GPIO Buttons"}, 118313a0c13SJung-uk Kim {"INT33D2", "Intel GPIO Buttons"}, 119313a0c13SJung-uk Kim {"INT33D3", "Intel GPIO Buttons"}, 120313a0c13SJung-uk Kim {"INT33D4", "Intel GPIO Buttons"}, 121313a0c13SJung-uk Kim {"INT33D6", "Intel Virtual Buttons Device"}, 122313a0c13SJung-uk Kim {"INT33F0", "Camera Sensor MT9M114"}, 123313a0c13SJung-uk Kim {"INT33F4", "XPOWER PMIC Controller"}, 124313a0c13SJung-uk Kim {"INT33F5", "TI PMIC Controller"}, 125313a0c13SJung-uk Kim {"INT33FB", "MIPI-CSI Camera Sensor OV2722"}, 126313a0c13SJung-uk Kim {"INT33FC", "Intel Baytrail GPIO Controller"}, 127313a0c13SJung-uk Kim {"INT33FD", "Intel Baytrail Power Management IC"}, 128313a0c13SJung-uk Kim {"INT33FE", "XPOWER Battery Device"}, 129313a0c13SJung-uk Kim {"INT3400", "Intel Dynamic Power Performance Management"}, 130313a0c13SJung-uk Kim {"INT3401", "Intel Extended Thermal Model CPU"}, 131313a0c13SJung-uk Kim {"INT3403", "DPTF Temperature Sensor"}, 132313a0c13SJung-uk Kim {"INT3406", "Intel Dynamic Platform & Thermal Framework Display Participant"}, 133313a0c13SJung-uk Kim {"INT3407", "DPTF Platform Power Meter"}, 134313a0c13SJung-uk Kim {"INT340E", "Motherboard Resources"}, 135313a0c13SJung-uk Kim {"INT3420", "Intel Bluetooth RF Kill"}, 136313a0c13SJung-uk Kim {"INT3F0D", "ACPI Motherboard Resources"}, 137313a0c13SJung-uk Kim {"INTCF1A", "Sony IMX175 Camera Sensor"}, 138313a0c13SJung-uk Kim {"INTCFD9", "Intel Baytrail SOC GPIO Controller"}, 139313a0c13SJung-uk Kim {"INTL9C60", "Intel Baytrail SOC DMA Controller"}, 140313a0c13SJung-uk Kim {"INVN6500", "InvenSense MPU-6500 Six Axis Gyroscope and Accelerometer"}, 141313a0c13SJung-uk Kim {"LNXCPU", "Linux Logical CPU"}, 142313a0c13SJung-uk Kim {"LNXPOWER", "ACPI Power Resource (power gating)"}, 143313a0c13SJung-uk Kim {"LNXPWRBN", "System Power Button"}, 144313a0c13SJung-uk Kim {"LNXSYBUS", "System Bus"}, 145313a0c13SJung-uk Kim {"LNXSYSTM", "ACPI Root Node"}, 146313a0c13SJung-uk Kim {"LNXTHERM", "ACPI Thermal Zone"}, 147313a0c13SJung-uk Kim {"LNXVIDEO", "ACPI Video Controller"}, 148313a0c13SJung-uk Kim {"MAX17047", "Fuel Gauge Controller"}, 149313a0c13SJung-uk Kim {"MSFT0101", "TPM 2.0 Security Device"}, 150313a0c13SJung-uk Kim {"NXP5442", "NXP 5442 Near Field Communications Controller"}, 151313a0c13SJung-uk Kim {"NXP5472", "NXP NFC"}, 152313a0c13SJung-uk Kim {"PNP0000", "8259-compatible Programmable Interrupt Controller"}, 153313a0c13SJung-uk Kim {"PNP0001", "EISA Interrupt Controller"}, 154313a0c13SJung-uk Kim {"PNP0002", "MCA Interrupt Controller"}, 155313a0c13SJung-uk Kim {"PNP0003", "IO-APIC Interrupt Controller"}, 156313a0c13SJung-uk Kim {"PNP0100", "PC-class System Timer"}, 157313a0c13SJung-uk Kim {"PNP0103", "HPET System Timer"}, 158313a0c13SJung-uk Kim {"PNP0200", "PC-class DMA Controller"}, 159313a0c13SJung-uk Kim {"PNP0300", "IBM PC/XT Keyboard Controller (83 key)"}, 160313a0c13SJung-uk Kim {"PNP0301", "IBM PC/XT Keyboard Controller (86 key)"}, 161313a0c13SJung-uk Kim {"PNP0302", "IBM PC/XT Keyboard Controller (84 key)"}, 162313a0c13SJung-uk Kim {"PNP0303", "IBM Enhanced Keyboard (101/102-key, PS/2 Mouse)"}, 163313a0c13SJung-uk Kim {"PNP0400", "Standard LPT Parallel Port"}, 164313a0c13SJung-uk Kim {"PNP0401", "ECP Parallel Port"}, 165313a0c13SJung-uk Kim {"PNP0500", "Standard PC COM Serial Port"}, 166313a0c13SJung-uk Kim {"PNP0501", "16550A-compatible COM Serial Port"}, 167313a0c13SJung-uk Kim {"PNP0510", "Generic IRDA-compatible Device"}, 168313a0c13SJung-uk Kim {"PNP0800", "Microsoft Sound System Compatible Device"}, 169313a0c13SJung-uk Kim {"PNP0A03", "PCI Bus"}, 170313a0c13SJung-uk Kim {"PNP0A05", "Generic Container Device"}, 171313a0c13SJung-uk Kim {"PNP0A06", "Generic Container Device"}, 172313a0c13SJung-uk Kim {"PNP0A08", "PCI Express Bus"}, 173313a0c13SJung-uk Kim {"PNP0B00", "AT Real-Time Clock"}, 174313a0c13SJung-uk Kim {"PNP0B01", "Intel PIIX4-compatible RTC/CMOS Device"}, 175313a0c13SJung-uk Kim {"PNP0B02", "Dallas Semiconductor-compatible RTC/CMOS Device"}, 176313a0c13SJung-uk Kim {"PNP0C01", "System Board"}, 177313a0c13SJung-uk Kim {"PNP0C02", "PNP Motherboard Resources"}, 178313a0c13SJung-uk Kim {"PNP0C04", "x87-compatible Floating Point Processing Unit"}, 179313a0c13SJung-uk Kim {"PNP0C08", "ACPI Core Hardware"}, 180313a0c13SJung-uk Kim {"PNP0C09", "Embedded Controller Device"}, 181313a0c13SJung-uk Kim {"PNP0C0A", "Control Method Battery"}, 182313a0c13SJung-uk Kim {"PNP0C0B", "Fan (Thermal Solution)"}, 183313a0c13SJung-uk Kim {"PNP0C0C", "Power Button Device"}, 184313a0c13SJung-uk Kim {"PNP0C0D", "Lid Device"}, 185313a0c13SJung-uk Kim {"PNP0C0E", "Sleep Button Device"}, 186313a0c13SJung-uk Kim {"PNP0C0F", "PCI Interrupt Link Device"}, 187313a0c13SJung-uk Kim {"PNP0C10", "System Indicator Device"}, 188313a0c13SJung-uk Kim {"PNP0C11", "Thermal Zone"}, 189313a0c13SJung-uk Kim {"PNP0C12", "Device Bay Controller"}, 190313a0c13SJung-uk Kim {"PNP0C14", "Windows Management Instrumentation Device"}, 191313a0c13SJung-uk Kim {"PNP0C15", "Docking Station"}, 192*f8146b88SJung-uk Kim {"PNP0C33", "Error Device"}, 193313a0c13SJung-uk Kim {"PNP0C40", "Standard Button Controller"}, 194313a0c13SJung-uk Kim {"PNP0C50", "HID Protocol Device (I2C bus)"}, 195313a0c13SJung-uk Kim {"PNP0C60", "Display Sensor Device"}, 196313a0c13SJung-uk Kim {"PNP0C70", "Dock Sensor Device"}, 197313a0c13SJung-uk Kim {"PNP0C80", "Memory Device"}, 198313a0c13SJung-uk Kim {"PNP0D10", "XHCI USB Controller with debug"}, 199313a0c13SJung-uk Kim {"PNP0D15", "XHCI USB Controller without debug"}, 200313a0c13SJung-uk Kim {"PNP0D20", "EHCI USB Controller without debug"}, 201313a0c13SJung-uk Kim {"PNP0D25", "EHCI USB Controller with debug"}, 202313a0c13SJung-uk Kim {"PNP0D40", "SDA Standard Compliant SD Host Controller"}, 203313a0c13SJung-uk Kim {"PNP0D80", "Windows-compatible System Power Management Controller"}, 204313a0c13SJung-uk Kim {"PNP0F03", "Microsoft PS/2-style Mouse"}, 205313a0c13SJung-uk Kim {"PNP0F13", "PS/2 Mouse"}, 206313a0c13SJung-uk Kim {"RTL8723", "Realtek Wireless Controller"}, 207313a0c13SJung-uk Kim {"SMB0349", "Charger"}, 208313a0c13SJung-uk Kim {"SMO91D0", "Sensor Hub"}, 209313a0c13SJung-uk Kim {"SMSC3750", "SMSC 3750 USB MUX"}, 210313a0c13SJung-uk Kim {"SSPX0000", "Intel SSP Device"}, 211313a0c13SJung-uk Kim {"TBQ24296", "Charger"}, 212313a0c13SJung-uk Kim 213313a0c13SJung-uk Kim {NULL, NULL} 214313a0c13SJung-uk Kim }; 215313a0c13SJung-uk Kim 216313a0c13SJung-uk Kim 217313a0c13SJung-uk Kim /******************************************************************************* 218313a0c13SJung-uk Kim * 219313a0c13SJung-uk Kim * FUNCTION: AcpiAhMatchHardwareId 220313a0c13SJung-uk Kim * 221313a0c13SJung-uk Kim * PARAMETERS: HardwareId - String representation of an _HID or _CID 222313a0c13SJung-uk Kim * 223313a0c13SJung-uk Kim * RETURN: ID info struct. NULL if HardwareId is not found 224313a0c13SJung-uk Kim * 225313a0c13SJung-uk Kim * DESCRIPTION: Lookup an _HID/_CID in the device ID table 226313a0c13SJung-uk Kim * 227313a0c13SJung-uk Kim ******************************************************************************/ 228313a0c13SJung-uk Kim 229313a0c13SJung-uk Kim const AH_DEVICE_ID * 230313a0c13SJung-uk Kim AcpiAhMatchHardwareId ( 231313a0c13SJung-uk Kim char *HardwareId) 232313a0c13SJung-uk Kim { 233313a0c13SJung-uk Kim const AH_DEVICE_ID *Info; 234313a0c13SJung-uk Kim 235313a0c13SJung-uk Kim 236313a0c13SJung-uk Kim for (Info = AslDeviceIds; Info->Name; Info++) 237313a0c13SJung-uk Kim { 2385ef50723SJung-uk Kim if (!strcmp (HardwareId, Info->Name)) 239313a0c13SJung-uk Kim { 240313a0c13SJung-uk Kim return (Info); 241313a0c13SJung-uk Kim } 242313a0c13SJung-uk Kim } 243313a0c13SJung-uk Kim 244313a0c13SJung-uk Kim return (NULL); 245313a0c13SJung-uk Kim } 246