diff --git a/sys/dev/acpi/Makefile.acpidevs b/sys/dev/acpi/Makefile.acpidevs new file mode 100644 index 000000000000..3f985d6d6bbf --- /dev/null +++ b/sys/dev/acpi/Makefile.acpidevs @@ -0,0 +1,15 @@ +# $NetBSD: Makefile.acpidevs,v 1.1 2003/01/05 22:33:53 christos Exp $ +# +# As per tron@netbsd.org, the proper procedure is +# +# 1.) Change "src/sys/dev/acpi/acpidevs". +# 2.) Commit "src/sys/dev/acpi/acpidevs". +# 3.) Execute "make -f Makefile.acpidevs" in "src/sys/dev/acpi". +# 4.) Commit "src/sys/dev/acpi/acpidevs_data.h". + + +AWK= awk + +acpidevs_data.h: acpidevs devlist2h.awk + /bin/rm -f acpidevs_data.h + ${AWK} -F' ' -f devlist2h.awk acpidevs diff --git a/sys/dev/acpi/acpidevs b/sys/dev/acpi/acpidevs new file mode 100644 index 000000000000..0e254cfc4e02 --- /dev/null +++ b/sys/dev/acpi/acpidevs @@ -0,0 +1,335 @@ +# $NetBSD: acpidevs,v 1.1 2003/01/05 22:33:54 christos Exp $ +# +# ***** System Devices - PNP0xxx ************************** +# --Interrupt Controllers-- +PNP0000 AT Interrupt Controller +PNP0001 EISA Interrupt Controller +PNP0002 MCA Interrupt Controller +PNP0003 APIC +PNP0004 Cyrix SLiC MP interrupt controller +# --Timers-- +PNP0100 AT Timer +PNP0101 EISA Timer +PNP0102 MCA Timer +# --DMA-- +PNP0200 AT DMA Controller +PNP0201 EISA DMA Controller +PNP0202 MCA DMA Controller +# --Keyboards-- +PNP0300 IBM PC/XT keyboard controller (83-key) +PNP0301 IBM PC/AT keyboard controller (86-key) +PNP0302 IBM PC/XT keyboard controller (84-key) +PNP0303 IBM Enhanced (101/102-key, PS/2 mouse support) +PNP0304 Olivetti Keyboard (83-key) +PNP0305 Olivetti Keyboard (102-key) +PNP0306 Olivetti Keyboard (86-key) +PNP0307 Microsoft Windows(R) Keyboard +PNP0308 General Input Device Emulation Interface (GIDEI) legacy +PNP0309 Olivetti Keyboard (A101/102 key) +PNP030A AT&T 302 keyboard +PNP030B Reserved by Microsoft +PNP0320 Japanese 106-key keyboard A01 +PNP0321 Japanese 101-key keyboard +PNP0322 Japanese AX keyboard +PNP0323 Japanese 106-key keyboard 002/003 +PNP0324 Japanese 106-key keyboard 001 +PNP0325 Japanese Toshiba Desktop keyboard +PNP0326 Japanese Toshiba Laptop keyboard +PNP0327 Japanese Toshiba Notebook keyboard +PNP0340 Korean 84-key keyboard +PNP0341 Korean 86-key keyboard +PNP0342 Korean Enhanced keyboard +PNP0343 Korean Enhanced keyboard 101b +PNP0343 Korean Enhanced keyboard 101c +PNP0344 Korean Enhanced keyboard 103 +# --Parallel Devices-- +PNP0400 Standard LPT printer port +PNP0401 ECP printer port +# --Serial Devices-- +PNP0500 Standard PC COM port +PNP0501 16550A-compatible COM port +PNP0502 Multiport serial device (non-intelligent 16550) +PNP0510 Generic IRDA-compatible device +PNP0511 Generic IRDA-compatible device +# --Disk Controllers-- +PNP0600 Generic ESDI/IDE/ATA compatible hard disk controller +PNP0601 Plus Hardcard II +PNP0602 Plus Hardcard IIXL/EZ +PNP0603 Generic IDE supporting Microsoft Device Bay Specification +PNP0700 PC standard floppy disk controller +PNP0701 Standard floppy controller supporting MS Device Bay Spec +# --Compatibility with early device ID list-- +PNP0802 Microsoft Sound System compatible device +# --Display Adapters-- +PNP0900 VGA Compatible +PNP0901 Video Seven VRAM/VRAM II/1024i +PNP0902 8514/A Compatible +PNP0903 Trident VGA +PNP0904 Cirrus Logic Laptop VGA +PNP0905 Cirrus Logic VGA +PNP0906 Tseng ET4000 +PNP0907 Western Digital VGA +PNP0908 Western Digital Laptop VGA +PNP0909 S3 Inc. 911/924 +PNP090A ATI Ultra Pro/Plus (Mach 32) +PNP090B ATI Ultra (Mach 8) +PNP090C XGA Compatible +PNP090D ATI VGA Wonder +PNP090E Weitek P9000 Graphics Adapter +PNP090F Oak Technology VGA +PNP0910 Compaq QVision +PNP0911 XGA/2 +PNP0912 Tseng Labs W32/W32i/W32p +PNP0913 S3 Inc. 801/928/964 +PNP0914 Cirrus Logic 5429/5434 (memory mapped) +PNP0915 Compaq Advanced VGA (AVGA) +PNP0916 ATI Ultra Pro Turbo (Mach64) +PNP0917 Reserved by Microsoft +PNP0918 Matrox MGA +PNP0919 Compaq QVision 2000 +PNP091A Tseng W128 +PNP0930 Chips & Technologies Super VGA +PNP0931 Chips & Technologies Accelerator +PNP0940 NCR 77c22e Super VGA +PNP0941 NCR 77c32blt +PNP09FF Plug and Play Monitors (VESA DDC) + +--Peripheral Buses-- +PNP0A00 ISA Bus +PNP0A01 EISA Bus +PNP0A02 MCA Bus +PNP0A03 PCI Bus +PNP0A04 VESA/VL Bus +PNP0A05 Generic ACPI Bus +PNP0A06 Generic ACPI Extended-IO Bus (EIO bus) +#-- Real Time Clock, BIOS, System board devices-- +PNP0800 AT-style speaker sound +PNP0B00 AT Real-Time Clock +PNP0C00 Plug and Play BIOS (only created by the root enumerator) +PNP0C01 System Board +PNP0C02 Plug and Play motherboard register resources +PNP0C03 Plug and Play BIOS Event Notification Interrupt +PNP0C04 Math Coprocessor +PNP0C05 APM BIOS (Version independent) +PNP0C06 Reserved for identification of early Plug and Play BIOS implementation +PNP0C07 Reserved for identification of early Plug and Play BIOS implementation +PNP0C08 ACPI system board hardware +PNP0C09 ACPI Embedded Controller +PNP0C0A ACPI Control Method Battery +PNP0C0B ACPI Fan +PNP0C0C ACPI power button device +PNP0C0D ACPI lid device +PNP0C0E ACPI sleep button device +PNP0C0F PCI interrupt link device +PNP0C10 ACPI system indicator device +PNP0C11 ACPI thermal zone +PNP0C12 Device Bay Controller +PNP0C13 Plug and Play BIOS (used when ACPI mode cannot be used) +#--PCMCIA Controller Chipsets-- +PNP0E00 Intel 82365-Compatible PCMCIA Controller +PNP0E01 Cirrus Logic CL-PD6720 PCMCIA Controller +PNP0E02 VLSI VL82C146 PCMCIA Controller +PNP0E03 Intel 82365-compatible CardBus controller +#--Mice-- +PNP0F00 Microsoft Bus Mouse +PNP0F01 Microsoft Serial Mouse +PNP0F02 Microsoft InPort Mouse +PNP0F03 Microsoft PS/2-style Mouse +PNP0F04 Mouse Systems Mouse +PNP0F05 Mouse Systems 3-Button Mouse (COM2) +PNP0F06 Genius Mouse (COM1) +PNP0F07 Genius Mouse (COM2) +PNP0F08 Logitech Serial Mouse +PNP0F09 Microsoft BallPoint Serial Mouse +PNP0F0A Microsoft Plug and Play Mouse +PNP0F0B Microsoft Plug and Play BallPoint Mouse +PNP0F0C Microsoft-compatible Serial Mouse +PNP0F0D Microsoft-compatible InPort-compatible Mouse +PNP0F0E Microsoft-compatible PS/2-style Mouse +PNP0F0F Microsoft-compatible Serial BallPoint-compatible Mouse +PNP0F10 Texas Instruments QuickPort Mouse +PNP0F11 Microsoft-compatible Bus Mouse +PNP0F12 Logitech PS/2-style Mouse +PNP0F13 PS/2 Port for PS/2-style Mice +PNP0F14 Microsoft Kids Mouse +PNP0F15 Logitech bus mouse +PNP0F16 Logitech SWIFT device +PNP0F17 Logitech-compatible serial mouse +PNP0F18 Logitech-compatible bus mouse +PNP0F19 Logitech-compatible PS/2-style Mouse +PNP0F1A Logitech-compatible SWIFT Device +PNP0F1B HP Omnibook Mouse +PNP0F1C Compaq LTE Trackball PS/2-style Mouse +PNP0F1D Compaq LTE Trackball Serial Mouse +PNP0F1E Microsoft Kids Trackball Mouse +PNP0F1F Reserved by Microsoft Input Device Group +PNP0F20 Reserved by Microsoft Input Device Group +PNP0F21 Reserved by Microsoft Input Device Group +PNP0F22 Reserved by Microsoft Input Device Group +PNP0F23 Reserved by Microsoft Input Device Group +PNP0FFF Reserved by Microsoft Systems +# ***** Network Adapters - PNP8xxx *********************** +PNP8001 Novell/Anthem NE3200 +PNP8004 Compaq NE3200 +PNP8006 Intel EtherExpress/32 +PNP8008 HP EtherTwist EISA LAN Adapter/32 (HP27248A) +PNP8065 Ungermann-Bass NIUps or NIUps/EOTP +PNP8072 DEC (DE211) EtherWorks MC/TP +PNP8073 DEC (DE212) EtherWorks MC/TP_BNC +PNP8078 DCA 10 Mb MCA +PNP8074 HP MC LAN Adapter/16 TP (PC27246) +PNP80c9 IBM Token Ring +PNP80ca IBM Token Ring II +PNP80cb IBM Token Ring II/Short +PNP80cc IBM Token Ring 4/16Mbs +PNP80d3 Novell/Anthem NE1000 +PNP80d4 Novell/Anthem NE2000 +PNP80d5 NE1000 Compatible +PNP80d6 NE2000 Compatible +PNP80d7 Novell/Anthem NE1500T +PNP80d8 Novell/Anthem NE2100 +PNP80dd SMC ARCNETPC +PNP80de SMC ARCNET PC100, PC200 +PNP80df SMC ARCNET PC110, PC210, PC250 +PNP80e0 SMC ARCNET PC130/E +PNP80e1 SMC ARCNET PC120, PC220, PC260 +PNP80e2 SMC ARCNET PC270/E +PNP80e5 SMC ARCNET PC600W, PC650W +PNP80e7 DEC DEPCA +PNP80e8 DEC (DE100) EtherWorks LC +PNP80e9 DEC (DE200) EtherWorks Turbo +PNP80ea DEC (DE101) EtherWorks LC/TP +PNP80eb DEC (DE201) EtherWorks Turbo/TP +PNP80ec DEC (DE202) EtherWorks Turbo/TP_BNC +PNP80ed DEC (DE102) EtherWorks LC/TP_BNC +PNP80ee DEC EE101 (Built-In) +PNP80ef DECpc 433 WS (Built-In) +PNP80f1 3Com EtherLink Plus +PNP80f3 3Com EtherLink II or IITP (8 or 16-bit) +PNP80f4 3Com TokenLink +PNP80f6 3Com EtherLink 16 +PNP80f7 3Com EtherLink III +PNP80f8 3Com Generic Etherlink Plug and Play Device +PNP80fb Thomas Conrad TC6045 +PNP80fc Thomas Conrad TC6042 +PNP80fd Thomas Conrad TC6142 +PNP80fe Thomas Conrad TC6145 +PNP80ff Thomas Conrad TC6242 +PNP8100 Thomas Conrad TC6245 +PNP8105 DCA 10 MB +PNP8106 DCA 10 MB Fiber Optic +PNP8107 DCA 10 MB Twisted Pair +PNP8113 Racal NI6510 +PNP811C Ungermann-Bass NIUpc +PNP8120 Ungermann-Bass NIUpc/EOTP +PNP8123 SMC StarCard PLUS (WD/8003S) +PNP8124 SMC StarCard PLUS With On Board Hub (WD/8003SH) +PNP8125 SMC EtherCard PLUS (WD/8003E) +PNP8126 SMC EtherCard PLUS With Boot ROM Socket (WD/8003EBT) +PNP8127 SMC EtherCard PLUS With Boot ROM Socket (WD/8003EB) +PNP8128 SMC EtherCard PLUS TP (WD/8003WT) +PNP812a SMC EtherCard PLUS 16 With Boot ROM Socket (WD/8013EBT) +PNP812d Intel EtherExpress 16 or 16TP +PNP812f Intel TokenExpress 16/4 +PNP8130 Intel TokenExpress MCA 16/4 +PNP8132 Intel EtherExpress 16 (MCA) +PNP8137 Artisoft AE-1 +PNP8138 Artisoft AE-2 or AE-3 +PNP8141 Amplicard AC 210/XT +PNP8142 Amplicard AC 210/AT +PNP814b Everex SpeedLink /PC16 (EV2027) +PNP8155 HP PC LAN Adapter/8 TP (HP27245) +PNP8156 HP PC LAN Adapter/16 TP (HP27247A) +PNP8157 HP PC LAN Adapter/8 TL (HP27250) +PNP8158 HP PC LAN Adapter/16 TP Plus (HP27247B) +PNP8159 HP PC LAN Adapter/16 TL Plus (HP27252) +PNP815f National Semiconductor Ethernode *16AT +PNP8160 National Semiconductor AT/LANTIC EtherNODE 16-AT3 +PNP816a NCR Token-Ring 4 Mbs ISA +PNP816d NCR Token-Ring 16/4 Mbs ISA +PNP8191 Olicom 16/4 Token-Ring Adapter +PNP81c3 SMC EtherCard PLUS Elite (WD/8003EP) +PNP81c4 SMC EtherCard PLUS 10T (WD/8003W) +PNP81c5 SMC EtherCard PLUS Elite 16 (WD/8013EP) +PNP81c6 SMC EtherCard PLUS Elite 16T (WD/8013W) +PNP81c7 SMC EtherCard PLUS Elite 16 Combo (WD/8013EW or 8013EWC) +PNP81c8 SMC EtherElite Ultra 16 +PNP81e4 Pure Data PDI9025-32 (Token Ring) +PNP81e6 Pure Data PDI508+ (ArcNet) +PNP81e7 Pure Data PDI516+ (ArcNet) +PNP81eb Proteon Token Ring (P1390) +PNP81ec Proteon Token Ring (P1392) +PNP81ed Proteon ISA Token Ring (1340) +PNP81ee Proteon ISA Token Ring (1342) +PNP81ef Proteon ISA Token Ring (1346) +PNP81f0 Proteon ISA Token Ring (1347) +PNP81ff Cabletron E2000 Series DNI +PNP8200 Cabletron E2100 Series DNI +PNP8209 Zenith Data Systems Z-Note +PNP820a Zenith Data Systems NE2000-Compatible +PNP8213 Xircom Pocket Ethernet II +PNP8214 Xircom Pocket Ethernet I +PNP821d RadiSys EXM-10 +PNP8227 SMC 3000 Series +PNP8228 SMC 91C2 controller +PNP8231 Advanced Micro Devices AM2100/AM1500T +PNP8263 Tulip NCC-16 +PNP8277 Exos 105 +PNP828A Intel '595 based Ethernet +PNP828B TI2000-style Token Ring +PNP828C AMD PCNet Family cards +PNP828D AMD PCNet32 (VL version) +PNP8294 IrDA Infrared NDIS driver (Microsoft-supplied) +PNP82bd IBM PCMCIA-NIC +PNP82C2 Xircom CE10 +PNP82C3 Xircom CEM2 +PNP8321 DEC Ethernet (All Types) +PNP8323 SMC EtherCard (All Types except 8013/A) +PNP8324 ARCNET Compatible +PNP8326 Thomas Conrad (All Arcnet Types) +PNP8327 IBM Token Ring (All Types) +PNP8385 Remote Network Access Driver +PNP8387 RNA Point-to-point Protocol Driver +PNP8388 Reserved for Microsoft Networking components +PNP8389 Peer IrLAN infrared driver (Microsoft-supplied) +PNP8390 Generic network adapter +# ***** SCSI, Proprietary CD Adapters - PNPAxxx ********** +PNPA002 Future Domain 16-700 compatible controller +PNPA003 Panasonic proprietary CD-ROM adapter (SBPro/SB16) +PNPA01B Trantor 128 SCSI Controller +PNPA01D Trantor T160 SCSI Controller +PNPA01E Trantor T338 Parallel SCSI controller +PNPA01F Trantor T348 Parallel SCSI controller +PNPA020 Trantor Media Vision SCSI controller +PNPA022 Always IN-2000 SCSI controller +PNPA02B Sony proprietary CD-ROM controller +PNPA02D Trantor T13b 8-bit SCSI controller +PNPA02F Trantor T358 Parallel SCSI controller +PNPA030 Mitsumi LU-005 Single Speed CD-ROM controller + drive +PNPA031 Mitsumi FX-001 Single Speed CD-ROM controller + drive +PNPA032 Mitsumi FX-001 Double Speed CD-ROM controller + drive +# ***** Sound/Video-capture, multimedia - PNPBxxx ******** +PNPB000 Sound Blaster 1.5 sound device +PNPB001 Sound Blaster 2.0 sound device +PNPB002 Sound Blaster Pro sound device +PNPB003 Sound Blaster 16 sound device +PNPB004 Thunderboard-compatible sound device +PNPB005 Adlib-compatible FM synthesizer device +PNPB006 MPU401 compatible +PNPB007 Microsoft Windows Sound System-compatible sound device +PNPB008 Compaq Business Audio +PNPB009 Plug and Play Microsoft Windows Sound System Device +PNPB00A MediaVision Pro Audio Spectrum (Trantor SCSI enabled, Thunder Chip Disabled) +PNPB00B MediaVision Pro Audio 3D +PNPB00C MusicQuest MQX-32M +PNPB00D MediaVision Pro Audio Spectrum Basic (No Trantor SCSI, Thunder Chip Enabled) +PNPB00E MediaVision Pro Audio Spectrum (Trantor SCSI enabled, Thunder Chip Enabled) +PNPB00F MediaVision Jazz-16 chipset (OEM Versions) +PNPB010 Auravision VxP500 chipset - Orchid Videola +PNPB018 MediaVision Pro Audio Spectrum 8-bit +PNPB019 MediaVision Pro Audio Spectrum Basic (no Trantor SCSI, Thunder chip Disabled) +PNPB020 Yamaha OPL3-compatible FM synthesizer device +PNPB02F Joystick/Game port +# ***** Modems - PNPCxxx-Dxxx**************************** +PNPC000 Compaq 14400 Modem (TBD) +PNPC001 Compaq 2400/9600 Modem (TBD) diff --git a/sys/dev/acpi/devlist2h.awk b/sys/dev/acpi/devlist2h.awk new file mode 100644 index 000000000000..b60953c07580 --- /dev/null +++ b/sys/dev/acpi/devlist2h.awk @@ -0,0 +1,76 @@ +#! /usr/bin/awk -f +# $NetBSD: devlist2h.awk,v 1.1 2003/01/05 22:33:55 christos Exp $ +# +# Copyright (c) 1998 The NetBSD Foundation, Inc. +# All rights reserved. +# +# This code is derived from software contributed to The NetBSD Foundation +# by Christos Zoulas. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. All advertising materials mentioning features or use of this software +# must display the following acknowledgement: +# This product includes software developed by the NetBSD +# Foundation, Inc. and its contributors. +# 4. Neither the name of The NetBSD Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +BEGIN { + nproducts = 0 + dfile="acpidevs_data.h" +} +NR == 1 { + VERSION = $0 + gsub("\\$", "", VERSION) + + printf("/*\t\$NetBSD\$\t*/\n\n") > dfile + printf("/*\n") > dfile + printf(" * THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.\n") \ + > dfile + printf(" *\n") > dfile + printf(" * generated from:\n") > dfile + printf(" *\t%s\n", VERSION) > dfile + printf(" */\n") > dfile + nproducts = 0; + + next +} +/^PNP.*/ { + nproducts++ + + products[nproducts, 1] = toupper($1); + products[nproducts, 2] = $2; + next +} +END { + printf("\n") > dfile + + printf("const struct { const char *pnp, *str; } acpi_knowndevs[] = {\n") > dfile + for (i = 1; i <= nproducts; i++) { + printf("\t{\n") > dfile + printf("\t \"%s\",\n", products[i, 1]) > dfile + printf("\t \"%s\",\n", products[i, 2]) > dfile + printf("\t},\n") > dfile + } + printf("};\n") > dfile +}