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