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