files.usb revision 1.177
1#	$NetBSD: files.usb,v 1.177 2021/06/29 10:22:37 nia Exp $
2#
3# Config file and device description for machine-independent USB code.
4# Included by ports that need it.  Ports that use it must provide
5# their own "major" declarations for the appropriate devices.
6
7defflag	USBVERBOSE
8defflag	opt_usb.h	USB_FRAG_DMA_WORKAROUND
9
10# HC controllers
11defflag	opt_usb.h	EHCI_DEBUG: USB_DEBUG
12defflag	opt_usb.h	OHCI_DEBUG: USB_DEBUG
13defflag	opt_usb.h	UHCI_DEBUG: USB_DEBUG
14defflag	opt_usb.h	DWC2_DEBUG: USB_DEBUG
15defflag	opt_usb.h	XHCI_DEBUG: USB_DEBUG
16defflag	opt_usb.h	MOTG_DEBUG: USB_DEBUG
17defflag	opt_usb.h	SLHCI_DEBUG: USB_DEBUG
18
19# HUB driver
20defflag opt_usb.h	UHUB_DEBUG: USB_DEBUG
21
22# Device drivers
23
24defflag opt_usb.h	ATU_DEBUG: USB_DEBUG
25defflag opt_usb.h	AUE_DEBUG: USB_DEBUG
26defflag opt_usb.h	AUVITEK_I2C_DEBUG: USB_DEBUG
27defflag opt_usb.h	AXE_DEBUG: USB_DEBUG
28defflag opt_usb.h	AXEN_DEBUG: USB_DEBUG
29defflag opt_usb.h	CUE_DEBUG: USB_DEBUG
30defflag opt_usb.h	KUE_DEBUG: USB_DEBUG
31defflag opt_usb.h	OTUS_DEBUG: USB_DEBUG
32defflag opt_usb.h	RUM_DEBUG: USB_DEBUG
33defflag opt_usb.h	RUN_DEBUG: USB_DEBUG
34defflag opt_usb.h	UARK_DEBUG: USB_DEBUG
35defflag opt_usb.h	UATP_DEBUG: USB_DEBUG
36defflag opt_usb.h	UAUDIO_DEBUG: USB_DEBUG
37defflag opt_usb.h	UBERRY_DEBUG: USB_DEBUG
38defflag opt_usb.h	UBSA_DEBUG: USB_DEBUG
39defflag opt_usb.h	UBT_DEBUG: USB_DEBUG
40defflag opt_usb.h	UCHCOM_DEBUG: USB_DEBUG
41defflag opt_usb.h	UCOM_DEBUG: USB_DEBUG
42defflag opt_usb.h	UCYCOM_DEBUG: USB_DEBUG
43defflag opt_usb.h	UDAV_DEBUG: USB_DEBUG
44defflag opt_usb.h	UDL_DEBUG: USB_DEBUG
45defflag opt_usb.h	UDSBR_DEBUG: USB_DEBUG
46defflag opt_usb.h	UFTDI_DEBUG: USB_DEBUG
47defflag opt_usb.h	UGENSA_DEBUG: USB_DEBUG
48defflag opt_usb.h	UGEN_DEBUG: USB_DEBUG
49defflag opt_usb.h	UHIDEV_DEBUG: USB_DEBUG
50defflag opt_usb.h	UHID_DEBUG: USB_DEBUG
51defflag opt_usb.h	UHMODEM_DEBUG: USB_DEBUG
52defflag opt_usb.h	UHSO_DEBUG: USB_DEBUG
53defflag opt_usb.h	UIPAD_DEBUG: USB_DEBUG
54defflag opt_usb.h	UIPAQ_DEBUG: USB_DEBUG
55defflag opt_usb.h	UIRDA_DEBUG: USB_DEBUG
56defflag opt_usb.h	UKBD_DEBUG: USB_DEBUG
57defflag opt_usb.h	UKYOPON_DEBUG: USB_DEBUG
58defflag opt_usb.h	ULPT_DEBUG: USB_DEBUG
59defflag opt_usb.h	UMASS_DEBUG: USB_DEBUG
60defflag opt_usb.h	UMCT_DEBUG: USB_DEBUG
61defflag opt_usb.h	UMIDIQUIRK_DEBUG: USB_DEBUG
62defflag opt_usb.h	UMIDI_DEBUG: USB_DEBUG
63defflag opt_usb.h	UMODEM_DEBUG: USB_DEBUG
64defflag opt_usb.h	UMS_DEBUG: USB_DEBUG
65defflag opt_usb.h	UPGT_DEBUG: USB_DEBUG
66defflag opt_usb.h	UPLCOM_DEBUG: USB_DEBUG
67defflag opt_usb.h	UPL_DEBUG: USB_DEBUG
68defflag opt_usb.h	URAL_DEBUG: USB_DEBUG
69defflag opt_usb.h	URL_DEBUG: USB_DEBUG
70defflag opt_usb.h	URNDIS_DEBUG: USB_DEBUG
71defflag opt_usb.h	URTWN_DEBUG: USB_DEBUG
72defflag opt_usb.h	URTW_DEBUG: USB_DEBUG
73defflag opt_usb.h	USBNET_DEBUG: USB_DEBUG
74defflag opt_usb.h	USCANNER_DEBUG: USB_DEBUG
75defflag opt_usb.h	USLSA_DEBUG: USB_DEBUG
76defflag opt_usb.h	USMSC_DEBUG: USB_DEBUG
77defflag opt_usb.h	USSCANNER_DEBUG: USB_DEBUG
78defflag opt_usb.h	USTIR_DEBUG: USB_DEBUG
79defflag opt_usb.h	UTHUM_DEBUG: USB_DEBUG
80defflag opt_usb.h	UTOPPY_DEBUG: USB_DEBUG
81defflag opt_usb.h	UTS_DEBUG: USB_DEBUG
82defflag opt_usb.h	UVIDEO_DEBUG: USB_DEBUG
83defflag opt_usb.h	UVISOR_DEBUG: USB_DEBUG
84defflag opt_usb.h	UVSCOM_DEBUG: USB_DEBUG
85defflag opt_usb.h	ZYD_DEBUG: USB_DEBUG
86
87define	usbroothubif { }
88define	usbdevif { [port = -1], [configuration = -1], [interface = -1],
89		   [vendor = -1], [product = -1], [release = -1] }
90define	usbifif { [port = -1], [configuration = -1], [interface = -1],
91		  [vendor = -1], [product = -1], [release = -1] }
92
93device	usb: usbroothubif
94attach	usb at usbus
95file	dev/usb/usb.c			usb			needs-flag
96file	dev/usb/usbdi.c			usb
97file	dev/usb/usbdi_util.c		usb
98file	dev/usb/usb_subr.c		usb
99file	dev/usb/usb_quirks.c		usb
100
101define	usb_dma: usb
102file	dev/usb/usb_mem.c		usb_dma			needs-flag
103
104define	usbnet: usb
105file	dev/usb/usbnet.c		usbnet
106
107file	dev/usb/usb_verbose.c		usbverbose & usb
108
109# Hub driver
110device	uhub: usbdevif, usbifif
111attach	uhub at usbroothubif with uroothub
112attach	uhub at usbdevif
113file	dev/usb/uhub.c			usb
114
115# Modem and com serial port "bus"
116define	ucombus {[ portno = -1 ]}
117
118# Audio devices
119device	uaudio: audiobus
120attach	uaudio at usbifif
121file	dev/usb/uaudio.c		uaudio
122
123# MIDI devices
124device	umidi: midibus
125attach	umidi at usbifif
126file	dev/usb/umidi.c			umidi
127file	dev/usb/umidi_quirks.c		umidi
128
129# Modem and com serial port
130device	ucom
131attach	ucom at ucombus
132file	dev/usb/ucom.c			ucom | ucombus		needs-flag
133
134
135# Generic devices
136device	ugen
137attach	ugen at usbdevif
138device	ugenif
139attach	ugenif at usbifif
140file	dev/usb/ugen.c			ugen | ugenif		needs-flag
141
142
143# HID
144# HID "bus"
145define	uhidbus {[ reportid = -1 ]}
146
147# HID root device for multiple report IDs
148device	uhidev: hid, uhidbus
149attach	uhidev at usbifif
150file	dev/usb/uhidev.c		uhidev
151
152# Generic HID devices
153device	uhid: hid
154attach	uhid at uhidbus
155file	dev/usb/uhid.c			uhid			needs-flag
156
157# Keyboards
158defparam	UKBD_LAYOUT
159# Gdium's Fn key needs software translation
160defflag		opt_ukbd.h 	GDIUM_KEYBOARD_HACK
161device	ukbd: hid, wskbddev
162attach	ukbd at uhidbus
163file	dev/usb/ukbd.c			ukbd			needs-flag
164
165# Mice
166device	ums: hid, hidms, wsmousedev
167attach	ums at uhidbus
168file	dev/usb/ums.c			ums
169
170# USB Apple trackpad
171device	uatp: hid, wsmousedev
172attach	uatp at uhidbus
173file	dev/usb/uatp.c			uatp
174
175# Touchscreens
176device	uts: hid, wsmousedev, tpcalib
177attach	uts at uhidbus
178file	dev/usb/uts.c			uts
179
180# eGalax USB Touch Panel
181device	uep: wsmousedev, tpcalib
182attach	uep at usbdevif
183file	dev/usb/uep.c			uep			needs-flag
184
185# Cypress microcontroller based serial adapters
186device	ucycom: hid
187attach	ucycom at uhidbus
188file	dev/usb/ucycom.c		ucycom			needs-flag
189
190# Printers
191device	ulpt
192attach	ulpt at usbifif
193file	dev/usb/ulpt.c			ulpt			needs-flag
194
195
196# Mass storage
197device	umass: scsi, atapi
198attach	umass at usbifif
199file	dev/usb/umass.c			umass
200file	dev/usb/umass_quirks.c		umass
201file	dev/usb/umass_scsipi.c		umass & (scsibus | atapibus)
202
203
204# IrDA bridges
205device	uirda: irbus
206attach	uirda at usbifif
207file	dev/usb/uirda.c			uirda | stuirda
208
209# SigmaTel not quite UIRDA IrDA bridge
210device	stuirda: irbus,firmload
211attach	stuirda at usbifif
212file	dev/usb/stuirda.c		stuirda
213
214# SigmaTel IrDA bridge
215device	ustir: irbus, irdasir
216attach	ustir at usbdevif
217file	dev/usb/ustir.c			ustir
218
219# Windows Media Center IR tranceivers
220device	irmce: irbus
221attach	irmce at usbifif
222file	dev/usb/irmce.c			irmce
223
224
225# Bluetooth controllers
226device	ubt: btbus, bluetooth
227attach	ubt at usbdevif
228file	dev/usb/ubt.c			ubt
229
230# Atheros USB Bluetooth firmware load
231device	aubtfwl: firmload
232attach	aubtfwl at usbdevif
233file	dev/usb/aubtfwl.c		aubtfwl
234
235#
236# Capture devices
237#
238
239# Sony PLAYSTATION(R) Eye
240device	pseye: videobus
241attach	pseye at usbifif
242file	dev/usb/pseye.c			pseye
243
244# USB Video Class capture devices
245device	uvideo: videobus
246attach	uvideo at usbifif
247file	dev/usb/uvideo.c		uvideo
248
249# Auvitek AU0828
250device	auvitek: videobus, dtvbus, i2cbus, i2cexec, usbifif, au8522, xc5k
251attach	auvitek at usbdevif
252file	dev/usb/auvitek.c		auvitek
253file	dev/usb/auvitek_audio.c		auvitek
254file	dev/usb/auvitek_board.c		auvitek
255file	dev/usb/auvitek_dtv.c		auvitek
256file	dev/usb/auvitek_i2c.c		auvitek
257file	dev/usb/auvitek_video.c		auvitek
258
259# Empia EM28xx
260device	emdtv: dtvbus, irbus, i2cexec, lg3303, xc3028
261attach	emdtv at usbdevif
262file	dev/usb/emdtv.c			emdtv
263file	dev/usb/emdtv_board.c		emdtv
264file	dev/usb/emdtv_dtv.c		emdtv
265file	dev/usb/emdtv_i2c.c		emdtv
266file	dev/usb/emdtv_ir.c		emdtv
267
268#
269# Misc
270#
271
272# Mode switch usb driver
273device	umodeswitch
274attach	umodeswitch at usbdevif
275file	dev/usb/umodeswitch.c		umodeswitch
276
277# Apple iPad
278device	uipad
279attach	uipad at usbdevif
280file	dev/usb/uipad.c				uipad
281
282# BlackBerries
283device	uberry
284attach	uberry at usbdevif
285file	dev/usb/uberry.c			uberry
286
287# Handspring Visor
288device	uvisor: ucombus
289attach	uvisor at usbdevif
290file	dev/usb/uvisor.c		uvisor
291
292# Generic Serial Adapter
293device	ugensa: ucombus
294attach	ugensa at usbdevif
295file	dev/usb/ugensa.c		ugensa
296
297# 3G Modem
298device	u3g: ucombus, umodeswitch
299attach	u3g at usbifif
300file	dev/usb/u3g.c			u3g
301
302# D-Link DSB-R100 FM radio
303device	udsbr: radiodev
304attach	udsbr at usbdevif
305file	dev/usb/udsbr.c			udsbr
306
307# Silicon Labs USB radio module (FM)
308device	slurm: radiodev
309attach	slurm at usbifif
310file	dev/usb/slurm.c			slurm
311
312# TEMPerHUM HID
313device	uthum: hid, sysmon_envsys
314attach	uthum at uhidbus
315file	dev/usb/uthum.c			uthum
316
317# Ethernet adapters
318# ADMtek AN986 Pegasus
319device	aue: arp, ether, ifnet, mii, mii_phy, usbnet
320attach	aue at usbdevif
321file	dev/usb/if_aue.c		aue
322
323# CDC Ethernet
324device	cdce: arp, ether, ifnet, usbnet
325attach	cdce at usbifif
326file	dev/usb/if_cdce.c		cdce
327
328# CATC USB-EL1201A
329device	cue: arp, ether, ifnet, usbnet
330attach	cue at usbdevif
331file	dev/usb/if_cue.c		cue
332
333# Kawasaki LSI KL5KUSB101B
334device	kue: arp, ether, ifnet, usbnet
335attach	kue at usbdevif
336file	dev/usb/if_kue.c		kue
337
338# Prolific PL2302 host-host
339device	upl: ifnet, usbnet
340attach	upl at usbdevif
341file	dev/usb/if_upl.c		upl
342
343# Realtek RTL8150L(M)
344device	url: arp, ether, ifnet, mii, usbnet
345attach	url at usbdevif
346file	dev/usb/if_url.c		url
347
348# ASIX AX88172
349device	axe: arp, ether, ifnet, mii, mii_phy, usbnet
350attach	axe at usbdevif
351file	dev/usb/if_axe.c		axe
352
353# ASIX AX88178a and AX88179
354device	axen: arp, ether, ifnet, mii, usbnet
355attach	axen at usbdevif
356file	dev/usb/if_axen.c		axen
357
358# Moscom MCS7730, MCS7830, and MCS7832
359device	mos: arp, ether, ifnet, mii, mii_phy, usbnet
360attach	mos at usbdevif
361file	dev/usb/if_mos.c		mos
362
363# Microchip LAN750x and LAN85xx
364device	mue: arp, ether, ifnet, mii, mii_phy, usbnet
365attach	mue at usbdevif
366file	dev/usb/if_mue.c		mue
367
368# Atheros AR9170
369device	otus: arp, ether, firmload, ifnet, wlan
370attach	otus at usbdevif
371file	dev/usb/if_otus.c		otus
372
373# DAVICOM DM9601
374device	udav: arp, ether, ifnet, mii, mii_phy, usbnet
375attach	udav at usbdevif
376file	dev/usb/if_udav.c		udav
377
378# Mobile Broadband Interface Model
379device	umb: ifnet
380attach	umb at usbifif
381file	dev/usb/if_umb.c		umb
382
383# RealTek RTL8152 and RTL8153
384device	ure: arp, ether, ifnet, mii, mii_phy, usbnet
385attach	ure at usbdevif
386file	dev/usb/if_ure.c		ure
387
388# Serial drivers
389# Modems
390define	umodem_common
391file	dev/usb/umodem_common.c		umodem_common
392device	umodem: ucombus, umodem_common
393attach	umodem at usbifif
394file	dev/usb/umodem.c		umodem
395
396# FTDI serial driver
397device	uftdi: ucombus
398attach	uftdi at usbifif
399file	dev/usb/uftdi.c			uftdi
400
401# Prolific PL2303 serial driver
402device	uplcom: ucombus
403attach	uplcom at usbdevif
404file	dev/usb/uplcom.c		uplcom
405
406# MCT USB-232 serial driver
407device	umct: ucombus
408attach	umct at usbdevif
409file	dev/usb/umct.c			umct
410
411# MOSCHIP MCS7xxx serial driver
412device	umcs: ucombus
413attach	umcs at usbdevif
414file	dev/usb/umcs.c			umcs
415
416# SUNTAC Slipper U VS-10U driver
417device	uvscom: ucombus
418attach	uvscom at usbdevif
419file	dev/usb/uvscom.c		uvscom
420
421# Exar XR21V141x serial driver (mostly CDC)
422device	uxrcom: ucombus, umodem_common
423attach	uxrcom at usbifif
424file	dev/usb/uxrcom.c		uxrcom
425
426# Belkin & other serial driver
427define	ubsa_common
428file	dev/usb/ubsa_common.c		ubsa_common
429device	ubsa: ucombus, ubsa_common
430attach	ubsa at usbdevif
431file	dev/usb/ubsa.c			ubsa
432
433# Huawei E220 3G/HSDPA modem (ubsa)
434device	uhmodem: ucombus, ubsa_common
435attach	uhmodem at usbifif
436file	dev/usb/uhmodem.c		uhmodem
437
438# iPAQ PDAs
439device	uipaq: ucombus
440attach	uipaq at usbdevif
441file	dev/usb/uipaq.c			uipaq
442
443# Kyocera AIR-EDGE PHONE
444device	ukyopon: ucombus, umodem_common
445attach	ukyopon at usbifif
446file	dev/usb/ukyopon.c		ukyopon
447
448# ArkMicroChips 3116 based serial (used with some Nokia USB cables too)
449device	uark: ucombus
450attach	uark at usbdevif
451file	dev/usb/uark.c		uark
452
453# Silicon Labs CP210x serial driver
454device	uslsa: ucombus
455attach	uslsa at usbifif
456file	dev/usb/uslsa.c			uslsa
457
458# WinChipHead CH341/340 serial driver
459device	uchcom: ucombus
460attach	uchcom at usbdevif
461file	dev/usb/uchcom.c		uchcom
462
463# Avision SCSI over USB, HP5300
464device	usscanner: scsi
465attach	usscanner at usbdevif
466file	dev/usb/usscanner.c		usscanner
467
468# Atmel AT76c503 / AT76c503a / AT76c505 / AT76c505a @ USB
469device	atu: ether, ifnet, arp, wlan
470attach	atu at usbdevif
471file	dev/usb/if_atu.c		atu
472
473# Intersil PrismGT
474device	upgt: ether, ifnet, arp, wlan, firmload
475attach	upgt at usbdevif
476file	dev/usb/if_upgt.c		upgt
477
478# SMSC LAN95xx
479device	usmsc: arp, ether, ifnet, mii, mii_phy, usbnet
480attach	usmsc at usbdevif
481file	dev/usb/if_smsc.c		usmsc
482
483# Ralink Technology RT2500USB
484device	ural: arp, ether, ifnet, wlan, firmload
485attach	ural at usbdevif
486file	dev/usb/if_ural.c		ural
487
488device	rum: ether, ifnet, arp, wlan, firmload
489attach	rum at usbdevif
490file	dev/usb/if_rum.c		rum
491
492# Topfield digital PVRs
493device	utoppy
494attach	utoppy at usbdevif
495file	dev/usb/utoppy.c		utoppy
496
497# Zydas ZD1211
498device	zyd: ether, ifnet, arp, wlan, firmload
499attach	zyd at usbdevif
500file	dev/usb/if_zyd.c		zyd
501
502# DisplayLink DL-1x0/DL-1x5
503device	udl: wsemuldisplaydev, rasops16, edid, firmload
504attach	udl at usbdevif
505file	dev/usb/udl.c			udl
506
507# Wireless WAN modems from Option N.V.
508device	uhso: ifnet
509attach	uhso at usbdevif
510file	dev/usb/uhso.c			uhso
511
512# Microsoft RNDIS
513device	urndis: arp, ether, ifnet, usbnet
514attach	urndis at usbifif
515file	dev/usb/if_urndis.c		urndis
516
517# Realtek RTL8188CU/RTL8192CU
518device	urtwn: ether, ifnet, arp, wlan, firmload
519attach	urtwn at usbdevif
520file	dev/usb/if_urtwn.c              urtwn
521
522# Realtek RTL8187/RTL8187B 802.11b/g USB wireless adapter
523device	urtw: ether, ifnet, arp, wlan
524attach	urtw at usbdevif
525file	dev/usb/if_urtw.c		urtw
526
527# Ralink Technology RT2700U/RT2800U/RT3000U
528device	run: ether, ifnet, arp, wlan, firmload
529attach	run at usbdevif
530file	dev/usb/if_run.c		run
531
532# Atheros AR9002U
533attach	athn at usbdevif with athn_usb: firmload
534file	dev/usb/if_athn_usb.c		athn_usb		needs-flag
535
536# Realtek RTL8188SU/RTL8191SU/RTL8192SU
537device	rsu: arp, ether, firmload, ifnet, wlan
538attach	rsu at usbdevif
539file	dev/usb/if_rsu.c		rsu
540
541# KingSun/DonShine IrDA adaptors
542device	udsir: irbus, irdasir
543attach	udsir at usbifif
544file	dev/usb/udsir.c			udsir
545
546# Araneus Alea II TRNG
547device	ualea
548attach	ualea at usbifif
549file	dev/usb/ualea.c			ualea
550
551# Broadcom FullMAC USB wireless adapter
552attach	bwfm at usbdevif with bwfm_usb: firmload
553file	dev/usb/if_bwfm_usb.c		bwfm_usb
554