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