1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
5 depends on ADK_TARGET_WITH_USB \
6 || ADK_TARGET_SYSTEM_QEMU_X86_64 \
7 || ADK_TARGET_SYSTEM_QEMU_X86 \
10 config ADK_LINUX_KERNEL_USB_PCI
13 config ADK_LINUX_KERNEL_USB_SUPPORT
16 config ADK_LINUX_KERNEL_USB_DEVICE_CLASS
19 config ADK_LINUX_KERNEL_USB_ANNOUNCE_NEW_DEVICES
22 config ADK_LINUX_KERNEL_USB_EHCI_ROOT_HUB_TT
25 config ADK_LINUX_KERNEL_USB_EHCI_TT_NEWSCHED
28 config ADK_LINUX_KERNEL_USB_EHCI_MXC
31 config ADK_LINUX_KERNEL_USB_EHCI_HCD_PLATFORM
34 config ADK_LINUX_KERNEL_USB_GADGET
37 config ADK_LINUX_KERNEL_USB_PHY
40 config ADK_LINUX_KERNEL_USB_MXS_PHY
42 select ADK_LINUX_KERNEL_USB_PHY
43 default m if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 || \
44 ADK_TARGET_SYSTEM_PHYTEC_IMX6
47 config ADK_LINUX_KERNEL_USB_XHCI_PLATFORM
50 config ADK_LINUX_KERNEL_USB_OHCI_HCD_PLATFORM
52 select ADK_LINUX_KERNEL_USB_OHCI_HCD
54 config ADK_LINUX_KERNEL_USB_OHCI_HCD_PCI
57 config ADK_LINUX_KERNEL_USB_EHCI_HCD_PCI
60 config ADK_LINUX_KERNEL_USB_XHCI_PCI
63 config ADK_LINUX_KERNEL_USB_XHCI_MVEBU
66 config ADK_LINUX_KERNEL_USB_LIBUSUAL
69 config ADK_LINUX_KERNEL_USB_NET_DRIVERS
72 config ADK_LINUX_KERNEL_USB_USBNET
73 select ADK_LINUX_KERNEL_USB_NET_DRIVERS
76 config ADK_LINUX_KERNEL_USB
77 tristate "USB support"
78 select ADK_LINUX_KERNEL_NLS
79 select ADK_LINUX_KERNEL_USB_SUPPORT
80 select ADK_LINUX_KERNEL_USB_ANNOUNCE_NEW_DEVICES
81 default m if ADK_TARGET_SYSTEM_PCENGINES_APU
82 default m if ADK_TARGET_SYSTEM_PCENGINES_ALIX
83 default m if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
84 default m if ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
85 default m if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 || \
86 ADK_TARGET_SYSTEM_PHYTEC_IMX6
87 default y if ADK_TARGET_SYSTEM_KINETIS_K70
88 default y if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
89 default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
90 default y if ADK_TARGET_SYSTEM_RASPBERRY_PI5
93 Universal Serial Bus (USB) is a specification for a serial bus
94 subsystem which offers higher speeds and more features than the
95 traditional PC serial port. The bus supplies power to peripherals
96 and allows for hot swapping. Up to 127 USB peripherals can be
97 connected to a single USB host in a tree structure.
99 The USB host is the root of the tree, the peripherals are the
100 leaves and the inner nodes are special USB devices called hubs.
101 Most PCs now have USB host ports, used to connect peripherals
102 such as scanners, keyboards, mice, modems, cameras, disks,
103 flash memory, network links, and printers to the PC.
105 Say Y here if your computer has a host-side USB port and you want
106 to use USB devices. You then need to say Y to at least one of the
107 Host Controller Driver (HCD) options below. Choose a USB 1.1
108 controller, such as "UHCI HCD support" or "OHCI HCD support",
109 and "EHCI HCD (USB 2.0) support" except for older systems that
110 do not have USB 2.0 support. It doesn't normally hurt to select
111 them all if you are not certain.
113 If your system has a device-side USB port, used in the peripheral
114 side of the USB protocol, see the "USB Gadget" framework instead.
116 After choosing your HCD, then select drivers for the USB peripherals
117 you'll be using. You may want to check out the information provided
118 in <file:Documentation/usb/> and especially the links given in
119 <file:Documentation/usb/usb-help.txt>.
121 menu "USB controller support"
123 config ADK_LINUX_KERNEL_USB_XHCI_HCD
124 tristate "Support for USB xHCI HCD (USB 3.0)"
125 depends on ADK_LINUX_KERNEL_USB
126 select ADK_LINUX_KERNEL_USB_PCI
127 select ADK_LINUX_KERNEL_USB_XHCI_PLATFORM
128 select ADK_LINUX_KERNEL_USB_XHCI_PCI
129 select ADK_LINUX_KERNEL_USB_XHCI_MVEBU if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
130 default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
131 default y if ADK_TARGET_SYSTEM_RASPBERRY_PI5
132 default y if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
135 The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
136 "SuperSpeed" host controller hardware.
138 To compile this driver as a module, choose M here: the
139 module will be called xhci-hcd.
142 config ADK_LINUX_KERNEL_USB_EHCI_HCD
143 tristate "Support for USB EHCI 2.0 controllers"
144 select ADK_LINUX_KERNEL_USB_MXS_PHY if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 || \
145 ADK_TARGET_SYSTEM_PHYTEC_IMX6
146 select ADK_LINUX_KERNEL_USB_EHCI_MXC if ADK_TARGET_SYSTEM_KINETIS_K70
147 select ADK_LINUX_KERNEL_USB_DEVICE_CLASS if ADK_TARGET_SYSTEM_KINETIS_K70
148 select ADK_LINUX_KERNEL_USB_EHCI_HCD_PLATFORM if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
149 select ADK_LINUX_KERNEL_USB_EHCI_HCD_PCI if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
150 depends on !ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
151 depends on !ADK_TARGET_BOARD_BCM28XX
152 depends on ADK_LINUX_KERNEL_USB
153 default m if ADK_TARGET_SYSTEM_PCENGINES_APU
154 default m if ADK_TARGET_SYSTEM_PCENGINES_ALIX
155 default m if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
156 default m if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 || \
157 ADK_TARGET_SYSTEM_PHYTEC_IMX6
158 default y if ADK_TARGET_SYSTEM_KINETIS_K70
159 default y if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
160 default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
161 default y if ADK_TARGET_SYSTEM_RASPBERRY_PI5
164 The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
165 "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
166 If your USB host controller supports USB 2.0, you will likely want to
167 configure this Host Controller Driver. At the time of this writing,
168 the primary implementation of EHCI is a chip from NEC, widely available
169 in add-on PCI cards, but implementations are in the works from other
170 vendors including Intel and Philips. Motherboard support is appearing.
172 EHCI controllers are packaged with "companion" host controllers (OHCI
173 or UHCI) to handle USB 1.1 devices connected to root hub ports. Ports
174 will connect to EHCI if the device is high speed, otherwise they
175 connect to a companion controller. If you configure EHCI, you should
176 probably configure the OHCI (for NEC and some other vendors) USB Host
177 Controller Driver or UHCI (for Via motherboards) Host Controller
180 You may want to read <file:Documentation/usb/ehci.txt>.
182 config ADK_LINUX_KERNEL_USB_UHCI_HCD
183 tristate "Support for UHCI controllers"
184 depends on ADK_LINUX_KERNEL_USB
185 depends on !ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
186 depends on !ADK_TARGET_BOARD_BCM28XX
187 default m if ADK_TARGET_SYSTEM_PCENGINES_APU
188 default m if ADK_TARGET_SYSTEM_PCENGINES_ALIX
189 default m if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
192 The Universal Host Controller Interface is a standard by Intel for
193 accessing the USB hardware in the PC (which is also called the USB
194 host controller). If your USB host controller conforms to this
195 standard, you may want to say Y, but see below. All recent boards
196 with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
197 i810, i820) conform to this standard. Also all VIA PCI chipsets
198 (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
199 133). If unsure, say Y.
201 config ADK_LINUX_KERNEL_USB_OHCI_HCD
202 tristate "Support for OHCI controllers"
203 depends on ADK_LINUX_KERNEL_USB
204 depends on !ADK_TARGET_BOARD_BCM28XX
205 select ADK_LINUX_KERNEL_USB_OHCI_HCD_PCI if ADK_TARGET_SYSTEM_PCENGINES_ALIX
206 select ADK_LINUX_KERNEL_USB_OHCI_HCD_PCI if ADK_TARGET_SYSTEM_PCENGINES_APU
207 select ADK_LINUX_KERNEL_USB_OHCI_HCD_PCI if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
208 default m if ADK_TARGET_SYSTEM_PCENGINES_APU
209 default m if ADK_TARGET_SYSTEM_PCENGINES_ALIX
210 default m if ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
211 default m if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
212 default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
215 The Open Host Controller Interface (OHCI) is a standard for accessing
216 USB 1.1 host controller hardware. It does more in hardware than Intel's
217 UHCI specification. If your USB host controller follows the OHCI spec,
218 say Y. On most non-x86 systems, and on x86 hardware that's not using a
219 USB controller from Intel or VIA, this is appropriate. If your host
220 controller doesn't use PCI, this is probably appropriate. For a PCI
221 based system where you're not sure, the "lspci -v" entry will list the
222 right "prog-if" for your USB controller(s): EHCI, OHCI, or UHCI.
224 config ADK_LINUX_KERNEL_USB_DWCOTG
225 bool "Support for DWCOTG controller"
226 select ADK_LINUX_KERNEL_USB
227 select ADK_LINUX_KERNEL_FIQ
228 depends on ADK_TARGET_BOARD_BCM28XX
229 default y if ADK_TARGET_BOARD_BCM28XX
232 The Synopsis DWC controller is a dual-role
233 host/peripheral/OTG ("On The Go") USB controllers.
235 config ADK_LINUX_KERNEL_USB_CHIPIDEA_UDC
238 config ADK_LINUX_KERNEL_USB_CHIPIDEA_HOST
241 config ADK_LINUX_KERNEL_USB_CHIPIDEA
242 tristate "Support for ChipIdea controller"
243 select ADK_LINUX_KERNEL_USB_CHIPIDEA_UDC
244 select ADK_LINUX_KERNEL_USB_CHIPIDEA_HOST
245 select ADK_LINUX_KERNEL_USB_GADGET
246 depends on ADK_LINUX_KERNEL_USB_EHCI_HCD
247 depends on ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 || \
248 ADK_TARGET_SYSTEM_PHYTEC_IMX6
249 default m if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 || \
250 ADK_TARGET_SYSTEM_PHYTEC_IMX6
253 config ADK_LINUX_KERNEL_USB_ISP116X_HCD
254 tristate "Support for ISP116X"
255 depends on ADK_LINUX_KERNEL_USB
256 depends on !ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
257 depends on !ADK_TARGET_BOARD_BCM28XX
259 The ISP1160 and ISP1161 chips are USB host controllers. Enable this
260 option if your board has this chip. If unsure, say N.
262 This driver does not support isochronous transfers.
264 config ADK_LINUX_KERNEL_USB_SL811_HCD
265 tristate "Support for SL811HS"
266 depends on ADK_LINUX_KERNEL_USB
267 depends on !ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
268 depends on !ADK_TARGET_BOARD_BCM28XX
271 The SL811HS is a single-port USB controller that supports either
272 host side or peripheral side roles. Enable this option if your
273 board has this chip, and you want to use it as a host controller.
278 menu "USB devices support"
280 config ADK_LINUX_KERNEL_USB_STORAGE
281 tristate "Support for USB storage devices"
282 select ADK_LINUX_KERNEL_SCSI
283 select ADK_LINUX_KERNEL_BLK_DEV_SD
285 config ADK_LINUX_KERNEL_SND_USB_AUDIO
286 tristate "Support for USB sound adapter"
287 select ADK_LINUX_KERNEL_SND
288 select ADK_LINUX_KERNEL_SND_USB
289 select ADK_LINUX_KERNEL_SND_RAWMIDI
291 config ADK_LINUX_KERNEL_USB_HSO
292 tristate "Support for USB HSO devices"
293 select ADK_LINUX_KERNEL_RFKILL
294 select ADK_LINUX_KERNEL_USB_STORAGE
296 config ADK_LINUX_KERNEL_USB_PRINTER
297 tristate "Support for USB printers"
299 config ADK_LINUX_KERNEL_USB_ACM
300 tristate "Support for USB modems/isdn controllers"
302 config ADK_LINUX_KERNEL_USB_PEGASUS
303 tristate "Support for USB Pegasus network cards"
304 select ADK_LINUX_KERNEL_USB_NET_DRIVERS
306 config ADK_LINUX_KERNEL_USB_SERIAL
307 tristate "Support for USB-to-serial converters"
309 Say Y here if you have a USB device that provides normal serial
310 ports, or acts like a serial device, and you want to connect it to
313 Please read <file:Documentation/usb/usb-serial.txt> for more
314 information on the specifics of the different devices that are
315 supported, and on how to use them.
317 config ADK_LINUX_KERNEL_USB_SERIAL_BELKIN
318 tristate "Support for Belkin USB-to-serial converters"
319 depends on ADK_LINUX_KERNEL_USB_SERIAL
321 Say Y here if you want to use a Belkin USB Serial single port
322 adaptor (F5U103 is one of the model numbers) or the Peracom single
323 port USB to serial adapter.
325 config ADK_LINUX_KERNEL_USB_SERIAL_FTDI_SIO
326 tristate "Support for FTDI USB-to-serial converter"
327 depends on ADK_LINUX_KERNEL_USB_SERIAL
329 Say Y here if you want to use a FTDI SIO single port USB to serial
330 converter device. The implementation I have is called the USC-1000.
331 This driver has also be tested with the 245 and 232 devices.
333 See <http://ftdi-usb-sio.sourceforge.net/> for more
334 information on this driver and the device.
336 config ADK_LINUX_KERNEL_USB_SERIAL_MCT_U232
337 tristate "Support for Magic Control Technology USB-to-Serial converters"
338 depends on ADK_LINUX_KERNEL_USB_SERIAL
340 Say Y here if you want to use a USB Serial single port adapter from
341 Magic Control Technology Corp. (U232 is one of the model numbers).
343 This driver also works with Sitecom U232-P25 and D-Link DU-H3SP USB
344 BAY, Belkin F5U109, and Belkin F5U409 devices.
346 config ADK_LINUX_KERNEL_USB_SERIAL_PL2303
347 tristate "Support for Prolific PL2303 USB-to-Serial converters"
348 depends on ADK_LINUX_KERNEL_USB_SERIAL
350 Say Y here if you want to use the PL2303 USB Serial single port
351 adapter from Prolific.
353 config ADK_LINUX_KERNEL_USB_SERIAL_VISOR
354 tristate "Support for Handspring Visor / Palm m50x / Sony Clie Driver"
355 depends on ADK_LINUX_KERNEL_USB_SERIAL
357 Say Y here if you want to connect to your HandSpring Visor, Palm
358 m500 or m505 through its USB docking station. See
359 <http://usbvisor.sourceforge.net/> for more information on using this
362 config ADK_LINUX_KERNEL_USB_SERIAL_SIERRAWIRELESS
363 tristate "Support for Sierra Wireless USB-to-Serial converters"
364 depends on ADK_LINUX_KERNEL_USB_SERIAL
366 config ADK_LINUX_KERNEL_USB_SERIAL_OPTION
367 tristate "USB driver for GSM and CDMA modems"
368 depends on ADK_LINUX_KERNEL_USB_SERIAL
370 Say Y here if you have a GSM or CDMA modem that's connected to USB.
372 config ADK_LINUX_KERNEL_USB_SERIAL_WWAN
374 depends on ADK_LINUX_KERNEL_USB_SERIAL
376 config ADK_LINUX_KERNEL_USB_ATM
377 tristate "Support for USB ATM devices"
379 config ADK_LINUX_KERNEL_USB_ATM_SPEEDTOUCH
380 tristate "Support for USB Speedtouch ADSL modem"
381 depends on ADK_LINUX_KERNEL_USB_ATM
383 config ADK_LINUX_KERNEL_USB_SISUSBVGA
384 tristate "USB 2.0 SVGA dongle support (Net2280/SiS315)"
386 config ADK_LINUX_KERNEL_USB_NET_QMI_WWAN
387 tristate "Qualcomm LTE modems"
388 select ADK_LINUX_KERNEL_USB_USBNET
391 config ADK_LINUX_KERNEL_USB_SIERRA_NET
392 tristate "Sierra Wireless MC8775 PCI Express"
393 select ADK_LINUX_KERNEL_USB_USBNET
395 Driver for WWAN modem Sierra Wireless MC8775 PCI Express
398 config ADK_LINUX_KERNEL_SND_USB
400 depends on ADK_LINUX_KERNEL_USB
402 config ADK_LINUX_KERNEL_SND_USB_AUDIO
405 config ADK_LINUX_KERNEL_USB_GADGET
408 config ADK_LINUX_KERNEL_USB_AUDIO
411 config ADK_LINUX_KERNEL_USB_MIDI_GADGET
412 tristate "USB Midi Gadgets"
413 select ADK_LINUX_KERNEL_USB_GADGET
414 select ADK_LINUX_KERNEL_USB_AUDIO
415 select ADK_LINUX_KERNEL_SND_USB_AUDIO
416 select ADK_LINUX_KERNEL_SND_USB
418 Enable USB midi devices