1d4972a9cSSascha Wildner /****************************************************************************** 2d4972a9cSSascha Wildner * 3d4972a9cSSascha Wildner * Module Name: ahids - Table of ACPI/PNP _HID/_CID values 4d4972a9cSSascha Wildner * 5d4972a9cSSascha Wildner *****************************************************************************/ 6d4972a9cSSascha Wildner 7d4972a9cSSascha Wildner /* 8d4972a9cSSascha Wildner * Copyright (C) 2000 - 2014, Intel Corp. 9d4972a9cSSascha Wildner * All rights reserved. 10d4972a9cSSascha Wildner * 11d4972a9cSSascha Wildner * Redistribution and use in source and binary forms, with or without 12d4972a9cSSascha Wildner * modification, are permitted provided that the following conditions 13d4972a9cSSascha Wildner * are met: 14d4972a9cSSascha Wildner * 1. Redistributions of source code must retain the above copyright 15d4972a9cSSascha Wildner * notice, this list of conditions, and the following disclaimer, 16d4972a9cSSascha Wildner * without modification. 17d4972a9cSSascha Wildner * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18d4972a9cSSascha Wildner * substantially similar to the "NO WARRANTY" disclaimer below 19d4972a9cSSascha Wildner * ("Disclaimer") and any redistribution must be conditioned upon 20d4972a9cSSascha Wildner * including a substantially similar Disclaimer requirement for further 21d4972a9cSSascha Wildner * binary redistribution. 22d4972a9cSSascha Wildner * 3. Neither the names of the above-listed copyright holders nor the names 23d4972a9cSSascha Wildner * of any contributors may be used to endorse or promote products derived 24d4972a9cSSascha Wildner * from this software without specific prior written permission. 25d4972a9cSSascha Wildner * 26d4972a9cSSascha Wildner * Alternatively, this software may be distributed under the terms of the 27d4972a9cSSascha Wildner * GNU General Public License ("GPL") version 2 as published by the Free 28d4972a9cSSascha Wildner * Software Foundation. 29d4972a9cSSascha Wildner * 30d4972a9cSSascha Wildner * NO WARRANTY 31d4972a9cSSascha Wildner * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32d4972a9cSSascha Wildner * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33d4972a9cSSascha Wildner * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34d4972a9cSSascha Wildner * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35d4972a9cSSascha Wildner * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36d4972a9cSSascha Wildner * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37d4972a9cSSascha Wildner * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38d4972a9cSSascha Wildner * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39d4972a9cSSascha Wildner * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40d4972a9cSSascha Wildner * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41d4972a9cSSascha Wildner * POSSIBILITY OF SUCH DAMAGES. 42d4972a9cSSascha Wildner */ 43d4972a9cSSascha Wildner 44d4972a9cSSascha Wildner #include "acpi.h" 45d4972a9cSSascha Wildner #include "accommon.h" 46d4972a9cSSascha Wildner 47d4972a9cSSascha Wildner #define _COMPONENT ACPI_UTILITIES 48d4972a9cSSascha Wildner ACPI_MODULE_NAME ("ahids") 49d4972a9cSSascha Wildner 50d4972a9cSSascha Wildner 51d4972a9cSSascha Wildner /* 52d4972a9cSSascha Wildner * ACPI/PNP Device IDs with description strings 53d4972a9cSSascha Wildner */ 54d4972a9cSSascha Wildner const AH_DEVICE_ID AslDeviceIds[] = 55d4972a9cSSascha Wildner { 56d4972a9cSSascha Wildner {"10EC5640", "Realtek I2S Audio Codec"}, 57d4972a9cSSascha Wildner {"80860F0A", "Intel Atom UART Controller"}, 58d4972a9cSSascha Wildner {"80860F14", "Intel Baytrail SDIO/MMC Host Controller"}, 59d4972a9cSSascha Wildner {"80860F28", "Intel SST Audio DSP"}, 60d4972a9cSSascha Wildner {"80860F41", "Intel Baytrail I2C Host Controller"}, 61d4972a9cSSascha Wildner {"ACPI0001", "SMBus 1.0 Host Controller"}, 62d4972a9cSSascha Wildner {"ACPI0002", "Smart Battery Subsystem"}, 63d4972a9cSSascha Wildner {"ACPI0003", "Power Source Device"}, 64d4972a9cSSascha Wildner {"ACPI0004", "Module Device"}, 65d4972a9cSSascha Wildner {"ACPI0005", "SMBus 2.0 Host Controller"}, 66d4972a9cSSascha Wildner {"ACPI0006", "GPE Block Device"}, 67d4972a9cSSascha Wildner {"ACPI0007", "Processor Device"}, 68d4972a9cSSascha Wildner {"ACPI0008", "Ambient Light Sensor Device"}, 69d4972a9cSSascha Wildner {"ACPI0009", "I/O xAPIC Device"}, 70d4972a9cSSascha Wildner {"ACPI000A", "I/O APIC Device"}, 71d4972a9cSSascha Wildner {"ACPI000B", "I/O SAPIC Device"}, 72d4972a9cSSascha Wildner {"ACPI000C", "Processor Aggregator Device"}, 73d4972a9cSSascha Wildner {"ACPI000D", "Power Meter Device"}, 74d4972a9cSSascha Wildner {"ACPI000E", "Time and Alarm Device"}, 75d4972a9cSSascha Wildner {"ACPI000F", "User Presence Detection Device"}, 76d4972a9cSSascha Wildner {"ATK4001", "Asus Radio Control Button"}, 77d4972a9cSSascha Wildner {"ATML1000", "Atmel Touchscreen Controller"}, 78d4972a9cSSascha Wildner {"BCM2E39", "Broadcom BT Serial Bus Driver over UART Bus Enumerator"}, 79d4972a9cSSascha Wildner {"CPLM3218", "Capella Micro CM3218x Ambient Light Sensor"}, 80d4972a9cSSascha Wildner {"DELLABCE", "Dell Airplane Mode Switch Driver"}, 81d4972a9cSSascha Wildner {"DLAC3002", "Qualcomm Atheros Bluetooth UART Transport"}, 82d4972a9cSSascha Wildner {"INT0002", "Virtual GPIO Controller"}, 83d4972a9cSSascha Wildner {"INT0800", "Intel 82802 Firmware Hub Device"}, 84d4972a9cSSascha Wildner {"INT3394", "ACPI System Fan"}, 85d4972a9cSSascha Wildner {"INT3396", "Standard Power Management Controller"}, 86d4972a9cSSascha Wildner {"INT33A0", "Intel Smart Connect Technology Device"}, 87d4972a9cSSascha Wildner {"INT33A1", "Intel Power Engine"}, 88d4972a9cSSascha Wildner {"INT33BB", "Intel Baytrail SD Host Controller"}, 89d4972a9cSSascha Wildner {"INT33BD", "Intel Baytrail Mailbox Device"}, 90d4972a9cSSascha Wildner {"INT33C0", "Intel Serial I/O SPI Host Controller"}, 91d4972a9cSSascha Wildner {"INT33C1", "Intel Serial I/O SPI Host Controller"}, 92d4972a9cSSascha Wildner {"INT33C2", "Intel Serial I/O I2C Host Controller"}, 93d4972a9cSSascha Wildner {"INT33C3", "Intel Serial I/O I2C Host Controller"}, 94d4972a9cSSascha Wildner {"INT33C4", "Intel Serial I/O UART Host Controller"}, 95d4972a9cSSascha Wildner {"INT33C5", "Intel Serial I/O UART Host Controller"}, 96d4972a9cSSascha Wildner {"INT33C6", "Intel SD Host Controller"}, 97d4972a9cSSascha Wildner {"INT33C7", "Intel Serial I/O GPIO Host Controller"}, 98d4972a9cSSascha Wildner {"INT33C8", "Intel Smart Sound Technology Host Controller"}, 99d4972a9cSSascha Wildner {"INT33C9", "Wolfson Microelectronics Audio WM5102"}, 100d4972a9cSSascha Wildner {"INT33CA", "Intel SPB Peripheral"}, 101d4972a9cSSascha Wildner {"INT33CB", "Intel Smart Sound Technology Audio Codec"}, 102d4972a9cSSascha Wildner {"INT33D1", "Intel GPIO Buttons"}, 103d4972a9cSSascha Wildner {"INT33D2", "Intel GPIO Buttons"}, 104d4972a9cSSascha Wildner {"INT33D3", "Intel GPIO Buttons"}, 105d4972a9cSSascha Wildner {"INT33D4", "Intel GPIO Buttons"}, 106d4972a9cSSascha Wildner {"INT33D6", "Intel Virtual Buttons Device"}, 107d4972a9cSSascha Wildner {"INT33F0", "Camera Sensor MT9M114"}, 108d4972a9cSSascha Wildner {"INT33FB", "MIPI-CSI Camera Sensor OV2722"}, 109d4972a9cSSascha Wildner {"INT33FC", "Intel Baytrail GPIO Controller"}, 110d4972a9cSSascha Wildner {"INT33FD", "Intel Baytrail Power Management IC"}, 111d4972a9cSSascha Wildner {"INT3400", "Intel Dynamic Power Performance Management"}, 112d4972a9cSSascha Wildner {"INT3401", "Intel Extended Thermal Model CPU"}, 113d4972a9cSSascha Wildner {"INT3403", "DPTF Temperature Sensor"}, 114d4972a9cSSascha Wildner {"INT3406", "Intel Dynamic Platform & Thermal Framework Display Participant"}, 115d4972a9cSSascha Wildner {"INT3407", "DPTF Platform Power Meter"}, 116d4972a9cSSascha Wildner {"INT340E", "Motherboard Resources"}, 117d4972a9cSSascha Wildner {"INT3420", "Intel Bluetooth RF Kill"}, 118d4972a9cSSascha Wildner {"INT3F0D", "ACPI Motherboard Resources"}, 119d4972a9cSSascha Wildner {"INTCF1A", "Sony IMX175 Camera Sensor"}, 120d4972a9cSSascha Wildner {"INTCFD9", "Intel Baytrail SOC GPIO Controller"}, 121d4972a9cSSascha Wildner {"INTL9C60", "Intel Baytrail SOC DMA Controller"}, 122d4972a9cSSascha Wildner {"INVN6500", "InvenSense MPU-6500 Six Axis Gyroscope and Accelerometer"}, 123d4972a9cSSascha Wildner {"LNXCPU", "Linux Logical CPU"}, 124d4972a9cSSascha Wildner {"LNXPOWER", "ACPI Power Resource (power gating)"}, 125d4972a9cSSascha Wildner {"LNXPWRBN", "System Power Button"}, 126d4972a9cSSascha Wildner {"LNXSYBUS", "System Bus"}, 127d4972a9cSSascha Wildner {"LNXSYSTM", "ACPI Root Node"}, 128d4972a9cSSascha Wildner {"LNXTHERM", "ACPI Thermal Zone"}, 129d4972a9cSSascha Wildner {"LNXVIDEO", "ACPI Video Controller"}, 130d4972a9cSSascha Wildner {"MSFT0101", "TPM 2.0 Security Device"}, 131d4972a9cSSascha Wildner {"NXP5442", "NXP 5442 Near Field Communications Controller"}, 132d4972a9cSSascha Wildner {"PNP0000", "8259-compatible Programmable Interrupt Controller"}, 133d4972a9cSSascha Wildner {"PNP0001", "EISA Interrupt Controller"}, 134d4972a9cSSascha Wildner {"PNP0002", "MCA Interrupt Controller"}, 135d4972a9cSSascha Wildner {"PNP0003", "IO-APIC Interrupt Controller"}, 136d4972a9cSSascha Wildner {"PNP0100", "PC-class System Timer"}, 137d4972a9cSSascha Wildner {"PNP0103", "HPET System Timer"}, 138d4972a9cSSascha Wildner {"PNP0200", "PC-class DMA Controller"}, 139d4972a9cSSascha Wildner {"PNP0300", "IBM PC/XT Keyboard Controller (83 key)"}, 140d4972a9cSSascha Wildner {"PNP0301", "IBM PC/XT Keyboard Controller (86 key)"}, 141d4972a9cSSascha Wildner {"PNP0302", "IBM PC/XT Keyboard Controller (84 key)"}, 142d4972a9cSSascha Wildner {"PNP0303", "IBM Enhanced Keyboard (101/102-key, PS/2 Mouse)"}, 143d4972a9cSSascha Wildner {"PNP0400", "Standard LPT Parallel Port"}, 144d4972a9cSSascha Wildner {"PNP0401", "ECP Parallel Port"}, 145d4972a9cSSascha Wildner {"PNP0500", "Standard PC COM Serial Port"}, 146d4972a9cSSascha Wildner {"PNP0501", "16550A-compatible COM Serial Port"}, 147d4972a9cSSascha Wildner {"PNP0510", "Generic IRDA-compatible Device"}, 148d4972a9cSSascha Wildner {"PNP0800", "Microsoft Sound System Compatible Device"}, 149d4972a9cSSascha Wildner {"PNP0A03", "PCI Bus"}, 150d4972a9cSSascha Wildner {"PNP0A05", "Generic Container Device"}, 151d4972a9cSSascha Wildner {"PNP0A06", "Generic Container Device"}, 152d4972a9cSSascha Wildner {"PNP0A08", "PCI Express Bus"}, 153d4972a9cSSascha Wildner {"PNP0B00", "AT Real-Time Clock"}, 154d4972a9cSSascha Wildner {"PNP0B01", "Intel PIIX4-compatible RTC/CMOS Device"}, 155d4972a9cSSascha Wildner {"PNP0B02", "Dallas Semiconductor-compatible RTC/CMOS Device"}, 156d4972a9cSSascha Wildner {"PNP0C01", "System Board"}, 157d4972a9cSSascha Wildner {"PNP0C02", "PNP Motherboard Resources"}, 158d4972a9cSSascha Wildner {"PNP0C04", "x87-compatible Floating Point Processing Unit"}, 159d4972a9cSSascha Wildner {"PNP0C08", "ACPI Core Hardware"}, 160d4972a9cSSascha Wildner {"PNP0C09", "Embedded Controller Device"}, 161d4972a9cSSascha Wildner {"PNP0C0A", "Control Method Battery"}, 162d4972a9cSSascha Wildner {"PNP0C0B", "Fan (Thermal Solution)"}, 163d4972a9cSSascha Wildner {"PNP0C0C", "Power Button Device"}, 164d4972a9cSSascha Wildner {"PNP0C0D", "Lid Device"}, 165d4972a9cSSascha Wildner {"PNP0C0E", "Sleep Button Device"}, 166d4972a9cSSascha Wildner {"PNP0C0F", "PCI Interrupt Link Device"}, 167d4972a9cSSascha Wildner {"PNP0C10", "System Indicator Device"}, 168d4972a9cSSascha Wildner {"PNP0C11", "Thermal Zone"}, 169d4972a9cSSascha Wildner {"PNP0C12", "Device Bay Controller"}, 170d4972a9cSSascha Wildner {"PNP0C14", "Windows Management Instrumentation Device"}, 171d4972a9cSSascha Wildner {"PNP0C15", "Docking Station"}, 172d4972a9cSSascha Wildner {"PNP0C40", "Standard Button Controller"}, 173d4972a9cSSascha Wildner {"PNP0C50", "HID Protocol Device (I2C bus)"}, 174d4972a9cSSascha Wildner {"PNP0C60", "Display Sensor Device"}, 175d4972a9cSSascha Wildner {"PNP0C70", "Dock Sensor Device"}, 176d4972a9cSSascha Wildner {"PNP0C80", "Memory Device"}, 177*066b6da2SSascha Wildner {"PNP0D10", "XHCI USB Controller with debug"}, 178*066b6da2SSascha Wildner {"PNP0D15", "XHCI USB Controller without debug"}, 179*066b6da2SSascha Wildner {"PNP0D20", "EHCI USB Controller without debug"}, 180*066b6da2SSascha Wildner {"PNP0D25", "EHCI USB Controller with debug"}, 181*066b6da2SSascha Wildner {"PNP0D40", "SDA Standard Compliant SD Host Controller"}, 182d4972a9cSSascha Wildner {"PNP0D80", "Windows-compatible System Power Management Controller"}, 183d4972a9cSSascha Wildner {"PNP0F03", "Microsoft PS/2-style Mouse"}, 184d4972a9cSSascha Wildner {"SMO91D0", "Sensor Hub"}, 185d4972a9cSSascha Wildner 186d4972a9cSSascha Wildner {NULL, NULL} 187d4972a9cSSascha Wildner }; 188d4972a9cSSascha Wildner 189d4972a9cSSascha Wildner 190d4972a9cSSascha Wildner /******************************************************************************* 191d4972a9cSSascha Wildner * 192d4972a9cSSascha Wildner * FUNCTION: AcpiAhMatchHardwareId 193d4972a9cSSascha Wildner * 194d4972a9cSSascha Wildner * PARAMETERS: HardwareId - String representation of an _HID or _CID 195d4972a9cSSascha Wildner * 196d4972a9cSSascha Wildner * RETURN: ID info struct. NULL if HardwareId is not found 197d4972a9cSSascha Wildner * 198d4972a9cSSascha Wildner * DESCRIPTION: Lookup an _HID/_CID in the device ID table 199d4972a9cSSascha Wildner * 200d4972a9cSSascha Wildner ******************************************************************************/ 201d4972a9cSSascha Wildner 202d4972a9cSSascha Wildner const AH_DEVICE_ID * 203d4972a9cSSascha Wildner AcpiAhMatchHardwareId ( 204d4972a9cSSascha Wildner char *HardwareId) 205d4972a9cSSascha Wildner { 206d4972a9cSSascha Wildner const AH_DEVICE_ID *Info; 207d4972a9cSSascha Wildner 208d4972a9cSSascha Wildner 209d4972a9cSSascha Wildner for (Info = AslDeviceIds; Info->Name; Info++) 210d4972a9cSSascha Wildner { 211d4972a9cSSascha Wildner if (!ACPI_STRCMP (HardwareId, Info->Name)) 212d4972a9cSSascha Wildner { 213d4972a9cSSascha Wildner return (Info); 214d4972a9cSSascha Wildner } 215d4972a9cSSascha Wildner } 216d4972a9cSSascha Wildner 217d4972a9cSSascha Wildner return (NULL); 218d4972a9cSSascha Wildner } 219