1 /*        $NetBSD: isapnpdevs.c,v 1.72 2015/11/19 19:16:28 christos Exp $       */
2 
3 /*
4  * THIS FILE IS AUTOMATICALLY GENERATED.  DO NOT EDIT.
5  *
6  * generated from:
7  *        NetBSD: isapnpdevs,v 1.69 2015/11/19 19:16:10 christos Exp
8  */
9 
10 /*-
11  * Copyright (c) 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc.
12  * All rights reserved.
13  *
14  * This code is derived from software contributed to The NetBSD Foundation
15  * by Christos Zoulas.
16  *
17  * Redistribution and use in source and binary forms, with or without
18  * modification, are permitted provided that the following conditions
19  * are met:
20  * 1. Redistributions of source code must retain the above copyright
21  *    notice, this list of conditions and the following disclaimer.
22  * 2. Redistributions in binary form must reproduce the above copyright
23  *    notice, this list of conditions and the following disclaimer in the
24  *    documentation and/or other materials provided with the distribution.
25  *
26  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
27  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
28  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
30  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
31  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
32  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
35  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36  * POSSIBILITY OF SUCH DAMAGE.
37  */
38 
39 #include <sys/cdefs.h>
40 __KERNEL_RCSID(0, "$NetBSD: isapnpdevs.c,v 1.72 2015/11/19 19:16:28 christos Exp $");
41 
42 #include <sys/param.h>
43 #include <dev/isapnp/isapnpdevs.h>
44 
45 
46 /* Adaptec SCSI */
47 static const struct isapnp_matchinfo isapnp_aha_devlogic[] = {
48           {"ADP1542", 0},     /* Adaptec AHA-1542CP */
49 };
50 static const struct isapnp_matchinfo isapnp_aha_devcompat[] = {
51           {"PNP00A0", 0},     /* Adaptec AHA-1542CP */
52 };
53 const struct isapnp_devinfo isapnp_aha_devinfo = {
54           isapnp_aha_devlogic, 1,
55           isapnp_aha_devcompat, 1,
56 };
57 
58 /* Adaptec SCSI */
59 static const struct isapnp_matchinfo isapnp_aic_devlogic[] = {
60           {"ADP1520", 0},     /* Adaptec AHA-1520B */
61           {"ADP1502", 0},     /* Adaptec AHA-1502P */
62           {"ADP1505", 0},     /* Adaptec AVA-1505A */
63 };
64 static const struct isapnp_matchinfo isapnp_aic_devcompat[] = {
65           {"ADP1530", 0},     /* (Adaptec AVA-1505A) */
66 };
67 const struct isapnp_devinfo isapnp_aic_devinfo = {
68           isapnp_aic_devlogic, 3,
69           isapnp_aic_devcompat, 1,
70 };
71 
72 /* Aironet 802.11 */
73 static const struct isapnp_matchinfo isapnp_an_devlogic[] = {
74           {"AOL0001", 0},     /* Aironet 4500/4800 */
75 };
76 const struct isapnp_devinfo isapnp_an_devinfo = {
77           isapnp_an_devlogic, 1,
78           NULL, 0,
79 };
80 
81 /* AT Parallel Port */
82 static const struct isapnp_matchinfo isapnp_atppc_devlogic[] = {
83           {"PNP0400", 0},     /* Generic AT Parallel Port */
84           {"PNP0401", 0},     /* Generic ECP Prallel Port */
85 };
86 const struct isapnp_devinfo isapnp_atppc_devinfo = {
87           isapnp_atppc_devlogic, 2,
88           NULL, 0,
89 };
90 
91 /* National Semiconductor Serial */
92 static const struct isapnp_matchinfo isapnp_com_devlogic[] = {
93           {"AZT4001", 0},     /* Aztech Modem */
94           {"BDP3336", 0},     /* Best Data Prods. 336F */
95           {"OZO8039", 0},     /* Zoom 56k flex */
96           {"BRI1400", 0},     /* Boca 33.6 PnP */
97           {"BRIB400", 0},     /* Boca 56k PnP */
98           {"DAV0336", 0},     /* Davicom 33.6 PnP */
99           {"ROK0010", 0},     /* Rockwell ? */
100           {"ROK3360", 0},     /* Rockwell 33.6k PnP */
101           {"USR0004", 0},     /* USR Sportster 14.4k */
102           {"USR0006", 0},     /* USR Sportster 33.6k */
103           {"USR0009", 0},     /* USR Courier V.Everything */
104           {"USR2070", 0},     /* USR Sportster 56k */
105           {"USR3031", 0},     /* USR 56k Faxmodem */
106           {"USR3090", 0},     /* USR 56K Voice INT */
107           {"USR9190", 0},     /* USR 56k Voice INT */
108           {"ZTIF761", 0},     /* Zoom ComStar 33.6 */
109           {"CIR3000", 0},     /* Cirrus Logic V43 */
110           {"MOT0000", 0},     /* Motorola ModemSurfr */
111           {"SMM00C1", 0},     /* Leopard 56k PnP */
112           {"SUP1650", 0},     /* Supra 336i Sp Intl */
113           {"SUP2480", 0},     /* SupraExpress 56i Sp V.90 */
114           {"SUP2720", 0},     /* DIAMOND SupraExpress 56I SP V.90 */
115           {"GVC0505", 0},     /* GVC 56k Faxmodem */
116           {"GVC000F", 0},     /* GVC 33.6k Faxmodem */
117           {"IOD0081", 0},     /* I-O DATA IFML-560 */
118 };
119 static const struct isapnp_matchinfo isapnp_com_devcompat[] = {
120           {"PNP0500", 0},     /* Generic 8250/16450 */
121           {"PNP0501", 0},     /* Generic 16550A */
122 };
123 const struct isapnp_devinfo isapnp_com_devinfo = {
124           isapnp_com_devlogic, 25,
125           isapnp_com_devcompat, 2,
126 };
127 
128 /* Cirrus Logic Crystal CS89x0 Ethernet */
129 static const struct isapnp_matchinfo isapnp_cs_devlogic[] = {
130           {"IBM1010", 0},     /* IBM EtherJet ISA */
131 };
132 const struct isapnp_devinfo isapnp_cs_devinfo = {
133           isapnp_cs_devlogic, 1,
134           NULL, 0,
135 };
136 
137 /* 3Com 3CXXX Ethernet */
138 static const struct isapnp_matchinfo isapnp_ep_devlogic[] = {
139           {"TCM5051", 0},     /* 3Com 3c515 */
140           {"TCM5090", 0},     /* 3Com 3c509B */
141           {"TCM5091", 0},     /* 3Com 3c509B-1 */
142           {"TCM5094", 0},     /* 3Com 3c509B-4 */
143           {"TCM5095", 0},     /* 3Com 3c509B-5 */
144           {"TCM5098", 0},     /* 3Com 3c509B-8 */
145           {"FAR0002", 0},     /* Farallon EtherWave ISA */
146 };
147 static const struct isapnp_matchinfo isapnp_ep_devcompat[] = {
148           {"PNP80F8", 0},     /* Farallon EtherWave ISA */
149 };
150 const struct isapnp_devinfo isapnp_ep_devinfo = {
151           isapnp_ep_devlogic, 7,
152           isapnp_ep_devcompat, 1,
153 };
154 
155 /* Symbios SYM53C416 SCSI */
156 static const struct isapnp_matchinfo isapnp_esp_devlogic[] = {
157           {"SLI4163", 0},     /* Symbios SYM53C416 */
158 };
159 const struct isapnp_devinfo isapnp_esp_devinfo = {
160           isapnp_esp_devlogic, 1,
161           NULL, 0,
162 };
163 
164 /* ESS Audio Drive */
165 static const struct isapnp_matchinfo isapnp_ess_devlogic[] = {
166           {"ESS1868", 0},     /* ESS1868 */
167           {"ESS1869", 0},     /* ESS1869 */
168           {"ESS1878", 0},     /* ESS1878 */
169           {"ESS1879", 0},     /* ESS1879 */
170 };
171 const struct isapnp_devinfo isapnp_ess_devinfo = {
172           isapnp_ess_devlogic, 4,
173           NULL, 0,
174 };
175 
176 /* Fujitsu FMV-18x Ethernet */
177 static const struct isapnp_matchinfo isapnp_fmv_devlogic[] = {
178           {"FUJ01C1", 0},     /* Fujitsu FMV-183 */
179           {"FUJ01D1", 0},     /* Fujitsu FMV-184 */
180 };
181 const struct isapnp_devinfo isapnp_fmv_devinfo = {
182           isapnp_fmv_devlogic, 2,
183           NULL, 0,
184 };
185 
186 /* Generic Joystick */
187 static const struct isapnp_matchinfo isapnp_joy_devlogic[] = {
188           {"AZT0003", 0},     /* Aztech AZT2320 GAME PORT */
189           {"AZT3001", 0},     /* Aztech GAME PORT */
190           {"AZT3004", 0},     /* Aztech AZT1020 GAME PORT */
191           {"CSC0001", 0},     /* CS4235 */
192           {"CSCA801", 0},     /* Terratec EWS64XL */
193           {"CTL7001", 0},     /* Creative Awe64 */
194           {"CTL7002", 0},     /* Creative Vibra16CL */
195           {"ESS0001", 0},     /* ESS1868 */
196           {"ESS0005", 0},     /* ESS1878 */
197           {"OPT0001", 0},     /* OPTi Audio 16 */
198           {"PNPB02F", 0},     /* XXX broken GUS PnP */
199           {"ASB16FD", 0},     /* AdLib NSC 16 PNP */
200 };
201 static const struct isapnp_matchinfo isapnp_joy_devcompat[] = {
202           {"PNPB02F", 0},     /* generic */
203 };
204 const struct isapnp_devinfo isapnp_joy_devinfo = {
205           isapnp_joy_devlogic, 12,
206           isapnp_joy_devcompat, 1,
207 };
208 
209 /* Gravis Ultrasound */
210 static const struct isapnp_matchinfo isapnp_gus_devlogic[] = {
211           {"GRV0000", 0},     /* Gravis Ultrasound */
212           {"GRV0003", 0},     /* SB Compatible Audio */
213           {"GRV0004", 0},     /* MPU-401 GM Music */
214           {"GRV0011", 0},     /* ATAPI IDE CD-ROM Interface */
215 };
216 const struct isapnp_devinfo isapnp_gus_devinfo = {
217           isapnp_gus_devlogic, 4,
218           NULL, 0,
219 };
220 
221 /* Lance Ethernet */
222 static const struct isapnp_matchinfo isapnp_le_devlogic[] = {
223           {"TKN0010", 0},     /* Lance Ethernet on TEKNOR board */
224           {"ATK1500", 0},     /* Lance Ethernet on Allied Telesyn board */
225           {"CSI2203", 0},     /* Cabletron E22xx */
226           {"BUF0001", 0},     /* Melco Inc. LGY-IV */
227           {"SKD8000", 0},     /* SysKonnect SK-NET Flash */
228 };
229 const struct isapnp_devinfo isapnp_le_devinfo = {
230           isapnp_le_devlogic, 5,
231           NULL, 0,
232 };
233 
234 /* MPU-401 MIDI UART */
235 static const struct isapnp_matchinfo isapnp_mpu_devlogic[] = {
236           {"AZT0002", 0},     /* Aztech AZT2320 MPU401 MIDI */
237           {"AZT2001", 0},     /* Aztech MPU401 MIDI */
238           {"AZT2004", 0},     /* Aztech AZT1020 MPU401 MIDI */
239           {"CSC0003", 0},     /* CS4235 MPU401 MIDI */
240 };
241 static const struct isapnp_matchinfo isapnp_mpu_devcompat[] = {
242           {"PNPB006", 0},     /* MPU401 compatible MIDI UART */
243 };
244 const struct isapnp_devinfo isapnp_mpu_devinfo = {
245           isapnp_mpu_devlogic, 4,
246           isapnp_mpu_devcompat, 1,
247 };
248 
249 /* NE2000 Ethernet */
250 static const struct isapnp_matchinfo isapnp_ne_devlogic[] = {
251           {"@@@1980", 0},     /* OvisLink LE-8019R */
252 };
253 static const struct isapnp_matchinfo isapnp_ne_devcompat[] = {
254           {"PNP80D6", 0},     /* Digital DE305 ISAPnP */
255 };
256 const struct isapnp_devinfo isapnp_ne_devinfo = {
257           isapnp_ne_devlogic, 1,
258           isapnp_ne_devcompat, 1,
259 };
260 
261 /* PCMCIA bridge */
262 static const struct isapnp_matchinfo isapnp_pcic_devlogic[] = {
263           {"SCM0469", 0},     /* SCM SwapBox Plug and Play */
264           {"AEI0218", 0},     /* Actiontec PnP PCMCIA Adapter */
265 };
266 static const struct isapnp_matchinfo isapnp_pcic_devcompat[] = {
267           {"PNP0E00", 0},     /* PCIC Compatible PCMCIA Bridge */
268 };
269 const struct isapnp_devinfo isapnp_pcic_devinfo = {
270           isapnp_pcic_devlogic, 2,
271           isapnp_pcic_devcompat, 1,
272 };
273 
274 /* Creative Soundblaster */
275 static const struct isapnp_matchinfo isapnp_sb_devlogic[] = {
276           {"ADS7150", 0},     /* AD1815 */
277           {"ADS7180", 0},     /* AD1816 */
278           {"AZT1002", 0},     /* Aztech 1002 Audio */
279           {"AZT1003", 0},     /* Aztech 1003 Audio */
280           {"AZT1008", 0},     /* Aztech 1008 */
281           {"AZT1016", 0},     /* Aztech 1020 */
282           {"CTL0001", 0},     /* SB */
283           {"CTL0031", 0},     /* SB AWE32 */
284           {"CTL0041", 0},     /* SB16 PnP (CT4131) */
285           {"CTL0042", 0},     /* SB AWE64 Value */
286           {"CTL0043", 0},     /* SB16 PnP (CT4170) */
287           {"CTL0044", 0},     /* SB AWE64 Gold */
288           {"CTL0045", 0},     /* SB AWE64 Value */
289           {"OPT9250", 0},     /* Televideo card, Opti */
290           {"@X@0001", 0},     /* CMI8330. Audio Adapter */
291           {"@@@1001", 0},     /* Avance Logic ALS100+ */
292           {"@@@2001", 0},     /* Avance Logic ALS120 */
293 };
294 static const struct isapnp_matchinfo isapnp_sb_devcompat[] = {
295           {"PNPB000", 0},     /* Generic SB 1.5 */
296           {"PNPB001", 0},     /* Generic SB 2.0 */
297           {"PNPB002", 0},     /* Generic SB Pro */
298           {"PNPB003", 0},     /* Generic SB 16 */
299 };
300 const struct isapnp_devinfo isapnp_sb_devinfo = {
301           isapnp_sb_devlogic, 17,
302           isapnp_sb_devcompat, 4,
303 };
304 
305 /* TROPIC Token-Ring */
306 static const struct isapnp_matchinfo isapnp_tr_devlogic[] = {
307           {"IBM0000", 0},     /* IBM TROPIC Token-Ring */
308           {"TCM3190", 0},     /* 3Com TokenLink Velocity ISA */
309 };
310 const struct isapnp_devinfo isapnp_tr_devinfo = {
311           isapnp_tr_devlogic, 2,
312           NULL, 0,
313 };
314 
315 /* Western Digital Disk Controller */
316 static const struct isapnp_matchinfo isapnp_wdc_devlogic[] = {
317           {"AZT0000", 0},     /* Aztech AZT2320 IDE CDROM */
318           {"AZT0500", 0},     /* Aztech IDE CDROM */
319           {"OPT0007", 0},     /* OPTi Audio 16 IDE controller */
320           {"ESS0002", 0},     /* ES1868 IDE Controller */
321 };
322 static const struct isapnp_matchinfo isapnp_wdc_devcompat[] = {
323           {"PNP0600", 0},     /* Western Digital Compatible Controller */
324 };
325 const struct isapnp_devinfo isapnp_wdc_devinfo = {
326           isapnp_wdc_devlogic, 4,
327           isapnp_wdc_devcompat, 1,
328 };
329 
330 /* Microsoft Sound System */
331 static const struct isapnp_matchinfo isapnp_wss_devlogic[] = {
332           {"AZT0001", 1},     /* Aztech AZT2320 AUDIO */
333           {"CSC0000", 0},     /* Windows Sound System */
334           {"CSC0100", 0},     /* CS4235 CODEC */
335           {"CSCA800", 0},     /* Terratec EWS64 CoDec */
336           {"ASB1611", 0},     /* AdLib NSC 16 PNP */
337           {"ASB1622", 0},     /* AdLib MSC 32 Wave PnP V3SB */
338           {"@@@0001", 0},     /* CMI8330/C3D Audio Adapter */
339 };
340 const struct isapnp_devinfo isapnp_wss_devinfo = {
341           isapnp_wss_devlogic, 7,
342           NULL, 0,
343 };
344 
345 /* Yamaha Sound */
346 static const struct isapnp_matchinfo isapnp_ym_devlogic[] = {
347           {"YMH0021", 0},     /* OPL3-SA2, OPL3-SA3 */
348 };
349 const struct isapnp_devinfo isapnp_ym_devinfo = {
350           isapnp_ym_devlogic, 1,
351           NULL, 0,
352 };
353 
354