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