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 */
47static const struct isapnp_matchinfo isapnp_aha_devlogic[] = {
48	{"ADP1542", 0},	/* Adaptec AHA-1542CP */
49};
50static const struct isapnp_matchinfo isapnp_aha_devcompat[] = {
51	{"PNP00A0", 0},	/* Adaptec AHA-1542CP */
52};
53const struct isapnp_devinfo isapnp_aha_devinfo = {
54	isapnp_aha_devlogic, 1,
55	isapnp_aha_devcompat, 1,
56};
57
58/* Adaptec SCSI */
59static 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};
64static const struct isapnp_matchinfo isapnp_aic_devcompat[] = {
65	{"ADP1530", 0},	/* (Adaptec AVA-1505A) */
66};
67const struct isapnp_devinfo isapnp_aic_devinfo = {
68	isapnp_aic_devlogic, 3,
69	isapnp_aic_devcompat, 1,
70};
71
72/* Aironet 802.11 */
73static const struct isapnp_matchinfo isapnp_an_devlogic[] = {
74	{"AOL0001", 0},	/* Aironet 4500/4800 */
75};
76const struct isapnp_devinfo isapnp_an_devinfo = {
77	isapnp_an_devlogic, 1,
78	NULL, 0,
79};
80
81/* AT Parallel Port */
82static const struct isapnp_matchinfo isapnp_atppc_devlogic[] = {
83	{"PNP0400", 0},	/* Generic AT Parallel Port */
84	{"PNP0401", 0},	/* Generic ECP Prallel Port */
85};
86const struct isapnp_devinfo isapnp_atppc_devinfo = {
87	isapnp_atppc_devlogic, 2,
88	NULL, 0,
89};
90
91/* National Semiconductor Serial */
92static 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};
119static const struct isapnp_matchinfo isapnp_com_devcompat[] = {
120	{"PNP0500", 0},	/* Generic 8250/16450 */
121	{"PNP0501", 0},	/* Generic 16550A */
122};
123const struct isapnp_devinfo isapnp_com_devinfo = {
124	isapnp_com_devlogic, 25,
125	isapnp_com_devcompat, 2,
126};
127
128/* Cirrus Logic Crystal CS89x0 Ethernet */
129static const struct isapnp_matchinfo isapnp_cs_devlogic[] = {
130	{"IBM1010", 0},	/* IBM EtherJet ISA */
131};
132const struct isapnp_devinfo isapnp_cs_devinfo = {
133	isapnp_cs_devlogic, 1,
134	NULL, 0,
135};
136
137/* 3Com 3CXXX Ethernet */
138static 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};
147static const struct isapnp_matchinfo isapnp_ep_devcompat[] = {
148	{"PNP80F8", 0},	/* Farallon EtherWave ISA */
149};
150const struct isapnp_devinfo isapnp_ep_devinfo = {
151	isapnp_ep_devlogic, 7,
152	isapnp_ep_devcompat, 1,
153};
154
155/* Symbios SYM53C416 SCSI */
156static const struct isapnp_matchinfo isapnp_esp_devlogic[] = {
157	{"SLI4163", 0},	/* Symbios SYM53C416 */
158};
159const struct isapnp_devinfo isapnp_esp_devinfo = {
160	isapnp_esp_devlogic, 1,
161	NULL, 0,
162};
163
164/* ESS Audio Drive */
165static const struct isapnp_matchinfo isapnp_ess_devlogic[] = {
166	{"ESS1868", 0},	/* ESS1868 */
167	{"ESS1869", 0},	/* ESS1869 */
168	{"ESS1878", 0},	/* ESS1878 */
169	{"ESS1879", 0},	/* ESS1879 */
170};
171const struct isapnp_devinfo isapnp_ess_devinfo = {
172	isapnp_ess_devlogic, 4,
173	NULL, 0,
174};
175
176/* Fujitsu FMV-18x Ethernet */
177static const struct isapnp_matchinfo isapnp_fmv_devlogic[] = {
178	{"FUJ01C1", 0},	/* Fujitsu FMV-183 */
179	{"FUJ01D1", 0},	/* Fujitsu FMV-184 */
180};
181const struct isapnp_devinfo isapnp_fmv_devinfo = {
182	isapnp_fmv_devlogic, 2,
183	NULL, 0,
184};
185
186/* Generic Joystick */
187static 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};
201static const struct isapnp_matchinfo isapnp_joy_devcompat[] = {
202	{"PNPB02F", 0},	/* generic */
203};
204const struct isapnp_devinfo isapnp_joy_devinfo = {
205	isapnp_joy_devlogic, 12,
206	isapnp_joy_devcompat, 1,
207};
208
209/* Gravis Ultrasound */
210static 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};
216const struct isapnp_devinfo isapnp_gus_devinfo = {
217	isapnp_gus_devlogic, 4,
218	NULL, 0,
219};
220
221/* Lance Ethernet */
222static 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};
229const struct isapnp_devinfo isapnp_le_devinfo = {
230	isapnp_le_devlogic, 5,
231	NULL, 0,
232};
233
234/* MPU-401 MIDI UART */
235static 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};
241static const struct isapnp_matchinfo isapnp_mpu_devcompat[] = {
242	{"PNPB006", 0},	/* MPU401 compatible MIDI UART */
243};
244const struct isapnp_devinfo isapnp_mpu_devinfo = {
245	isapnp_mpu_devlogic, 4,
246	isapnp_mpu_devcompat, 1,
247};
248
249/* NE2000 Ethernet */
250static const struct isapnp_matchinfo isapnp_ne_devlogic[] = {
251	{"@@@1980", 0},	/* OvisLink LE-8019R */
252};
253static const struct isapnp_matchinfo isapnp_ne_devcompat[] = {
254	{"PNP80D6", 0},	/* Digital DE305 ISAPnP */
255};
256const struct isapnp_devinfo isapnp_ne_devinfo = {
257	isapnp_ne_devlogic, 1,
258	isapnp_ne_devcompat, 1,
259};
260
261/* PCMCIA bridge */
262static const struct isapnp_matchinfo isapnp_pcic_devlogic[] = {
263	{"SCM0469", 0},	/* SCM SwapBox Plug and Play */
264	{"AEI0218", 0},	/* Actiontec PnP PCMCIA Adapter */
265};
266static const struct isapnp_matchinfo isapnp_pcic_devcompat[] = {
267	{"PNP0E00", 0},	/* PCIC Compatible PCMCIA Bridge */
268};
269const struct isapnp_devinfo isapnp_pcic_devinfo = {
270	isapnp_pcic_devlogic, 2,
271	isapnp_pcic_devcompat, 1,
272};
273
274/* Creative Soundblaster */
275static 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};
294static 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};
300const struct isapnp_devinfo isapnp_sb_devinfo = {
301	isapnp_sb_devlogic, 17,
302	isapnp_sb_devcompat, 4,
303};
304
305/* TROPIC Token-Ring */
306static const struct isapnp_matchinfo isapnp_tr_devlogic[] = {
307	{"IBM0000", 0},	/* IBM TROPIC Token-Ring */
308	{"TCM3190", 0},	/* 3Com TokenLink Velocity ISA */
309};
310const struct isapnp_devinfo isapnp_tr_devinfo = {
311	isapnp_tr_devlogic, 2,
312	NULL, 0,
313};
314
315/* Western Digital Disk Controller */
316static 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};
322static const struct isapnp_matchinfo isapnp_wdc_devcompat[] = {
323	{"PNP0600", 0},	/* Western Digital Compatible Controller */
324};
325const struct isapnp_devinfo isapnp_wdc_devinfo = {
326	isapnp_wdc_devlogic, 4,
327	isapnp_wdc_devcompat, 1,
328};
329
330/* Microsoft Sound System */
331static 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};
340const struct isapnp_devinfo isapnp_wss_devinfo = {
341	isapnp_wss_devlogic, 7,
342	NULL, 0,
343};
344
345/* Yamaha Sound */
346static const struct isapnp_matchinfo isapnp_ym_devlogic[] = {
347	{"YMH0021", 0},	/* OPL3-SA2, OPL3-SA3 */
348};
349const struct isapnp_devinfo isapnp_ym_devinfo = {
350	isapnp_ym_devlogic, 1,
351	NULL, 0,
352};
353
354