files.usb revision 1.162
1#	$NetBSD: files.usb,v 1.162 2019/08/09 06:38:39 mrg 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	EZLOAD_DEBUG: USB_DEBUG
31defflag opt_usb.h	KUE_DEBUG: USB_DEBUG
32defflag opt_usb.h	OTUS_DEBUG: USB_DEBUG
33defflag opt_usb.h	RUM_DEBUG: USB_DEBUG
34defflag opt_usb.h	RUN_DEBUG: USB_DEBUG
35defflag opt_usb.h	UARK_DEBUG: USB_DEBUG
36defflag opt_usb.h	UATP_DEBUG: USB_DEBUG
37defflag opt_usb.h	UAUDIO_DEBUG: USB_DEBUG
38defflag opt_usb.h	UBERRY_DEBUG: USB_DEBUG
39defflag opt_usb.h	UBSA_DEBUG: USB_DEBUG
40defflag opt_usb.h	UBT_DEBUG: USB_DEBUG
41defflag opt_usb.h	UCHCOM_DEBUG: USB_DEBUG
42defflag opt_usb.h	UCOM_DEBUG: USB_DEBUG
43defflag opt_usb.h	UCYCOM_DEBUG: USB_DEBUG
44defflag opt_usb.h	UDAV_DEBUG: USB_DEBUG
45defflag opt_usb.h	UDL_DEBUG: USB_DEBUG
46defflag opt_usb.h	UDSBR_DEBUG: USB_DEBUG
47defflag opt_usb.h	UFTDI_DEBUG: USB_DEBUG
48defflag opt_usb.h	UGENSA_DEBUG: USB_DEBUG
49defflag opt_usb.h	UGEN_DEBUG: USB_DEBUG
50defflag opt_usb.h	UHIDEV_DEBUG: USB_DEBUG
51defflag opt_usb.h	UHID_DEBUG: USB_DEBUG
52defflag opt_usb.h	UHMODEM_DEBUG: USB_DEBUG
53defflag opt_usb.h	UHSO_DEBUG: USB_DEBUG
54defflag opt_usb.h	UIPAD_DEBUG: USB_DEBUG
55defflag opt_usb.h	UIPAQ_DEBUG: USB_DEBUG
56defflag opt_usb.h	UIRDA_DEBUG: USB_DEBUG
57defflag opt_usb.h	UISDATA_DEBUG: USB_DEBUG
58defflag opt_usb.h	UKBD_DEBUG: USB_DEBUG
59defflag opt_usb.h	UKYOPON_DEBUG: USB_DEBUG
60defflag opt_usb.h	ULPT_DEBUG: USB_DEBUG
61defflag opt_usb.h	UMASS_DEBUG: USB_DEBUG
62defflag opt_usb.h	UMCT_DEBUG: USB_DEBUG
63defflag opt_usb.h	UMIDIQUIRK_DEBUG: USB_DEBUG
64defflag opt_usb.h	UMIDI_DEBUG: USB_DEBUG
65defflag opt_usb.h	UMODEM_DEBUG: USB_DEBUG
66defflag opt_usb.h	UMS_DEBUG: USB_DEBUG
67defflag opt_usb.h	UPGT_DEBUG: USB_DEBUG
68defflag opt_usb.h	UPLCOM_DEBUG: USB_DEBUG
69defflag opt_usb.h	UPL_DEBUG: USB_DEBUG
70defflag opt_usb.h	URAL_DEBUG: USB_DEBUG
71defflag opt_usb.h	URIO_DEBUG: USB_DEBUG
72defflag opt_usb.h	URL_DEBUG: USB_DEBUG
73defflag opt_usb.h	URNDIS_DEBUG: USB_DEBUG
74defflag opt_usb.h	URTWN_DEBUG: USB_DEBUG
75defflag opt_usb.h	URTW_DEBUG: USB_DEBUG
76defflag opt_usb.h	USCANNER_DEBUG: USB_DEBUG
77defflag opt_usb.h	USLSA_DEBUG: USB_DEBUG
78defflag opt_usb.h	USSCANNER_DEBUG: USB_DEBUG
79defflag opt_usb.h	USTIR_DEBUG: USB_DEBUG
80defflag opt_usb.h	UTHUM_DEBUG: USB_DEBUG
81defflag opt_usb.h	UTOPPY_DEBUG: USB_DEBUG
82defflag opt_usb.h	UTS_DEBUG: USB_DEBUG
83defflag opt_usb.h	UVIDEO_DEBUG: USB_DEBUG
84defflag opt_usb.h	UVISOR_DEBUG: USB_DEBUG
85defflag opt_usb.h	UVSCOM_DEBUG: USB_DEBUG
86defflag opt_usb.h	UYUREX_DEBUG: USB_DEBUG
87defflag opt_usb.h	ZYD_DEBUG: USB_DEBUG
88
89define	usbroothubif { }
90define	usbdevif { [port = -1], [configuration = -1], [interface = -1],
91		   [vendor = -1], [product = -1], [release = -1] }
92define	usbifif { [port = -1], [configuration = -1], [interface = -1],
93		  [vendor = -1], [product = -1], [release = -1] }
94
95device	usb: usbroothubif
96attach	usb at usbus
97file	dev/usb/usb.c			usb			needs-flag
98file	dev/usb/usbdi.c			usb
99file	dev/usb/usbdi_util.c		usb
100file	dev/usb/usb_subr.c		usb
101file	dev/usb/usb_quirks.c		usb
102
103define	usb_dma: usb
104file	dev/usb/usb_mem.c		usb_dma			needs-flag
105
106define	usbnet: usb
107file	dev/usb/usbnet.c		usbnet
108
109file	dev/usb/usb_verbose.c		usbverbose & usb
110
111# Hub driver
112device	uhub: usbdevif, usbifif
113attach	uhub at usbroothubif with uroothub
114attach	uhub at usbdevif
115file	dev/usb/uhub.c			usb
116
117# Modem and com serial port "bus"
118define	ucombus {[ portno = -1 ]}
119
120# EZ-USB firmware loader
121define	ezload
122file	dev/usb/ezload.c		ezload
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# Cypress microcontroller based serial adapters
192device	ucycom: hid
193attach	ucycom at uhidbus
194file	dev/usb/ucycom.c		ucycom			needs-flag
195
196# Printers
197device	ulpt
198attach	ulpt at usbifif
199file	dev/usb/ulpt.c			ulpt			needs-flag
200
201
202# Mass storage
203device	umass: scsi, atapi, ata_hl
204attach	umass at usbifif
205file	dev/usb/umass.c			umass
206file	dev/usb/umass_isdata.c		umass & wd & atabus
207file	dev/usb/umass_quirks.c		umass
208file	dev/usb/umass_scsipi.c		umass & (scsibus | atapibus)
209
210
211# IrDA bridges
212device	uirda: irbus
213attach	uirda at usbifif
214file	dev/usb/uirda.c			uirda | stuirda
215
216# SigmaTel not quite UIRDA IrDA bridge
217device	stuirda: irbus,firmload
218attach	stuirda at usbifif
219file	dev/usb/stuirda.c		stuirda
220
221# SigmaTel IrDA bridge
222device	ustir: irbus, irdasir
223attach	ustir at usbdevif
224file	dev/usb/ustir.c			ustir
225
226# Windows Media Center IR tranceivers
227device	irmce: irbus
228attach	irmce at usbifif
229file	dev/usb/irmce.c			irmce
230
231
232# Bluetooth controllers
233device	ubt: btbus, bluetooth
234attach	ubt at usbdevif
235file	dev/usb/ubt.c			ubt
236
237# Atheros USB Bluetooth firmware load
238device	aubtfwl: firmload
239attach	aubtfwl at usbdevif
240file	dev/usb/aubtfwl.c		aubtfwl
241
242#
243# Capture devices
244#
245
246# Sony PLAYSTATION(R) Eye
247device	pseye: videobus
248attach	pseye at usbifif
249file	dev/usb/pseye.c			pseye
250
251# USB Video Class capture devices
252device	uvideo: videobus
253attach	uvideo at usbifif
254file	dev/usb/uvideo.c		uvideo
255
256# Auvitek AU0828
257device	auvitek: videobus, dtvbus, i2cbus, i2cexec, usbifif, au8522, xc5k
258attach	auvitek at usbdevif
259file	dev/usb/auvitek.c		auvitek
260file	dev/usb/auvitek_audio.c		auvitek
261file	dev/usb/auvitek_board.c		auvitek
262file	dev/usb/auvitek_dtv.c		auvitek
263file	dev/usb/auvitek_i2c.c		auvitek
264file	dev/usb/auvitek_video.c		auvitek
265
266# Empia EM28xx
267device	emdtv: dtvbus, irbus, i2cexec, lg3303, xc3028
268attach	emdtv at usbdevif
269file	dev/usb/emdtv.c			emdtv
270file	dev/usb/emdtv_board.c		emdtv
271file	dev/usb/emdtv_dtv.c		emdtv
272file	dev/usb/emdtv_i2c.c		emdtv
273file	dev/usb/emdtv_ir.c		emdtv
274
275#
276# Misc
277#
278
279# Mode switch usb driver
280device	umodeswitch
281attach	umodeswitch at usbdevif
282file	dev/usb/umodeswitch.c		umodeswitch
283
284# Diamond Multimedia Rio 500
285device	urio
286attach	urio at usbdevif
287file	dev/usb/urio.c			urio			needs-flag
288
289# Apple iPad
290device	uipad
291attach	uipad at usbdevif
292file	dev/usb/uipad.c				uipad
293
294# BlackBerries
295device	uberry
296attach	uberry at usbdevif
297file	dev/usb/uberry.c			uberry
298
299# Handspring Visor
300device	uvisor: ucombus
301attach	uvisor at usbdevif
302file	dev/usb/uvisor.c		uvisor
303
304# Generic Serial Adapter
305device	ugensa: ucombus
306attach	ugensa at usbdevif
307file	dev/usb/ugensa.c		ugensa
308
309# 3G Modem
310device	u3g: ucombus, umodeswitch
311attach	u3g at usbifif
312file	dev/usb/u3g.c			u3g
313
314# YAP phone firmware loader
315device	uyap: ezload
316attach	uyap at usbdevif
317file	dev/usb/uyap.c			uyap
318
319# D-Link DSB-R100 FM radio
320device	udsbr: radiodev
321attach	udsbr at usbdevif
322file	dev/usb/udsbr.c			udsbr
323
324# Silicon Labs USB radio module (FM)
325device	slurm: radiodev
326attach	slurm at usbifif
327file	dev/usb/slurm.c			slurm
328
329# TEMPerHUM HID
330device	uthum: hid, sysmon_envsys
331attach	uthum at uhidbus
332file	dev/usb/uthum.c			uthum
333
334# Ethernet adapters
335# ADMtek AN986 Pegasus
336device	aue: arp, ether, ifnet, mii, mii_phy
337attach	aue at usbdevif
338file	dev/usb/if_aue.c		aue
339
340# CDC Ethernet
341device	cdce: arp, ether, ifnet, usbnet
342attach	cdce at usbifif
343file	dev/usb/if_cdce.c		cdce
344
345# CATC USB-EL1201A
346device	cue: arp, ether, ifnet
347attach	cue at usbdevif
348file	dev/usb/if_cue.c		cue
349
350# Kawasaki LSI KL5KUSB101B
351device	kue: arp, ether, ifnet
352attach	kue at usbdevif
353file	dev/usb/if_kue.c		kue
354
355# Prolific PL2302 host-host
356device	upl: ifnet
357attach	upl at usbdevif
358file	dev/usb/if_upl.c		upl
359
360# Realtek RTL8150L(M)
361device	url: arp, ether, ifnet, mii
362attach	url at usbdevif
363file	dev/usb/if_url.c		url
364
365# ASIX AX88172
366device	axe: arp, ether, ifnet, mii, mii_phy, usbnet
367attach	axe at usbdevif
368file	dev/usb/if_axe.c		axe
369
370# ASIX AX88178a and AX88179
371device	axen: arp, ether, ifnet, mii, usbnet
372attach	axen at usbdevif
373file	dev/usb/if_axen.c		axen
374
375# Microchip LAN750x and LAN85xx
376device	mue: arp, ether, ifnet, mii, mii_phy
377attach	mue at usbdevif
378file	dev/usb/if_mue.c		mue
379
380# DAVICOM DM9601
381device	udav: arp, ether, ifnet, mii, mii_phy, usbnet
382attach	udav at usbdevif
383file	dev/usb/if_udav.c		udav
384
385# Atheros AR9170
386device	otus: arp, ether, firmload, ifnet, wlan
387attach	otus at usbdevif
388file	dev/usb/if_otus.c		otus
389
390# Mobile Broadband Interface Model
391device	umb: ifnet
392attach	umb at usbifif
393file	dev/usb/if_umb.c		umb
394
395# RealTek RTL8152 and RTL8153
396device	ure: arp, ether, ifnet, mii, mii_phy, usbnet
397attach	ure at usbdevif
398file	dev/usb/if_ure.c		ure
399
400# Serial drivers
401# Modems
402define	umodem_common
403file	dev/usb/umodem_common.c		umodem_common
404device	umodem: ucombus, umodem_common
405attach	umodem at usbifif
406file	dev/usb/umodem.c		umodem
407
408# FTDI serial driver
409device	uftdi: ucombus
410attach	uftdi at usbifif
411file	dev/usb/uftdi.c			uftdi
412
413# Prolific PL2303 serial driver
414device	uplcom: ucombus
415attach	uplcom at usbdevif
416file	dev/usb/uplcom.c		uplcom
417
418# MCT USB-232 serial driver
419device	umct: ucombus
420attach	umct at usbdevif
421file	dev/usb/umct.c			umct
422
423# MOSCHIP MCS7xxx serial driver
424device	umcs: ucombus
425attach	umcs at usbdevif
426file	dev/usb/umcs.c			umcs
427
428# SUNTAC Slipper U VS-10U driver
429device	uvscom: ucombus
430attach	uvscom at usbdevif
431file	dev/usb/uvscom.c		uvscom
432
433# Belkin & other serial driver
434define	ubsa_common
435file	dev/usb/ubsa_common.c		ubsa_common
436device	ubsa: ucombus, ubsa_common
437attach	ubsa at usbdevif
438file	dev/usb/ubsa.c			ubsa
439
440# Huawei E220 3G/HSDPA modem (ubsa)
441device	uhmodem: ucombus, ubsa_common
442attach	uhmodem at usbifif
443file	dev/usb/uhmodem.c		uhmodem
444
445# iPAQ PDAs
446device	uipaq: ucombus
447attach	uipaq at usbdevif
448file	dev/usb/uipaq.c			uipaq
449
450# Kyocera AIR-EDGE PHONE
451device	ukyopon: ucombus, umodem_common
452attach	ukyopon at usbifif
453file	dev/usb/ukyopon.c		ukyopon
454
455# ArkMicroChips 3116 based serial (used with some Nokia USB cables too)
456device	uark: ucombus
457attach	uark at usbdevif
458file	dev/usb/uark.c		uark
459
460# Silicon Labs CP210x serial driver
461device	uslsa: ucombus
462attach	uslsa at usbifif
463file	dev/usb/uslsa.c			uslsa
464
465# WinChipHead CH341/340 serial driver
466device	uchcom: ucombus
467attach	uchcom at usbdevif
468file	dev/usb/uchcom.c		uchcom
469
470# Scanners
471# Generic scanner support
472device	uscanner
473attach	uscanner at usbdevif
474file	dev/usb/uscanner.c		uscanner		needs-flag
475
476# Avision SCSI over USB, HP5300
477device	usscanner: scsi
478attach	usscanner at usbdevif
479file	dev/usb/usscanner.c		usscanner
480
481# Atmel AT76c503 / AT76c503a / AT76c505 / AT76c505a @ USB
482device	atu: ether, ifnet, arp, wlan
483attach	atu at usbdevif
484file	dev/usb/if_atu.c		atu
485
486# Intersil PrismGT
487device	upgt: ether, ifnet, arp, wlan, firmload
488attach	upgt at usbdevif
489file	dev/usb/if_upgt.c		upgt
490
491# SMSC LAN95xx
492device	usmsc: arp, ether, ifnet, mii, mii_phy, usbnet
493attach	usmsc at usbdevif
494file	dev/usb/if_smsc.c		usmsc
495
496# Ralink Technology RT2500USB
497device	ural: arp, ether, ifnet, wlan, firmload
498attach	ural at usbdevif
499file	dev/usb/if_ural.c		ural
500
501device	rum: ether, ifnet, arp, wlan, firmload
502attach	rum at usbdevif
503file	dev/usb/if_rum.c		rum
504
505# Topfield digital PVRs
506device	utoppy
507attach	utoppy at usbdevif
508file	dev/usb/utoppy.c		utoppy
509
510# Zydas ZD1211
511device	zyd: ether, ifnet, arp, wlan, firmload
512attach	zyd at usbdevif
513file	dev/usb/if_zyd.c		zyd
514
515# DisplayLink DL-1x0/DL-1x5
516device	udl: wsemuldisplaydev, rasops16, edid, firmload
517attach	udl at usbdevif
518file	dev/usb/udl.c			udl
519
520# Wireless WAN modems from Option N.V.
521device	uhso: ifnet
522attach	uhso at usbdevif
523file	dev/usb/uhso.c			uhso
524
525# Maywa-denki/Kayac YUREX
526device	uyurex: hid
527attach	uyurex at uhidbus
528file	dev/usb/uyurex.c		uyurex
529
530# Microsoft RNDIS
531device	urndis: arp, ether, ifnet, usbnet
532attach	urndis at usbifif
533file	dev/usb/if_urndis.c		urndis
534
535# Realtek RTL8188CU/RTL8192CU
536device	urtwn: ether, ifnet, arp, wlan, firmload
537attach	urtwn at usbdevif
538file	dev/usb/if_urtwn.c              urtwn
539
540# Realtek RTL8187/RTL8187B 802.11b/g USB wireless adapter
541device	urtw: ether, ifnet, arp, wlan
542attach	urtw at usbdevif
543file	dev/usb/if_urtw.c		urtw
544
545# Ralink Technology RT2700U/RT2800U/RT3000U
546device	run: ether, ifnet, arp, wlan, firmload
547attach	run at usbdevif
548file	dev/usb/if_run.c		run
549
550# Atheros AR9002U
551attach	athn at usbdevif with athn_usb: firmload
552file	dev/usb/if_athn_usb.c		athn_usb		needs-flag
553
554# Realtek RTL8188SU/RTL8191SU/RTL8192SU
555device	rsu: arp, ether, firmload, ifnet, wlan
556attach	rsu at usbdevif
557file	dev/usb/if_rsu.c		rsu
558
559# KingSun/DonShine IrDA adaptors
560device	udsir: irbus, irdasir
561attach	udsir at usbifif
562file	dev/usb/udsir.c			udsir
563
564# Araneus Alea II TRNG
565device	ualea
566attach	ualea at usbifif
567file	dev/usb/ualea.c			ualea
568
569# Broadcom FullMAC USB wireless adapter
570attach	bwfm at usbdevif with bwfm_usb: firmload
571file	dev/usb/if_bwfm_usb.c		bwfm_usb
572