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