Файловый менеджер - Редактировать - /var/www/xthruster/html/wp-content/uploads/flags/usb.tar
Назад
caiaq/Makefile 0000644 00000000304 14722071777 0007275 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only snd-usb-caiaq-y := device.o audio.o midi.o control.o snd-usb-caiaq-$(CONFIG_SND_USB_CAIAQ_INPUT) += input.o obj-$(CONFIG_SND_USB_CAIAQ) += snd-usb-caiaq.o 6fire/Makefile 0000644 00000000236 14722071777 0007236 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only snd-usb-6fire-objs += chip.o comm.o midi.o control.o firmware.o pcm.o obj-$(CONFIG_SND_USB_6FIRE) += snd-usb-6fire.o Kconfig 0000644 00000011454 14722071777 0006072 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB device configuration # config USB_OHCI_BIG_ENDIAN_DESC bool config USB_OHCI_BIG_ENDIAN_MMIO bool config USB_OHCI_LITTLE_ENDIAN bool default n if STB03xxx || PPC_MPC52xx default y config USB_EHCI_BIG_ENDIAN_MMIO bool config USB_EHCI_BIG_ENDIAN_DESC bool config USB_UHCI_BIG_ENDIAN_MMIO bool config USB_UHCI_BIG_ENDIAN_DESC bool menuconfig USB_SUPPORT bool "USB support" depends on HAS_IOMEM default y ---help--- This option adds core support for Universal Serial Bus (USB). You will also need drivers from the following menu to make use of it. if USB_SUPPORT source "drivers/usb/common/Kconfig" config USB_ARCH_HAS_HCD def_bool y config USB tristate "Support for Host-side USB" depends on USB_ARCH_HAS_HCD select GENERIC_ALLOCATOR select USB_COMMON select NLS # for UTF-8 strings ---help--- Universal Serial Bus (USB) is a specification for a serial bus subsystem which offers higher speeds and more features than the traditional PC serial port. The bus supplies power to peripherals and allows for hot swapping. Up to 127 USB peripherals can be connected to a single USB host in a tree structure. The USB host is the root of the tree, the peripherals are the leaves and the inner nodes are special USB devices called hubs. Most PCs now have USB host ports, used to connect peripherals such as scanners, keyboards, mice, modems, cameras, disks, flash memory, network links, and printers to the PC. Say Y here if your computer has a host-side USB port and you want to use USB devices. You then need to say Y to at least one of the Host Controller Driver (HCD) options below. Choose a USB 1.1 controller, such as "UHCI HCD support" or "OHCI HCD support", and "EHCI HCD (USB 2.0) support" except for older systems that do not have USB 2.0 support. It doesn't normally hurt to select them all if you are not certain. If your system has a device-side USB port, used in the peripheral side of the USB protocol, see the "USB Gadget" framework instead. After choosing your HCD, then select drivers for the USB peripherals you'll be using. You may want to check out the information provided in <file:Documentation/usb/> and especially the links given in <file:Documentation/usb/usb-help.rst>. To compile this driver as a module, choose M here: the module will be called usbcore. config USB_PCI bool "PCI based USB host interface" depends on PCI default y ---help--- Many embedded system SOCs (e.g. freescale T2080) have both PCI and USB modules with the USB module directly controlled by registers and having no relationship to the PCI module. If you have such a device you may say N here and PCI related code will not be built in the USB driver. if USB source "drivers/usb/core/Kconfig" source "drivers/usb/mon/Kconfig" source "drivers/usb/host/Kconfig" source "drivers/usb/renesas_usbhs/Kconfig" source "drivers/usb/class/Kconfig" source "drivers/usb/storage/Kconfig" source "drivers/usb/image/Kconfig" source "drivers/usb/usbip/Kconfig" endif source "drivers/usb/cdns3/Kconfig" source "drivers/usb/mtu3/Kconfig" source "drivers/usb/musb/Kconfig" source "drivers/usb/dwc3/Kconfig" source "drivers/usb/dwc2/Kconfig" source "drivers/usb/chipidea/Kconfig" source "drivers/usb/isp1760/Kconfig" comment "USB port drivers" if USB config USB_USS720 tristate "USS720 parport driver" depends on PARPORT select PARPORT_NOT_PC ---help--- This driver is for USB parallel port adapters that use the Lucent Technologies USS-720 chip. These cables are plugged into your USB port and provide USB compatibility to peripherals designed with parallel port interfaces. The chip has two modes: automatic mode and manual mode. In automatic mode, it looks to the computer like a standard USB printer. Only printers may be connected to the USS-720 in this mode. The generic USB printer driver ("USB Printer support", above) may be used in that mode, and you can say N here if you want to use the chip only in this mode. Manual mode is not limited to printers, any parallel port device should work. This driver utilizes manual mode. Note however that some operations are three orders of magnitude slower than on a PCI/ISA Parallel Port, so timing critical applications might not work. Say Y here if you own an USS-720 USB->Parport cable and intend to connect anything other than a printer to it. To compile this driver as a module, choose M here: the module will be called uss720. source "drivers/usb/serial/Kconfig" source "drivers/usb/misc/Kconfig" source "drivers/usb/atm/Kconfig" endif # USB source "drivers/usb/phy/Kconfig" source "drivers/usb/gadget/Kconfig" source "drivers/usb/typec/Kconfig" source "drivers/usb/roles/Kconfig" endif # USB_SUPPORT hiface/Makefile 0000644 00000000175 14722071777 0007444 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only snd-usb-hiface-objs := chip.o pcm.o obj-$(CONFIG_SND_USB_HIFACE) += snd-usb-hiface.o misc/Makefile 0000644 00000002344 14722071777 0007160 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the rest of the USB drivers # (the ones that don't fit into any other categories) # obj-$(CONFIG_USB_ADUTUX) += adutux.o obj-$(CONFIG_USB_APPLEDISPLAY) += appledisplay.o obj-$(CONFIG_USB_CYPRESS_CY7C63) += cypress_cy7c63.o obj-$(CONFIG_USB_CYTHERM) += cytherm.o obj-$(CONFIG_USB_EMI26) += emi26.o obj-$(CONFIG_USB_EMI62) += emi62.o obj-$(CONFIG_USB_EZUSB_FX2) += ezusb.o obj-$(CONFIG_USB_FTDI_ELAN) += ftdi-elan.o obj-$(CONFIG_USB_IDMOUSE) += idmouse.o obj-$(CONFIG_USB_IOWARRIOR) += iowarrior.o obj-$(CONFIG_USB_ISIGHTFW) += isight_firmware.o obj-$(CONFIG_USB_LCD) += usblcd.o obj-$(CONFIG_USB_LD) += ldusb.o obj-$(CONFIG_USB_LEGOTOWER) += legousbtower.o obj-$(CONFIG_USB_TEST) += usbtest.o obj-$(CONFIG_USB_EHSET_TEST_FIXTURE) += ehset.o obj-$(CONFIG_USB_TRANCEVIBRATOR) += trancevibrator.o obj-$(CONFIG_USB_USS720) += uss720.o obj-$(CONFIG_USB_SEVSEG) += usbsevseg.o obj-$(CONFIG_USB_YUREX) += yurex.o obj-$(CONFIG_USB_HUB_USB251XB) += usb251xb.o obj-$(CONFIG_USB_HSIC_USB3503) += usb3503.o obj-$(CONFIG_USB_HSIC_USB4604) += usb4604.o obj-$(CONFIG_USB_CHAOSKEY) += chaoskey.o obj-$(CONFIG_USB_SISUSBVGA) += sisusbvga/ obj-$(CONFIG_USB_LINK_LAYER_TEST) += lvstest.o usx2y/Makefile 0000644 00000000342 14722071777 0007313 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 snd-usb-usx2y-objs := usbusx2y.o usX2Yhwdep.o usx2yhwdeppcm.o snd-usb-us122l-objs := us122l.o obj-$(CONFIG_SND_USB_USX2Y) += snd-usb-usx2y.o obj-$(CONFIG_SND_USB_US122L) += snd-usb-us122l.o bcd2000/Makefile 0000644 00000000157 14722071777 0007257 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only snd-bcd2000-y := bcd2000.o obj-$(CONFIG_SND_BCD2000) += snd-bcd2000.o line6/Kconfig 0000644 00000002226 14722071777 0007104 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config SND_USB_LINE6 tristate select SND_RAWMIDI select SND_PCM select SND_HWDEP config SND_USB_POD tristate "Line 6 POD USB support" select SND_USB_LINE6 help This is a driver for PODxt and other similar devices, supporting the following features: * Reading/writing individual parameters * Reading/writing complete channel, effects setup, and amp setup data * Channel switching * Virtual MIDI interface * Tuner access * Playback/capture/mixer device for any ALSA-compatible PCM audio application * Signal routing (record clean/processed guitar signal, re-amping) config SND_USB_PODHD tristate "Line 6 POD X3/HD300/400/500 USB support" select SND_USB_LINE6 help This is a driver for POD X3, HD300, 400 and 500 devices. config SND_USB_TONEPORT tristate "TonePort GX, UX1 and UX2 USB support" select SND_USB_LINE6 select NEW_LEDS select LEDS_CLASS help This is a driver for TonePort GX, UX1 and UX2 devices. config SND_USB_VARIAX tristate "Variax Workbench USB support" select SND_USB_LINE6 help This is a driver for Variax Workbench device. line6/Makefile 0000644 00000000750 14722071777 0007241 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 snd-usb-line6-y := \ capture.o \ driver.o \ midi.o \ midibuf.o \ pcm.o \ playback.o snd-usb-pod-y := pod.o snd-usb-podhd-y := podhd.o snd-usb-toneport-y := toneport.o snd-usb-variax-y := variax.o obj-$(CONFIG_SND_USB_LINE6) += snd-usb-line6.o obj-$(CONFIG_SND_USB_POD) += snd-usb-pod.o obj-$(CONFIG_SND_USB_PODHD) += snd-usb-podhd.o obj-$(CONFIG_SND_USB_TONEPORT) += snd-usb-toneport.o obj-$(CONFIG_SND_USB_VARIAX) += snd-usb-variax.o Makefile 0000644 00000003367 14722071777 0006233 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the kernel USB device drivers. # # Object files in subdirectories obj-$(CONFIG_USB_COMMON) += common/ obj-$(CONFIG_USB) += core/ obj-$(CONFIG_USB_SUPPORT) += phy/ obj-$(CONFIG_USB_DWC3) += dwc3/ obj-$(CONFIG_USB_DWC2) += dwc2/ obj-$(CONFIG_USB_ISP1760) += isp1760/ obj-$(CONFIG_USB_CDNS3) += cdns3/ obj-$(CONFIG_USB_MON) += mon/ obj-$(CONFIG_USB_MTU3) += mtu3/ obj-$(CONFIG_USB_PCI) += host/ obj-$(CONFIG_USB_EHCI_HCD) += host/ obj-$(CONFIG_USB_ISP116X_HCD) += host/ obj-$(CONFIG_USB_OHCI_HCD) += host/ obj-$(CONFIG_USB_UHCI_HCD) += host/ obj-$(CONFIG_USB_FHCI_HCD) += host/ obj-$(CONFIG_USB_XHCI_HCD) += host/ obj-$(CONFIG_USB_SL811_HCD) += host/ obj-$(CONFIG_USB_ISP1362_HCD) += host/ obj-$(CONFIG_USB_U132_HCD) += host/ obj-$(CONFIG_USB_R8A66597_HCD) += host/ obj-$(CONFIG_USB_HWA_HCD) += host/ obj-$(CONFIG_USB_IMX21_HCD) += host/ obj-$(CONFIG_USB_FSL_USB2) += host/ obj-$(CONFIG_USB_FOTG210_HCD) += host/ obj-$(CONFIG_USB_MAX3421_HCD) += host/ obj-$(CONFIG_USB_C67X00_HCD) += c67x00/ obj-$(CONFIG_USB_ACM) += class/ obj-$(CONFIG_USB_PRINTER) += class/ obj-$(CONFIG_USB_WDM) += class/ obj-$(CONFIG_USB_TMC) += class/ obj-$(CONFIG_USB_STORAGE) += storage/ obj-$(CONFIG_USB) += storage/ obj-$(CONFIG_USB_MDC800) += image/ obj-$(CONFIG_USB_MICROTEK) += image/ obj-$(CONFIG_USB_SERIAL) += serial/ obj-$(CONFIG_USB) += misc/ obj-$(CONFIG_EARLY_PRINTK_USB) += early/ obj-$(CONFIG_USB_ATM) += atm/ obj-$(CONFIG_USB_SPEEDTOUCH) += atm/ obj-$(CONFIG_USB_MUSB_HDRC) += musb/ obj-$(CONFIG_USB_CHIPIDEA) += chipidea/ obj-$(CONFIG_USB_RENESAS_USBHS) += renesas_usbhs/ obj-$(CONFIG_USB_GADGET) += gadget/ obj-$(CONFIG_USBIP_CORE) += usbip/ obj-$(CONFIG_TYPEC) += typec/ obj-$(CONFIG_USB_ROLE_SWITCH) += roles/ core/Kconfig 0000644 00000007206 14722072341 0007006 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Core configuration # config USB_ANNOUNCE_NEW_DEVICES bool "USB announce new devices" help Say Y here if you want the USB core to always announce the idVendor, idProduct, Manufacturer, Product, and SerialNumber strings for every new USB device to the syslog. This option is usually used by distro vendors to help with debugging and to let users know what specific device was added to the machine in what location. If you do not want this kind of information sent to the system log, or have any doubts about this, say N here. comment "Miscellaneous USB options" config USB_DEFAULT_PERSIST bool "Enable USB persist by default" default y help Say N here if you don't want USB power session persistence enabled by default. If you say N it will make suspended USB devices that lose power get reenumerated as if they had been unplugged, causing any mounted filesystems to be lost. The persist feature can still be enabled for individual devices through the power/persist sysfs node. See Documentation/driver-api/usb/persist.rst for more info. If you have any questions about this, say Y here, only say N if you know exactly what you are doing. config USB_DYNAMIC_MINORS bool "Dynamic USB minor allocation" help If you say Y here, the USB subsystem will use dynamic minor allocation for any device that uses the USB major number. This means that you can have more than 16 of a single type of device (like USB printers). If you are unsure about this, say N here. config USB_OTG bool "OTG support" depends on PM help The most notable feature of USB OTG is support for a "Dual-Role" device, which can act as either a device or a host. The initial role is decided by the type of plug inserted and can be changed later when two dual role devices talk to each other. Select this only if your board has Mini-AB/Micro-AB connector. config USB_OTG_WHITELIST bool "Rely on OTG and EH Targeted Peripherals List" depends on USB help If you say Y here, the "otg_whitelist.h" file will be used as a product whitelist, so USB peripherals not listed there will be rejected during enumeration. This behavior is required by the USB OTG and EH specification for all devices not on your product's "Targeted Peripherals List". "Embedded Hosts" are likewise allowed to support only a limited number of peripherals. config USB_OTG_BLACKLIST_HUB bool "Disable external hubs" depends on USB_OTG || EXPERT help If you say Y here, then Linux will refuse to enumerate external hubs. OTG hosts are allowed to reduce hardware and software costs by not supporting external hubs. So are "Embedded Hosts" that don't offer OTG support. config USB_OTG_FSM tristate "USB 2.0 OTG FSM implementation" depends on USB && USB_OTG select USB_PHY help Implements OTG Finite State Machine as specified in On-The-Go and Embedded Host Supplement to the USB Revision 2.0 Specification. config USB_LEDS_TRIGGER_USBPORT tristate "USB port LED trigger" depends on USB && LEDS_TRIGGERS help This driver allows LEDs to be controlled by USB events. Enabling this trigger allows specifying list of USB ports that should turn on LED when some USB device gets connected. config USB_AUTOSUSPEND_DELAY int "Default autosuspend delay" depends on USB default 2 help The default autosuspend delay in seconds. Can be overridden with the usbcore.autosuspend command line or module parameter. The default value Linux has always had is 2 seconds. Change this value if you want a different delay and cannot modify the command line or module parameter. core/Makefile 0000644 00000000746 14722072341 0007145 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for USB Core files and filesystem # usbcore-y := usb.o hub.o hcd.o urb.o message.o driver.o usbcore-y += config.o file.o buffer.o sysfs.o endpoint.o usbcore-y += devio.o notify.o generic.o quirks.o devices.o usbcore-y += phy.o port.o usbcore-$(CONFIG_OF) += of.o usbcore-$(CONFIG_USB_PCI) += hcd-pci.o usbcore-$(CONFIG_ACPI) += usb-acpi.o obj-$(CONFIG_USB) += usbcore.o obj-$(CONFIG_USB_LEDS_TRIGGER_USBPORT) += ledtrig-usbport.o musb/Kconfig 0000644 00000010453 14722072341 0007022 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Dual Role (OTG-ready) Controller Drivers # for silicon based on Mentor Graphics INVENTRA designs # # (M)HDRC = (Multipoint) Highspeed Dual-Role Controller config USB_MUSB_HDRC tristate 'Inventra Highspeed Dual Role Controller' depends on (USB || USB_GADGET) depends on HAS_IOMEM help Say Y here if your system has a dual role high speed USB controller based on the Mentor Graphics silicon IP. Then configure options to match your silicon and the board it's being used with, including the USB peripheral role, or the USB host role, or both. Texas Instruments families using this IP include DaVinci (35x, 644x ...), OMAP 243x, OMAP 3, and TUSB 6010. Allwinner SoCs using this IP include A10, A13, A20, ... If you do not know what this is, please say N. To compile this driver as a module, choose M here; the module will be called "musb-hdrc". if USB_MUSB_HDRC choice bool "MUSB Mode Selection" default USB_MUSB_DUAL_ROLE if (USB && USB_GADGET) default USB_MUSB_HOST if (USB && !USB_GADGET) default USB_MUSB_GADGET if (!USB && USB_GADGET) config USB_MUSB_HOST bool "Host only mode" depends on USB=y || USB=USB_MUSB_HDRC help Select this when you want to use MUSB in host mode only, thereby the gadget feature will be regressed. config USB_MUSB_GADGET bool "Gadget only mode" depends on USB_GADGET=y || USB_GADGET=USB_MUSB_HDRC depends on HAS_DMA help Select this when you want to use MUSB in gadget mode only, thereby the host feature will be regressed. config USB_MUSB_DUAL_ROLE bool "Dual Role mode" depends on ((USB=y || USB=USB_MUSB_HDRC) && (USB_GADGET=y || USB_GADGET=USB_MUSB_HDRC)) depends on HAS_DMA help This is the default mode of working of MUSB controller where both host and gadget features are enabled. endchoice comment "Platform Glue Layer" config USB_MUSB_SUNXI tristate "Allwinner (sunxi)" depends on ARCH_SUNXI depends on NOP_USB_XCEIV depends on PHY_SUN4I_USB depends on EXTCON select GENERIC_PHY select SUNXI_SRAM config USB_MUSB_DAVINCI tristate "DaVinci" depends on ARCH_DAVINCI_DMx depends on NOP_USB_XCEIV depends on BROKEN config USB_MUSB_DA8XX tristate "DA8xx/OMAP-L1x" depends on ARCH_DAVINCI_DA8XX depends on NOP_USB_XCEIV select PHY_DA8XX_USB config USB_MUSB_TUSB6010 tristate "TUSB6010" depends on HAS_IOMEM depends on ARCH_OMAP2PLUS || COMPILE_TEST depends on NOP_USB_XCEIV = USB_MUSB_HDRC # both built-in or both modules config USB_MUSB_OMAP2PLUS tristate "OMAP2430 and onwards" depends on ARCH_OMAP2PLUS && USB depends on OMAP_CONTROL_PHY || !OMAP_CONTROL_PHY select GENERIC_PHY config USB_MUSB_AM35X tristate "AM35x" depends on ARCH_OMAP depends on NOP_USB_XCEIV config USB_MUSB_DSPS tristate "TI DSPS platforms" select USB_MUSB_AM335X_CHILD depends on ARCH_OMAP2PLUS || COMPILE_TEST depends on OF_IRQ config USB_MUSB_UX500 tristate "Ux500 platforms" depends on ARCH_U8500 || COMPILE_TEST config USB_MUSB_JZ4740 tristate "JZ4740" depends on NOP_USB_XCEIV depends on MIPS || COMPILE_TEST depends on USB_MUSB_GADGET depends on USB=n || USB_OTG_BLACKLIST_HUB config USB_MUSB_AM335X_CHILD tristate comment "MUSB DMA mode" config MUSB_PIO_ONLY bool 'Disable DMA (always use PIO)' help All data is copied between memory and FIFO by the CPU. DMA controllers are ignored. Do not choose this unless DMA support for your SOC or board is unavailable (or unstable). When DMA is enabled at compile time, you can still disable it at run time using the "use_dma=n" module parameter. if !MUSB_PIO_ONLY config USB_UX500_DMA bool 'ST Ericsson Ux500' depends on USB_MUSB_UX500 help Enable DMA transfers on UX500 platforms. config USB_INVENTRA_DMA bool 'Inventra' depends on USB_MUSB_OMAP2PLUS help Enable DMA transfers using Mentor's engine. config USB_TI_CPPI_DMA bool 'TI CPPI (Davinci)' depends on USB_MUSB_DAVINCI help Enable DMA transfers when TI CPPI DMA is available. config USB_TI_CPPI41_DMA bool 'TI CPPI 4.1' depends on (ARCH_OMAP || ARCH_DAVINCI_DA8XX) && DMADEVICES select TI_CPPI41 config USB_TUSB_OMAP_DMA bool 'TUSB 6010' depends on USB_MUSB_TUSB6010 = USB_MUSB_HDRC # both built-in or both modules depends on ARCH_OMAP help Enable DMA transfers on TUSB 6010 when OMAP DMA is available. endif # !MUSB_PIO_ONLY endif # USB_MUSB_HDRC musb/Makefile 0000644 00000002700 14722072341 0007153 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # for USB OTG silicon based on Mentor Graphics INVENTRA designs # # define_trace.h needs to know how to find our header CFLAGS_musb_trace.o := -I$(src) obj-$(CONFIG_USB_MUSB_HDRC) += musb_hdrc.o musb_hdrc-y := musb_core.o musb_trace.o musb_hdrc-$(CONFIG_USB_MUSB_HOST)$(CONFIG_USB_MUSB_DUAL_ROLE) += musb_virthub.o musb_host.o musb_hdrc-$(CONFIG_USB_MUSB_GADGET)$(CONFIG_USB_MUSB_DUAL_ROLE) += musb_gadget_ep0.o musb_gadget.o musb_hdrc-$(CONFIG_DEBUG_FS) += musb_debugfs.o # Hardware Glue Layer obj-$(CONFIG_USB_MUSB_OMAP2PLUS) += omap2430.o obj-$(CONFIG_USB_MUSB_AM35X) += am35x.o obj-$(CONFIG_USB_MUSB_DSPS) += musb_dsps.o obj-$(CONFIG_USB_MUSB_TUSB6010) += tusb6010.o obj-$(CONFIG_USB_MUSB_DAVINCI) += davinci.o obj-$(CONFIG_USB_MUSB_DA8XX) += da8xx.o obj-$(CONFIG_USB_MUSB_UX500) += ux500.o obj-$(CONFIG_USB_MUSB_JZ4740) += jz4740.o obj-$(CONFIG_USB_MUSB_SUNXI) += sunxi.o obj-$(CONFIG_USB_MUSB_AM335X_CHILD) += musb_am335x.o # the kconfig must guarantee that only one of the # possible I/O schemes will be enabled at a time ... # PIO only, or DMA (several potential schemes). # though PIO is always there to back up DMA, and for ep0 musb_hdrc-$(CONFIG_USB_INVENTRA_DMA) += musbhsdma.o musb_hdrc-$(CONFIG_USB_TI_CPPI_DMA) += cppi_dma.o musb_hdrc-$(CONFIG_USB_TUSB_OMAP_DMA) += tusb6010_omap.o musb_hdrc-$(CONFIG_USB_UX500_DMA) += ux500_dma.o musb_hdrc-$(CONFIG_USB_TI_CPPI41_DMA) += musb_cppi41.o chipidea/Kconfig 0000644 00000002177 14722072341 0007626 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config USB_CHIPIDEA tristate "ChipIdea Highspeed Dual Role Controller" depends on ((USB_EHCI_HCD && USB_GADGET) || (USB_EHCI_HCD && !USB_GADGET) || (!USB_EHCI_HCD && USB_GADGET)) && HAS_DMA select EXTCON select RESET_CONTROLLER select USB_ULPI_BUS select USB_ROLE_SWITCH help Say Y here if your system has a dual role high speed USB controller based on ChipIdea silicon IP. It supports: Dual-role switch (ID, OTG FSM, sysfs), Host-only, and Peripheral-only. When compiled dynamically, the module will be called ci_hdrc.ko. if USB_CHIPIDEA config USB_CHIPIDEA_OF tristate depends on OF default USB_CHIPIDEA config USB_CHIPIDEA_PCI tristate depends on USB_PCI depends on NOP_USB_XCEIV default USB_CHIPIDEA config USB_CHIPIDEA_UDC bool "ChipIdea device controller" depends on USB_GADGET help Say Y here to enable device controller functionality of the ChipIdea driver. config USB_CHIPIDEA_HOST bool "ChipIdea host controller" depends on USB_EHCI_HCD select USB_EHCI_ROOT_HUB_TT help Say Y here to enable host controller functionality of the ChipIdea driver. endif chipidea/Makefile 0000644 00000001105 14722072341 0007751 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_USB_CHIPIDEA) += ci_hdrc.o ci_hdrc-y := core.o otg.o debug.o ulpi.o ci_hdrc-$(CONFIG_USB_CHIPIDEA_UDC) += udc.o ci_hdrc-$(CONFIG_USB_CHIPIDEA_HOST) += host.o ci_hdrc-$(CONFIG_USB_OTG_FSM) += otg_fsm.o # Glue/Bridge layers go here obj-$(CONFIG_USB_CHIPIDEA) += ci_hdrc_usb2.o obj-$(CONFIG_USB_CHIPIDEA) += ci_hdrc_msm.o obj-$(CONFIG_USB_CHIPIDEA) += ci_hdrc_zevio.o obj-$(CONFIG_USB_CHIPIDEA_PCI) += ci_hdrc_pci.o obj-$(CONFIG_USB_CHIPIDEA_OF) += usbmisc_imx.o ci_hdrc_imx.o obj-$(CONFIG_USB_CHIPIDEA_OF) += ci_hdrc_tegra.o typec/tcpm/Kconfig 0000644 00000002767 14722072341 0010154 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config TYPEC_TCPM tristate "USB Type-C Port Controller Manager" depends on USB select USB_ROLE_SWITCH select POWER_SUPPLY help The Type-C Port Controller Manager provides a USB PD and USB Type-C state machine for use with Type-C Port Controllers. if TYPEC_TCPM config TYPEC_TCPCI tristate "Type-C Port Controller Interface driver" depends on I2C select REGMAP_I2C help Type-C Port Controller driver for TCPCI-compliant controller. if TYPEC_TCPCI config TYPEC_RT1711H tristate "Richtek RT1711H Type-C chip driver" help Richtek RT1711H Type-C chip driver that works with Type-C Port Controller Manager to provide USB PD and USB Type-C functionalities. endif # TYPEC_TCPCI config TYPEC_FUSB302 tristate "Fairchild FUSB302 Type-C chip driver" depends on I2C depends on EXTCON || !EXTCON help The Fairchild FUSB302 Type-C chip driver that works with Type-C Port Controller Manager to provide USB PD and USB Type-C functionalities. config TYPEC_WCOVE tristate "Intel WhiskeyCove PMIC USB Type-C PHY driver" depends on ACPI depends on INTEL_SOC_PMIC depends on INTEL_PMC_IPC depends on BXT_WC_PMIC_OPREGION help This driver adds support for USB Type-C on Intel Broxton platforms that have Intel Whiskey Cove PMIC. The driver works with USB Type-C Port Controller Manager to provide USB PD and Type-C functionalities. To compile this driver as module, choose M here: the module will be called typec_wcove.ko endif # TYPEC_TCPM typec/tcpm/Makefile 0000644 00000000411 14722072341 0010271 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_TYPEC_TCPM) += tcpm.o obj-$(CONFIG_TYPEC_FUSB302) += fusb302.o obj-$(CONFIG_TYPEC_WCOVE) += typec_wcove.o typec_wcove-y := wcove.o obj-$(CONFIG_TYPEC_TCPCI) += tcpci.o obj-$(CONFIG_TYPEC_RT1711H) += tcpci_rt1711h.o typec/Kconfig 0000644 00000005703 14722072341 0007202 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menuconfig TYPEC tristate "USB Type-C Support" help USB Type-C Specification defines a cable and connector for USB where only one type of plug is supported on both ends, i.e. there will not be Type-A plug on one end of the cable and Type-B plug on the other. Determination of the host-to-device relationship happens through a specific Configuration Channel (CC) which goes through the USB Type-C cable. The Configuration Channel may also be used to detect optional Accessory Modes - Analog Audio and Debug - and if USB Power Delivery is supported, the Alternate Modes, where the connector is used for something else then USB communication. USB Power Delivery Specification defines a protocol that can be used to negotiate the voltage and current levels with the connected partners. USB Power Delivery allows higher voltages then the normal 5V, up to 20V, and current up to 5A over the cable. The USB Power Delivery protocol is also used to negotiate the optional Alternate Modes when they are supported. USB Power Delivery does not depend on USB Type-C connector, however it is mostly used together with USB Type-C connectors. USB Type-C and USB Power Delivery Specifications define a set of state machines that need to be implemented in either software or firmware. Simple USB Type-C PHYs, for example USB Type-C Port Controller Interface Specification compliant "Port Controllers" need the state machines to be handled in the OS, but stand-alone USB Type-C and Power Delivery controllers handle the state machines inside their firmware. The USB Type-C and Power Delivery controllers usually function autonomously, and do not necessarily require drivers. Enable this configurations option if you have USB Type-C connectors on your system and 1) you know your USB Type-C hardware requires OS control (a driver) to function, or 2) if you need to be able to read the status of the USB Type-C ports in your system, or 3) if you need to be able to swap the power role (decide are you supplying or consuming power over the cable) or data role (host or device) when both roles are supported. For more information, see the kernel documentation for USB Type-C Connector Class API (Documentation/driver-api/usb/typec.rst) <https://www.kernel.org/doc/html/latest/driver-api/usb/typec.html> and ABI (Documentation/ABI/testing/sysfs-class-typec). if TYPEC source "drivers/usb/typec/tcpm/Kconfig" source "drivers/usb/typec/ucsi/Kconfig" config TYPEC_TPS6598X tristate "TI TPS6598x USB Power Delivery controller driver" depends on I2C select REGMAP_I2C help Say Y or M here if your system has TI TPS65982 or TPS65983 USB Power Delivery controller. If you choose to build this driver as a dynamically linked module, the module will be called tps6598x.ko. source "drivers/usb/typec/mux/Kconfig" source "drivers/usb/typec/altmodes/Kconfig" endif # TYPEC typec/mux/Kconfig 0000644 00000000532 14722072341 0010006 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menu "USB Type-C Multiplexer/DeMultiplexer Switch support" config TYPEC_MUX_PI3USB30532 tristate "Pericom PI3USB30532 Type-C cross switch driver" depends on I2C help Say Y or M if your system has a Pericom PI3USB30532 Type-C cross switch / mux chip found on some devices with a Type-C port. endmenu typec/mux/Makefile 0000644 00000000131 14722072341 0010136 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_TYPEC_MUX_PI3USB30532) += pi3usb30532.o typec/ucsi/Kconfig 0000644 00000003512 14722072341 0010141 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config TYPEC_UCSI tristate "USB Type-C Connector System Software Interface driver" depends on !CPU_BIG_ENDIAN help USB Type-C Connector System Software Interface (UCSI) is a specification for an interface that allows the operating system to control the USB Type-C ports. On UCSI system the USB Type-C ports function autonomously by default, but in order to get the status of the ports and support basic operations like role swapping, the driver is required. UCSI is available on most of the new Intel based systems that are equipped with Embedded Controller and USB Type-C ports. UCSI specification does not define the interface method, so depending on the platform, ACPI, PCI, I2C, etc. may be used. Therefore this driver only provides the core part, and separate drivers are needed for every supported interface method. The UCSI specification can be downloaded from: http://www.intel.com/content/www/us/en/io/universal-serial-bus/usb-type-c-ucsi-spec.html To compile the driver as a module, choose M here: the module will be called typec_ucsi. if TYPEC_UCSI config UCSI_CCG tristate "UCSI Interface Driver for Cypress CCGx" depends on I2C help This driver enables UCSI support on platforms that expose a Cypress CCGx Type-C controller over I2C interface. To compile the driver as a module, choose M here: the module will be called ucsi_ccg. config UCSI_ACPI tristate "UCSI ACPI Interface Driver" depends on ACPI help This driver enables UCSI support on platforms that expose UCSI interface as ACPI device. On new Intel Atom based platforms starting from Broxton SoCs and Core platforms stating from Skylake, UCSI is an ACPI enumerated device. To compile the driver as a module, choose M here: the module will be called ucsi_acpi endif typec/ucsi/Makefile 0000644 00000000516 14722072341 0010277 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 CFLAGS_trace.o := -I$(src) obj-$(CONFIG_TYPEC_UCSI) += typec_ucsi.o typec_ucsi-y := ucsi.o typec_ucsi-$(CONFIG_TRACING) += trace.o ifneq ($(CONFIG_TYPEC_DP_ALTMODE),) typec_ucsi-y += displayport.o endif obj-$(CONFIG_UCSI_ACPI) += ucsi_acpi.o obj-$(CONFIG_UCSI_CCG) += ucsi_ccg.o typec/Makefile 0000644 00000000423 14722072341 0007331 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_TYPEC) += typec.o typec-y := class.o mux.o bus.o obj-$(CONFIG_TYPEC) += altmodes/ obj-$(CONFIG_TYPEC_TCPM) += tcpm/ obj-$(CONFIG_TYPEC_UCSI) += ucsi/ obj-$(CONFIG_TYPEC_TPS6598X) += tps6598x.o obj-$(CONFIG_TYPEC) += mux/ typec/altmodes/Kconfig 0000644 00000001346 14722072341 0011011 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menu "USB Type-C Alternate Mode drivers" config TYPEC_DP_ALTMODE tristate "DisplayPort Alternate Mode driver" help DisplayPort USB Type-C Alternate Mode allows DisplayPort displays and adapters to be attached to the USB Type-C connectors on the system. To compile this driver as a module, choose M here: the module will be called typec_displayport. config TYPEC_NVIDIA_ALTMODE tristate "NVIDIA Alternate Mode driver" depends on TYPEC_DP_ALTMODE help Latest NVIDIA GPUs support VirtualLink devices. Select this to enable support for VirtualLink devices with NVIDIA GPUs. To compile this driver as a module, choose M here: the module will be called typec_nvidia. endmenu typec/altmodes/Makefile 0000644 00000000325 14722072341 0011142 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_TYPEC_DP_ALTMODE) += typec_displayport.o typec_displayport-y := displayport.o obj-$(CONFIG_TYPEC_NVIDIA_ALTMODE) += typec_nvidia.o typec_nvidia-y := nvidia.o phy/Kconfig 0000644 00000013325 14722072341 0006655 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Physical Layer USB driver configuration # menu "USB Physical Layer drivers" config USB_PHY select EXTCON def_bool n # # USB Transceiver Drivers # config AB8500_USB tristate "AB8500 USB Transceiver Driver" depends on AB8500_CORE select USB_PHY help Enable this to support the USB OTG transceiver in AB8500 chip. This transceiver supports high and full speed devices plus, in host mode, low speed. config FSL_USB2_OTG tristate "Freescale USB OTG Transceiver Driver" depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM=y && PM depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' select USB_PHY help Enable this to support Freescale USB OTG transceiver. config ISP1301_OMAP tristate "Philips ISP1301 with OMAP OTG" depends on I2C && ARCH_OMAP_OTG depends on USB depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' select USB_PHY help If you say yes here you get support for the Philips ISP1301 USB-On-The-Go transceiver working with the OMAP OTG controller. The ISP1301 is a full speed USB transceiver which is used in products including H2, H3, and H4 development boards for Texas Instruments OMAP processors. This driver can also be built as a module. If so, the module will be called phy-isp1301-omap. config KEYSTONE_USB_PHY tristate "Keystone USB PHY Driver" depends on ARCH_KEYSTONE || COMPILE_TEST depends on NOP_USB_XCEIV help Enable this to support Keystone USB phy. This driver provides interface to interact with USB 2.0 and USB 3.0 PHY that is part of the Keystone SOC. config NOP_USB_XCEIV tristate "NOP USB Transceiver Driver" depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, NOP can't be built-in select USB_PHY help This driver is to be used by all the usb transceiver which are either built-in with usb ip or which are autonomous and doesn't require any phy programming such as ISP1x04 etc. config AM335X_CONTROL_USB tristate config AM335X_PHY_USB tristate "AM335x USB PHY Driver" depends on ARM || COMPILE_TEST depends on NOP_USB_XCEIV select USB_PHY select AM335X_CONTROL_USB select USB_COMMON help This driver provides PHY support for that phy which part for the AM335x SoC. config TWL6030_USB tristate "TWL6030 USB Transceiver Driver" depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS depends on OF help Enable this to support the USB OTG transceiver on TWL6030 family chips. This TWL6030 transceiver has the VBUS and ID GND and OTG SRP events capabilities. For all other transceiver functionality UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs are hooked to this driver through platform_data structure. The definition of internal PHY APIs are in the mach-omap2 layer. config USB_GPIO_VBUS tristate "GPIO based peripheral-only VBUS sensing 'transceiver'" depends on GPIOLIB || COMPILE_TEST depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' select USB_PHY help Provides simple GPIO VBUS sensing for controllers with an internal transceiver via the usb_phy interface, and optionally control of a D+ pullup GPIO as well as a VBUS current limit regulator. config OMAP_OTG tristate "OMAP USB OTG controller driver" depends on ARCH_OMAP_OTG && EXTCON help Enable this to support some transceivers on OMAP1 platforms. OTG controller is needed to switch between host and peripheral modes. This driver can also be built as a module. If so, the module will be called phy-omap-otg. config TAHVO_USB tristate "Tahvo USB transceiver driver" depends on MFD_RETU depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' select USB_PHY help Enable this to support USB transceiver on Tahvo. This is used at least on Nokia 770. config TAHVO_USB_HOST_BY_DEFAULT depends on TAHVO_USB bool "Device in USB host mode by default" help Say Y here, if you want the device to enter USB host mode by default on bootup. config USB_ISP1301 tristate "NXP ISP1301 USB transceiver support" depends on USB || USB_GADGET depends on I2C select USB_PHY help Say Y here to add support for the NXP ISP1301 USB transceiver driver. This chip is typically used as USB transceiver for USB host, gadget and OTG drivers (to be selected separately). To compile this driver as a module, choose M here: the module will be called phy-isp1301. config USB_MV_OTG tristate "Marvell USB OTG support" depends on USB_EHCI_MV && USB_MV_UDC && PM && USB_OTG depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' select USB_PHY help Say Y here if you want to build Marvell USB OTG transciever driver in kernel (including PXA and MMP series). This driver implements role switch between EHCI host driver and gadget driver. To compile this driver as a module, choose M here. config USB_MXS_PHY tristate "Freescale MXS USB PHY support" depends on ARCH_MXC || ARCH_MXS select STMP_DEVICE select USB_PHY help Enable this to support the Freescale MXS USB PHY. MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x. config USB_TEGRA_PHY tristate "NVIDIA Tegra USB PHY Driver" depends on ARCH_TEGRA select USB_COMMON select USB_PHY select USB_ULPI help This driver provides PHY support for the USB controllers found on NVIDIA Tegra SoC's. config USB_ULPI bool "Generic ULPI Transceiver Driver" depends on ARM || ARM64 select USB_ULPI_VIEWPORT help Enable this to support ULPI connected USB OTG transceivers which are likely found on embedded boards. config USB_ULPI_VIEWPORT bool help Provides read/write operations to the ULPI phy register set for controllers with a viewport register (e.g. Chipidea/ARC controllers). endmenu phy/Makefile 0000644 00000001730 14722072341 0007007 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for physical layer USB drivers # obj-$(CONFIG_USB_PHY) += phy.o obj-$(CONFIG_OF) += of.o # transceiver drivers, keep the list sorted obj-$(CONFIG_AB8500_USB) += phy-ab8500-usb.o obj-$(CONFIG_FSL_USB2_OTG) += phy-fsl-usb.o obj-$(CONFIG_ISP1301_OMAP) += phy-isp1301-omap.o obj-$(CONFIG_NOP_USB_XCEIV) += phy-generic.o obj-$(CONFIG_TAHVO_USB) += phy-tahvo.o obj-$(CONFIG_AM335X_CONTROL_USB) += phy-am335x-control.o obj-$(CONFIG_AM335X_PHY_USB) += phy-am335x.o obj-$(CONFIG_OMAP_OTG) += phy-omap-otg.o obj-$(CONFIG_TWL6030_USB) += phy-twl6030-usb.o obj-$(CONFIG_USB_TEGRA_PHY) += phy-tegra-usb.o obj-$(CONFIG_USB_GPIO_VBUS) += phy-gpio-vbus-usb.o obj-$(CONFIG_USB_ISP1301) += phy-isp1301.o obj-$(CONFIG_USB_MV_OTG) += phy-mv-usb.o obj-$(CONFIG_USB_MXS_PHY) += phy-mxs-usb.o obj-$(CONFIG_USB_ULPI) += phy-ulpi.o obj-$(CONFIG_USB_ULPI_VIEWPORT) += phy-ulpi-viewport.o obj-$(CONFIG_KEYSTONE_USB_PHY) += phy-keystone.o dwc3/Kconfig 0000644 00000010135 14722072341 0006711 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config USB_DWC3 tristate "DesignWare USB3 DRD Core Support" depends on (USB || USB_GADGET) && HAS_DMA select USB_XHCI_PLATFORM if USB_XHCI_HCD help Say Y or M here if your system has a Dual Role SuperSpeed USB controller based on the DesignWare USB3 IP Core. If you choose to build this driver is a dynamically linked module, the module will be called dwc3.ko. if USB_DWC3 config USB_DWC3_ULPI bool "Register ULPI PHY Interface" depends on USB_ULPI_BUS=y || USB_ULPI_BUS=USB_DWC3 help Select this if you have ULPI type PHY attached to your DWC3 controller. choice bool "DWC3 Mode Selection" default USB_DWC3_DUAL_ROLE if (USB && USB_GADGET) default USB_DWC3_HOST if (USB && !USB_GADGET) default USB_DWC3_GADGET if (!USB && USB_GADGET) config USB_DWC3_HOST bool "Host only mode" depends on USB=y || USB=USB_DWC3 help Select this when you want to use DWC3 in host mode only, thereby the gadget feature will be regressed. config USB_DWC3_GADGET bool "Gadget only mode" depends on USB_GADGET=y || USB_GADGET=USB_DWC3 help Select this when you want to use DWC3 in gadget mode only, thereby the host feature will be regressed. config USB_DWC3_DUAL_ROLE bool "Dual Role mode" depends on ((USB=y || USB=USB_DWC3) && (USB_GADGET=y || USB_GADGET=USB_DWC3)) depends on (EXTCON=y || EXTCON=USB_DWC3) help This is the default mode of working of DWC3 controller where both host and gadget features are enabled. endchoice comment "Platform Glue Driver Support" config USB_DWC3_OMAP tristate "Texas Instruments OMAP5 and similar Platforms" depends on ARCH_OMAP2PLUS || COMPILE_TEST depends on EXTCON || !EXTCON depends on OF default USB_DWC3 help Some platforms from Texas Instruments like OMAP5, DRA7xxx and AM437x use this IP for USB2/3 functionality. Say 'Y' or 'M' here if you have one such device config USB_DWC3_EXYNOS tristate "Samsung Exynos Platform" depends on (ARCH_EXYNOS || COMPILE_TEST) && OF default USB_DWC3 help Recent Exynos5 SoCs ship with one DesignWare Core USB3 IP inside, say 'Y' or 'M' if you have one such device. config USB_DWC3_PCI tristate "PCIe-based Platforms" depends on USB_PCI && ACPI default USB_DWC3 help If you're using the DesignWare Core IP with a PCIe (but not HAPS platform), please say 'Y' or 'M' here. config USB_DWC3_HAPS tristate "Synopsys PCIe-based HAPS Platforms" depends on USB_PCI default USB_DWC3 help If you're using the DesignWare Core IP with a Synopsys PCIe HAPS platform, please say 'Y' or 'M' here. config USB_DWC3_KEYSTONE tristate "Texas Instruments Keystone2/AM654 Platforms" depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST default USB_DWC3 help Support of USB2/3 functionality in TI Keystone2 and AM654 platforms. Say 'Y' or 'M' here if you have one such device config USB_DWC3_MESON_G12A tristate "Amlogic Meson G12A Platforms" depends on OF && COMMON_CLK depends on ARCH_MESON || COMPILE_TEST default USB_DWC3 select USB_ROLE_SWITCH select REGMAP_MMIO help Support USB2/3 functionality in Amlogic G12A platforms. Say 'Y' or 'M' if you have one such device. config USB_DWC3_OF_SIMPLE tristate "Generic OF Simple Glue Layer" depends on OF && COMMON_CLK default USB_DWC3 help Support USB2/3 functionality in simple SoC integrations. Currently supports Xilinx and Qualcomm DWC USB3 IP. Say 'Y' or 'M' if you have one such device. config USB_DWC3_ST tristate "STMicroelectronics Platforms" depends on (ARCH_STI || COMPILE_TEST) && OF default USB_DWC3 help STMicroelectronics SoCs with one DesignWare Core USB3 IP inside (i.e. STiH407). Say 'Y' or 'M' if you have one such device. config USB_DWC3_QCOM tristate "Qualcomm Platform" depends on ARCH_QCOM || COMPILE_TEST depends on EXTCON || !EXTCON depends on (OF || ACPI) default USB_DWC3 help Some Qualcomm SoCs use DesignWare Core IP for USB2/3 functionality. This driver also handles Qscratch wrapper which is needed for peripheral mode support. Say 'Y' or 'M' if you have one such device. endif dwc3/Makefile 0000644 00000002677 14722072341 0007062 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # define_trace.h needs to know how to find our header CFLAGS_trace.o := -I$(src) obj-$(CONFIG_USB_DWC3) += dwc3.o dwc3-y := core.o ifneq ($(CONFIG_TRACING),) dwc3-y += trace.o endif ifneq ($(filter y,$(CONFIG_USB_DWC3_HOST) $(CONFIG_USB_DWC3_DUAL_ROLE)),) dwc3-y += host.o endif ifneq ($(filter y,$(CONFIG_USB_DWC3_GADGET) $(CONFIG_USB_DWC3_DUAL_ROLE)),) dwc3-y += gadget.o ep0.o endif ifneq ($(CONFIG_USB_DWC3_DUAL_ROLE),) dwc3-y += drd.o endif ifneq ($(CONFIG_USB_DWC3_ULPI),) dwc3-y += ulpi.o endif ifneq ($(CONFIG_DEBUG_FS),) dwc3-y += debugfs.o endif ## # Platform-specific glue layers go here # # NOTICE: Make sure your glue layer doesn't depend on anything # which is arch-specific and that it compiles on all situations. # # We want to keep this requirement in order to be able to compile # the entire driver (with all its glue layers) on several architectures # and make sure it compiles fine. This will also help with allmodconfig # and allyesconfig builds. ## obj-$(CONFIG_USB_DWC3_OMAP) += dwc3-omap.o obj-$(CONFIG_USB_DWC3_EXYNOS) += dwc3-exynos.o obj-$(CONFIG_USB_DWC3_PCI) += dwc3-pci.o obj-$(CONFIG_USB_DWC3_HAPS) += dwc3-haps.o obj-$(CONFIG_USB_DWC3_KEYSTONE) += dwc3-keystone.o obj-$(CONFIG_USB_DWC3_MESON_G12A) += dwc3-meson-g12a.o obj-$(CONFIG_USB_DWC3_OF_SIMPLE) += dwc3-of-simple.o obj-$(CONFIG_USB_DWC3_ST) += dwc3-st.o obj-$(CONFIG_USB_DWC3_QCOM) += dwc3-qcom.o misc/Kconfig 0000644 00000022263 14722072341 0007011 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Miscellaneous driver configuration # comment "USB Miscellaneous drivers" config USB_EMI62 tristate "EMI 6|2m USB Audio interface support" ---help--- This driver loads firmware to Emagic EMI 6|2m low latency USB Audio and Midi interface. After firmware load the device is handled with standard linux USB Audio driver. This code is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called audio. If you want to compile it as a module, say M here and read <file:Documentation/kbuild/modules.rst>. config USB_EMI26 tristate "EMI 2|6 USB Audio interface support" ---help--- This driver loads firmware to Emagic EMI 2|6 low latency USB Audio interface. After firmware load the device is handled with standard linux USB Audio driver. To compile this driver as a module, choose M here: the module will be called emi26. config USB_ADUTUX tristate "ADU devices from Ontrak Control Systems" help Say Y if you want to use an ADU device from Ontrak Control Systems. To compile this driver as a module, choose M here. The module will be called adutux. config USB_SEVSEG tristate "USB 7-Segment LED Display" help Say Y here if you have a USB 7-Segment Display by Delcom To compile this driver as a module, choose M here: the module will be called usbsevseg. config USB_LEGOTOWER tristate "USB Lego Infrared Tower support" help Say Y here if you want to connect a USB Lego Infrared Tower to your computer's USB port. This code is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called legousbtower. If you want to compile it as a module, say M here and read <file:Documentation/kbuild/modules.rst>. config USB_LCD tristate "USB LCD driver support" help Say Y here if you want to connect an USBLCD to your computer's USB port. The USBLCD is a small USB interface board for alphanumeric LCD modules. See <http://www.usblcd.de/> for more information. To compile this driver as a module, choose M here: the module will be called usblcd. config USB_CYPRESS_CY7C63 tristate "Cypress CY7C63xxx USB driver support" help Say Y here if you want to connect a Cypress CY7C63xxx micro controller to your computer's USB port. Currently this driver supports the pre-programmed devices (incl. firmware) by AK Modul-Bus Computer GmbH. Please see: http://www.ak-modul-bus.de/stat/mikrocontroller.html To compile this driver as a module, choose M here: the module will be called cypress_cy7c63. config USB_CYTHERM tristate "Cypress USB thermometer driver support" help Say Y here if you want to connect a Cypress USB thermometer device to your computer's USB port. This device is also known as the Cypress USB Starter kit or demo board. The Elektor magazine published a modified version of this device in issue #291. To compile this driver as a module, choose M here: the module will be called cytherm. config USB_IDMOUSE tristate "Siemens ID USB Mouse Fingerprint sensor support" help Say Y here if you want to use the fingerprint sensor on the Siemens ID Mouse. There is also a Siemens ID Mouse _Professional_, which has not been tested with this driver, but uses the same sensor and may therefore work. This driver creates an entry "/dev/idmouseX" or "/dev/usb/idmouseX", which can be used by, e.g.,"cat /dev/idmouse0 > fingerprint.pnm". See also <http://www.fs.tum.de/~echtler/idmouse/>. config USB_FTDI_ELAN tristate "Elan PCMCIA CardBus Adapter USB Client" help ELAN's Uxxx series of adapters are USB to PCMCIA CardBus adapters. Currently only the U132 adapter is available. The U132 is specifically designed for CardBus PC cards that contain an OHCI host controller. Typical PC cards are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132 adapter will *NOT* work with PC cards that do not contain an OHCI controller. To use a U132 adapter you will need this "ftdi-elan" module as well as the "u132-hcd" module which is a USB host controller driver that talks to the OHCI controller within CardBus card that are inserted in the U132 adapter. This driver has been tested with a CardBus OHCI USB adapter, and worked with a USB PEN Drive inserted into the first USB port of the PCCARD. A rather pointless thing to do, but useful for testing. See also the USB_U132_HCD entry "Elan U132 Adapter Host Controller" It is safe to say M here. config USB_APPLEDISPLAY tristate "Apple Cinema Display support" select BACKLIGHT_CLASS_DEVICE help Say Y here if you want to control the backlight of Apple Cinema Displays over USB. This driver provides a sysfs interface. source "drivers/usb/misc/sisusbvga/Kconfig" config USB_LD tristate "USB LD driver" help This driver is for generic USB devices that use interrupt transfers, like LD Didactic's USB devices. To compile this driver as a module, choose M here: the module will be called ldusb. config USB_TRANCEVIBRATOR tristate "PlayStation 2 Trance Vibrator driver support" help Say Y here if you want to connect a PlayStation 2 Trance Vibrator device to your computer's USB port. To compile this driver as a module, choose M here: the module will be called trancevibrator. config USB_IOWARRIOR tristate "IO Warrior driver support" help Say Y here if you want to support the IO Warrior devices from Code Mercenaries. This includes support for the following devices: IO Warrior 40 IO Warrior 24 IO Warrior 56 IO Warrior 24 Power Vampire To compile this driver as a module, choose M here: the module will be called iowarrior. config USB_TEST tristate "USB testing driver" help This driver is for testing host controller software. It is used with specialized device firmware for regression and stress testing, to help prevent problems from cropping up with "real" drivers. See <http://www.linux-usb.org/usbtest/> for more information, including sample test device firmware and "how to use it". config USB_EHSET_TEST_FIXTURE tristate "USB EHSET Test Fixture driver" help Say Y here if you want to support the special test fixture device used for the USB-IF Embedded Host High-Speed Electrical Test procedure. When the test fixture is connected, it can enumerate as one of several VID/PID pairs. This driver then initiates a corresponding test mode on the downstream port to which the test fixture is attached. See <http://www.usb.org/developers/onthego/EHSET_v1.01.pdf> for more information. config USB_ISIGHTFW tristate "iSight firmware loading support" select FW_LOADER help This driver loads firmware for USB Apple iSight cameras, allowing them to be driven by the USB video class driver available at http://linux-uvc.berlios.de The firmware for this driver must be extracted from the MacOS driver beforehand. Tools for doing so are available at http://bersace03.free.fr config USB_YUREX tristate "USB YUREX driver support" help Say Y here if you want to connect a YUREX to your computer's USB port. The YUREX is a leg-shakes sensor. See <http://bbu.kayac.com/en/> for further information. This driver supports read/write of leg-shakes counter and fasync for the counter update via a device file /dev/yurex*. To compile this driver as a module, choose M here: the module will be called yurex. config USB_EZUSB_FX2 tristate "Functions for loading firmware on EZUSB chips" help Say Y here if you need EZUSB device support. (Cypress FX/FX2/FX2LP microcontrollers) config USB_HUB_USB251XB tristate "USB251XB Hub Controller Configuration Driver" depends on I2C help This option enables support for configuration via SMBus of the Microchip USB251x/xBi USB 2.0 Hub Controller series. Configuration parameters may be set in devicetree or platform data. Say Y or M here if you need to configure such a device via SMBus. config USB_HSIC_USB3503 tristate "USB3503 HSIC to USB20 Driver" depends on I2C select REGMAP_I2C help This option enables support for SMSC USB3503 HSIC to USB 2.0 Driver. config USB_HSIC_USB4604 tristate "USB4604 HSIC to USB20 Driver" depends on I2C help This option enables support for SMSC USB4604 HSIC to USB 2.0 Driver. config USB_LINK_LAYER_TEST tristate "USB Link Layer Test driver" help This driver is for generating specific traffic for Super Speed Link Layer Test Device. Say Y only when you want to conduct USB Super Speed Link Layer Test for host controllers. config USB_CHAOSKEY tristate "ChaosKey random number generator driver support" depends on HW_RANDOM help Say Y here if you want to connect an AltusMetrum ChaosKey or Araneus Alea I to your computer's USB port. These devices are hardware random number generators which hook into the kernel entropy pool to ensure a large supply of entropy for /dev/random and /dev/urandom and also provides direct access via /dev/chaoskeyX To compile this driver as a module, choose M here: the module will be called chaoskey. misc/sisusbvga/Kconfig 0000644 00000003073 14722072341 0011015 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config USB_SISUSBVGA tristate "USB 2.0 SVGA dongle support (Net2280/SiS315)" depends on (USB_MUSB_HDRC || USB_EHCI_HCD) select FONT_SUPPORT if USB_SISUSBVGA_CON ---help--- Say Y here if you intend to attach a USB2VGA dongle based on a Net2280 and a SiS315 chip. Note that this device requires a USB 2.0 host controller. It will not work with USB 1.x controllers. To compile this driver as a module, choose M here; the module will be called sisusbvga. If unsure, say N. config USB_SISUSBVGA_CON bool "Text console and mode switching support" if USB_SISUSBVGA depends on VT && BROKEN select FONT_8x16 ---help--- Say Y here if you want a VGA text console via the USB dongle or want to support userland applications that utilize the driver's display mode switching capabilities. Note that this console supports VGA/EGA text mode only. By default, the console part of the driver will not kick in when the driver is initialized. If you want the driver to take over one or more of the consoles, you need to specify the number of the first and last consoles (starting at 1) as driver parameters. For example, if the driver is compiled as a module: modprobe sisusbvga first=1 last=5 If you use hotplug, add this to your modutils config files with the "options" keyword, such as eg. options sisusbvga first=1 last=5 If the driver is compiled into the kernel image, the parameters must be given in the kernel command like, such as sisusbvga.first=1 sisusbvga.last=5 misc/sisusbvga/Makefile 0000644 00000000364 14722072341 0011152 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the sisusb driver (if driver is inside kernel tree). # obj-$(CONFIG_USB_SISUSBVGA) += sisusbvga.o sisusbvga-y := sisusb.o sisusbvga-$(CONFIG_USB_SISUSBVGA_CON) += sisusb_con.o sisusb_init.o atm/Kconfig 0000644 00000004336 14722072341 0006640 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB/ATM DSL configuration # menuconfig USB_ATM tristate "USB DSL modem support" depends on ATM select CRC32 help Say Y here if you want to connect a USB Digital Subscriber Line (DSL) modem to your computer's USB port. You will then need to choose your modem from the list below. To compile this driver as a module, choose M here: the module will be called usbatm. if USB_ATM config USB_SPEEDTOUCH tristate "Speedtouch USB support" select FW_LOADER help Say Y here if you have an SpeedTouch USB or SpeedTouch 330 modem. In order to use your modem you will need to install the two parts of the firmware, extracted by the user space tools; see <http://www.linux-usb.org/SpeedTouch/> for details. To compile this driver as a module, choose M here: the module will be called speedtch. config USB_CXACRU tristate "Conexant AccessRunner USB support" select FW_LOADER help Say Y here if you have an ADSL USB modem based on the Conexant AccessRunner chipset. In order to use your modem you will need to install the firmware, extracted by the user space tools; see <http://accessrunner.sourceforge.net/> for details. To compile this driver as a module, choose M here: the module will be called cxacru. config USB_UEAGLEATM tristate "ADI 930 and eagle USB DSL modem" select FW_LOADER help Say Y here if you have an ADSL USB modem based on the ADI 930 or eagle chipset. In order to use your modem you will need to install firmwares and CMV (Command Management Variables); see <https://gna.org/projects/ueagleatm/> for details. To compile this driver as a module, choose M here: the module will be called ueagle-atm. config USB_XUSBATM tristate "Other USB DSL modem support" help Say Y here if you have a DSL USB modem not explicitly supported by another USB DSL drivers. In order to use your modem you will need to pass the vendor ID, product ID, and endpoint numbers for transmission and reception as module parameters. You may need to initialize the modem using a user space utility (a firmware loader for example). To compile this driver as a module, choose M here: the module will be called xusbatm. endif # USB_ATM atm/Makefile 0000644 00000000421 14722072341 0006764 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for USB ATM/xDSL drivers # obj-$(CONFIG_USB_CXACRU) += cxacru.o obj-$(CONFIG_USB_SPEEDTOUCH) += speedtch.o obj-$(CONFIG_USB_UEAGLEATM) += ueagle-atm.o obj-$(CONFIG_USB_ATM) += usbatm.o obj-$(CONFIG_USB_XUSBATM) += xusbatm.o cdns3/Kconfig 0000644 00000002525 14722072341 0007067 0 ustar 00 config USB_CDNS3 tristate "Cadence USB3 Dual-Role Controller" depends on USB_SUPPORT && (USB || USB_GADGET) && HAS_DMA select USB_XHCI_PLATFORM if USB_XHCI_HCD select USB_ROLE_SWITCH help Say Y here if your system has a Cadence USB3 dual-role controller. It supports: dual-role switch, Host-only, and Peripheral-only. If you choose to build this driver is a dynamically linked as module, the module will be called cdns3.ko. if USB_CDNS3 config USB_CDNS3_GADGET bool "Cadence USB3 device controller" depends on USB_GADGET=y || USB_GADGET=USB_CDNS3 help Say Y here to enable device controller functionality of the Cadence USBSS-DEV driver. This controller supports FF, HS and SS mode. It doesn't support LS and SSP mode. config USB_CDNS3_HOST bool "Cadence USB3 host controller" depends on USB=y || USB=USB_CDNS3 help Say Y here to enable host controller functionality of the Cadence driver. Host controller is compliant with XHCI so it will use standard XHCI driver. config USB_CDNS3_PCI_WRAP tristate "Cadence USB3 support on PCIe-based platforms" depends on USB_PCI && ACPI default USB_CDNS3 help If you're using the USBSS Core IP with a PCIe, please say 'Y' or 'M' here. If you choose to build this driver as module it will be dynamically linked and module will be called cdns3-pci.ko endif cdns3/Makefile 0000644 00000000636 14722072341 0007225 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # define_trace.h needs to know how to find our header CFLAGS_trace.o := -I$(src) cdns3-y := core.o drd.o obj-$(CONFIG_USB_CDNS3) += cdns3.o cdns3-$(CONFIG_USB_CDNS3_GADGET) += gadget.o ep0.o ifneq ($(CONFIG_USB_CDNS3_GADGET),) cdns3-$(CONFIG_TRACING) += trace.o endif cdns3-$(CONFIG_USB_CDNS3_HOST) += host.o obj-$(CONFIG_USB_CDNS3_PCI_WRAP) += cdns3-pci-wrap.o serial/Kconfig 0000644 00000052557 14722072341 0007346 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Serial device configuration # menuconfig USB_SERIAL tristate "USB Serial Converter support" depends on TTY ---help--- Say Y here if you have a USB device that provides normal serial ports, or acts like a serial device, and you want to connect it to your USB bus. Please read <file:Documentation/usb/usb-serial.rst> for more information on the specifics of the different devices that are supported, and on how to use them. To compile this driver as a module, choose M here: the module will be called usbserial. if USB_SERIAL config USB_SERIAL_CONSOLE bool "USB Serial Console device support" depends on USB_SERIAL=y ---help--- If you say Y here, it will be possible to use a USB to serial converter port as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). This could be useful if some terminal or printer is connected to that serial port. Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttyUSB0". (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) If you don't have a VGA card installed and you say Y here, the kernel will automatically use the first USB to serial converter port, /dev/ttyUSB0, as system console. If unsure, say N. config USB_SERIAL_GENERIC bool "USB Generic Serial Driver" help Say Y here if you want to use the generic USB serial driver. Please read <file:Documentation/usb/usb-serial.rst> for more information on using this driver. It is recommended that the "USB Serial converter support" be compiled as a module for this driver to be used properly. config USB_SERIAL_SIMPLE tristate "USB Serial Simple Driver" help Say Y here to use the USB serial "simple" driver. This driver handles a wide range of very simple devices, all in one driver. Specifically, it supports: - Suunto ANT+ USB device. - Medtronic CareLink USB device - Fundamental Software dongle. - Google USB serial devices - HP4x calculators - Libtransistor USB console - a number of Motorola phones - Motorola Tetra devices - Nokia mobile phones - Novatel Wireless GPS receivers - Siemens USB/MPI adapter. - ViVOtech ViVOpay USB device. - Infineon Modem Flashloader USB interface - ZIO Motherboard USB serial interface To compile this driver as a module, choose M here: the module will be called usb-serial-simple. config USB_SERIAL_AIRCABLE tristate "USB AIRcable Bluetooth Dongle Driver" help Say Y here if you want to use USB AIRcable Bluetooth Dongle. To compile this driver as a module, choose M here: the module will be called aircable. config USB_SERIAL_ARK3116 tristate "USB ARK Micro 3116 USB Serial Driver" help Say Y here if you want to use a ARK Micro 3116 USB to Serial device. To compile this driver as a module, choose M here: the module will be called ark3116 config USB_SERIAL_BELKIN tristate "USB Belkin and Peracom Single Port Serial Driver" help Say Y here if you want to use a Belkin USB Serial single port adaptor (F5U103 is one of the model numbers) or the Peracom single port USB to serial adapter. To compile this driver as a module, choose M here: the module will be called belkin_sa. config USB_SERIAL_CH341 tristate "USB Winchiphead CH341 Single Port Serial Driver" help Say Y here if you want to use a Winchiphead CH341 single port USB to serial adapter. To compile this driver as a module, choose M here: the module will be called ch341. config USB_SERIAL_WHITEHEAT tristate "USB ConnectTech WhiteHEAT Serial Driver" select USB_EZUSB_FX2 help Say Y here if you want to use a ConnectTech WhiteHEAT 4 port USB to serial converter device. To compile this driver as a module, choose M here: the module will be called whiteheat. config USB_SERIAL_DIGI_ACCELEPORT tristate "USB Digi International AccelePort USB Serial Driver" ---help--- Say Y here if you want to use Digi AccelePort USB 2 or 4 devices, 2 port (plus parallel port) and 4 port USB serial converters. The parallel port on the USB 2 appears as a third serial port on Linux. The Digi Acceleport USB 8 is not yet supported by this driver. This driver works under SMP with the usb-uhci driver. It does not work under SMP with the uhci driver. To compile this driver as a module, choose M here: the module will be called digi_acceleport. config USB_SERIAL_CP210X tristate "USB CP210x family of UART Bridge Controllers" help Say Y here if you want to use a CP2101/CP2102/CP2103 based USB to RS232 converters. To compile this driver as a module, choose M here: the module will be called cp210x. config USB_SERIAL_CYPRESS_M8 tristate "USB Cypress M8 USB Serial Driver" help Say Y here if you want to use a device that contains the Cypress USB to Serial microcontroller, such as the DeLorme Earthmate GPS. Attempted SMP support... send bug reports! Supported microcontrollers in the CY4601 family are: CY7C63741 CY7C63742 CY7C63743 CY7C64013 To compile this driver as a module, choose M here: the module will be called cypress_m8. config USB_SERIAL_EMPEG tristate "USB Empeg empeg-car Mark I/II Driver" help Say Y here if you want to connect to your Empeg empeg-car Mark I/II mp3 player via USB. The driver uses a single ttyUSB{0,1,2,...} device node. See <file:Documentation/usb/usb-serial.rst> for more tidbits of information. To compile this driver as a module, choose M here: the module will be called empeg. config USB_SERIAL_FTDI_SIO tristate "USB FTDI Single Port Serial Driver" ---help--- Say Y here if you want to use a FTDI SIO single port USB to serial converter device. The implementation I have is called the USC-1000. This driver has also been tested with the 245 and 232 devices. See <http://ftdi-usb-sio.sourceforge.net/> for more information on this driver and the device. To compile this driver as a module, choose M here: the module will be called ftdi_sio. config USB_SERIAL_VISOR tristate "USB Handspring Visor / Palm m50x / Sony Clie Driver" help Say Y here if you want to connect to your HandSpring Visor, Palm m500 or m505 through its USB docking station. See <http://usbvisor.sourceforge.net/index.php3> for more information on using this driver. To compile this driver as a module, choose M here: the module will be called visor. config USB_SERIAL_IPAQ tristate "USB PocketPC PDA Driver" help Say Y here if you want to connect to your Compaq iPAQ, HP Jornada or any other PDA running Windows CE 3.0 or PocketPC 2002 using a USB cradle/cable. For information on using the driver, read <file:Documentation/usb/usb-serial.rst>. To compile this driver as a module, choose M here: the module will be called ipaq. config USB_SERIAL_IR tristate "USB IR Dongle Serial Driver" help Say Y here if you want to enable simple serial support for USB IrDA devices. This is useful if you do not want to use the full IrDA stack. To compile this driver as a module, choose M here: the module will be called ir-usb. config USB_SERIAL_EDGEPORT tristate "USB Inside Out Edgeport Serial Driver" ---help--- Say Y here if you want to use any of the following devices from Inside Out Networks (Digi): Edgeport/4 Rapidport/4 Edgeport/4t Edgeport/2 Edgeport/4i Edgeport/2i Edgeport/421 Edgeport/21 Edgeport/8 Edgeport/8 Dual Edgeport/2D8 Edgeport/4D8 Edgeport/8i Edgeport/2 DIN Edgeport/4 DIN Edgeport/16 Dual To compile this driver as a module, choose M here: the module will be called io_edgeport. config USB_SERIAL_EDGEPORT_TI tristate "USB Inside Out Edgeport Serial Driver (TI devices)" help Say Y here if you want to use any of the devices from Inside Out Networks (Digi) that are not supported by the io_edgeport driver. This includes the Edgeport/1 device. To compile this driver as a module, choose M here: the module will be called io_ti. config USB_SERIAL_F81232 tristate "USB Fintek F81232 Single Port Serial Driver" help Say Y here if you want to use the Fintek F81232 single port usb to serial adapter. To compile this driver as a module, choose M here: the module will be called f81232. config USB_SERIAL_F8153X tristate "USB Fintek F81532/534 Multi-Ports Serial Driver" help Say Y here if you want to use the Fintek F81532/534 Multi-Ports USB to serial adapter. To compile this driver as a module, choose M here: the module will be called f81534. config USB_SERIAL_GARMIN tristate "USB Garmin GPS driver" help Say Y here if you want to connect to your Garmin GPS. Should work with most Garmin GPS devices which have a native USB port. See <http://sourceforge.net/projects/garmin-gps> for the latest version of the driver. To compile this driver as a module, choose M here: the module will be called garmin_gps. config USB_SERIAL_IPW tristate "USB IPWireless (3G UMTS TDD) Driver" select USB_SERIAL_WWAN help Say Y here if you want to use a IPWireless USB modem such as the ones supplied by Axity3G/Sentech South Africa. To compile this driver as a module, choose M here: the module will be called ipw. config USB_SERIAL_IUU tristate "USB Infinity USB Unlimited Phoenix Driver" help Say Y here if you want to use a IUU in phoenix mode and get an extra ttyUSBx device. More information available on http://eczema.ecze.com/iuu_phoenix.html To compile this driver as a module, choose M here: the module will be called iuu_phoenix.o config USB_SERIAL_KEYSPAN_PDA tristate "USB Keyspan PDA Single Port Serial Driver" select USB_EZUSB_FX2 help Say Y here if you want to use a Keyspan PDA single port USB to serial converter device. This driver makes use of firmware developed from scratch by Brian Warner. To compile this driver as a module, choose M here: the module will be called keyspan_pda. config USB_SERIAL_KEYSPAN tristate "USB Keyspan USA-xxx Serial Driver" select USB_EZUSB_FX2 ---help--- Say Y here if you want to use Keyspan USB to serial converter devices. This driver makes use of Keyspan's official firmware and was developed with their support. You must also include firmware to support your particular device(s). See <http://blemings.org/hugh/keyspan.html> for more information. To compile this driver as a module, choose M here: the module will be called keyspan. config USB_SERIAL_KLSI tristate "USB KL5KUSB105 (Palmconnect) Driver" ---help--- Say Y here if you want to use a KL5KUSB105 - based single port serial adapter. The most widely known -- and currently the only tested -- device in this category is the PalmConnect USB Serial adapter sold by Palm Inc. for use with their Palm III and Palm V series PDAs. Please read <file:Documentation/usb/usb-serial.rst> for more information. To compile this driver as a module, choose M here: the module will be called kl5kusb105. config USB_SERIAL_KOBIL_SCT tristate "USB KOBIL chipcard reader" ---help--- Say Y here if you want to use one of the following KOBIL USB chipcard readers: - USB TWIN - KAAN Standard Plus - KAAN SIM - SecOVID Reader Plus - B1 Professional - KAAN Professional Note that you need a current CT-API. To compile this driver as a module, choose M here: the module will be called kobil_sct. config USB_SERIAL_MCT_U232 tristate "USB MCT Single Port Serial Driver" ---help--- Say Y here if you want to use a USB Serial single port adapter from Magic Control Technology Corp. (U232 is one of the model numbers). This driver also works with Sitecom U232-P25 and D-Link DU-H3SP USB BAY, Belkin F5U109, and Belkin F5U409 devices. To compile this driver as a module, choose M here: the module will be called mct_u232. config USB_SERIAL_METRO tristate "USB Metrologic Instruments USB-POS Barcode Scanner Driver" ---help--- Say Y here if you want to use a USB POS Metrologic barcode scanner. To compile this driver as a module, choose M here: the module will be called metro-usb. config USB_SERIAL_MOS7720 tristate "USB Moschip 7720 Serial Driver" ---help--- Say Y here if you want to use USB Serial single and double port adapters from Moschip Semiconductor Tech. To compile this driver as a module, choose M here: the module will be called mos7720. config USB_SERIAL_MOS7715_PARPORT bool "Support for parallel port on the Moschip 7715" depends on USB_SERIAL_MOS7720 depends on PARPORT=y || PARPORT=USB_SERIAL_MOS7720 select PARPORT_NOT_PC ---help--- Say Y if you have a Moschip 7715 device and would like to use the parallel port it provides. The port will register with the parport subsystem as a low-level driver. config USB_SERIAL_MOS7840 tristate "USB Moschip 7840/7820 USB Serial Driver" ---help--- Say Y here if you want to use a MCS7840 Quad-Serial or MCS7820 Dual-Serial port device from MosChip Semiconductor. The MCS7840 and MCS7820 have been developed to connect a wide range of standard serial devices to a USB host. The MCS7840 has a USB device controller connected to four (4) individual UARTs while the MCS7820 controller connects to two (2) individual UARTs. To compile this driver as a module, choose M here: the module will be called mos7840. If unsure, choose N. config USB_SERIAL_MXUPORT tristate "USB Moxa UPORT Serial Driver" ---help--- Say Y here if you want to use a MOXA UPort Serial hub. This driver supports: [2 Port] - UPort 1250 : 2 Port RS-232/422/485 USB to Serial Hub - UPort 1250I : 2 Port RS-232/422/485 USB to Serial Hub with Isolation [4 Port] - UPort 1410 : 4 Port RS-232 USB to Serial Hub - UPort 1450 : 4 Port RS-232/422/485 USB to Serial Hub - UPort 1450I : 4 Port RS-232/422/485 USB to Serial Hub with Isolation [8 Port] - UPort 1610-8 : 8 Port RS-232 USB to Serial Hub - UPort 1650-8 : 8 Port RS-232/422/485 USB to Serial Hub [16 Port] - UPort 1610-16 : 16 Port RS-232 USB to Serial Hub - UPort 1650-16 : 16 Port RS-232/422/485 USB to Serial Hub To compile this driver as a module, choose M here: the module will be called mxuport. config USB_SERIAL_NAVMAN tristate "USB Navman GPS device" help To compile this driver as a module, choose M here: the module will be called navman. config USB_SERIAL_PL2303 tristate "USB Prolific 2303 Single Port Serial Driver" help Say Y here if you want to use the PL2303 USB Serial single port adapter from Prolific. To compile this driver as a module, choose M here: the module will be called pl2303. config USB_SERIAL_OTI6858 tristate "USB Ours Technology Inc. OTi-6858 USB To RS232 Bridge Controller" help Say Y here if you want to use the OTi-6858 single port USB to serial converter device. To compile this driver as a module, choose M here: the module will be called oti6858. config USB_SERIAL_QCAUX tristate "USB Qualcomm Auxiliary Serial Port Driver" help Say Y here if you want to use the auxiliary serial ports provided by many modems based on Qualcomm chipsets. These ports often use a proprietary protocol called DM and cannot be used for AT- or PPP-based communication. To compile this driver as a module, choose M here: the module will be called qcaux. If unsure, choose N. config USB_SERIAL_QUALCOMM tristate "USB Qualcomm Serial modem" select USB_SERIAL_WWAN help Say Y here if you have a Qualcomm USB modem device. These are usually wireless cellular modems. To compile this driver as a module, choose M here: the module will be called qcserial. config USB_SERIAL_SPCP8X5 tristate "USB SPCP8x5 USB To Serial Driver" help Say Y here if you want to use the spcp8x5 converter chip. This is commonly found in some Z-Wave USB devices. To compile this driver as a module, choose M here: the module will be called spcp8x5. config USB_SERIAL_SAFE tristate "USB Safe Serial (Encapsulated) Driver" config USB_SERIAL_SAFE_PADDED bool "USB Secure Encapsulated Driver - Padded" depends on USB_SERIAL_SAFE config USB_SERIAL_SIERRAWIRELESS tristate "USB Sierra Wireless Driver" help Say M here if you want to use Sierra Wireless devices. Many devices have a feature known as TRU-Install. For those devices to work properly, the USB Storage Sierra feature must be enabled. To compile this driver as a module, choose M here: the module will be called sierra. config USB_SERIAL_SYMBOL tristate "USB Symbol Barcode driver (serial mode)" help Say Y here if you want to use a Symbol USB Barcode device in serial emulation mode. To compile this driver as a module, choose M here: the module will be called symbolserial. config USB_SERIAL_TI tristate "USB TI 3410/5052 Serial Driver" help Say Y here if you want to use the TI USB 3410 or 5052 serial devices. To compile this driver as a module, choose M here: the module will be called ti_usb_3410_5052. config USB_SERIAL_CYBERJACK tristate "USB REINER SCT cyberJack pinpad/e-com chipcard reader" ---help--- Say Y here if you want to use a cyberJack pinpad/e-com USB chipcard reader. This is an interface to ISO 7816 compatible contact-based chipcards, e.g. GSM SIMs. To compile this driver as a module, choose M here: the module will be called cyberjack. If unsure, say N. config USB_SERIAL_XIRCOM tristate "USB Xircom / Entrega Single Port Serial Driver" select USB_EZUSB_FX2 help Say Y here if you want to use a Xircom or Entrega single port USB to serial converter device. This driver makes use of firmware developed from scratch by Brian Warner. To compile this driver as a module, choose M here: the module will be called keyspan_pda. config USB_SERIAL_WWAN tristate config USB_SERIAL_OPTION tristate "USB driver for GSM and CDMA modems" select USB_SERIAL_WWAN help Say Y here if you have a GSM or CDMA modem that's connected to USB. This driver also supports several PCMCIA cards which have a built-in OHCI-USB adapter and an internally-connected GSM modem. The USB bus on these cards is not accessible externally. Supported devices include (some of?) those made by: Option, Huawei, Audiovox, Novatel Wireless, or Anydata. To compile this driver as a module, choose M here: the module will be called option. If this driver doesn't recognize your device, it might be accessible via the FTDI_SIO driver. config USB_SERIAL_OMNINET tristate "USB ZyXEL omni.net LCD Plus Driver" help Say Y here if you want to use a ZyXEL omni.net LCD ISDN TA. To compile this driver as a module, choose M here: the module will be called omninet. config USB_SERIAL_OPTICON tristate "USB Opticon Barcode driver (serial mode)" help Say Y here if you want to use a Opticon USB Barcode device in serial emulation mode. To compile this driver as a module, choose M here: the module will be called opticon. config USB_SERIAL_XSENS_MT tristate "Xsens motion tracker serial interface driver" help Say Y here if you want to use Xsens motion trackers. This driver supports the new generation of motion trackers by Xsens. Older devices can be accessed using the FTDI_SIO driver. To compile this driver as a module, choose M here: the module will be called xsens_mt. config USB_SERIAL_WISHBONE tristate "USB-Wishbone adapter interface driver" help Say Y here if you want to use a USB attached Wishbone bus. Wishbone is an open hardware SoC bus commonly used in FPGA designs. Bus access can be serialized using the Etherbone protocol <http://www.ohwr.org/projects/etherbone-core>. This driver is intended to be used with devices which attach their internal Wishbone bus to a USB serial interface using the Etherbone protocol. A userspace library is required to speak the protocol made available by this driver as ttyUSBx. To compile this driver as a module, choose M here: the module will be called wishbone-serial. config USB_SERIAL_SSU100 tristate "USB Quatech SSU-100 Single Port Serial Driver" help Say Y here if you want to use the Quatech SSU-100 single port usb to serial adapter. To compile this driver as a module, choose M here: the module will be called ssu100. config USB_SERIAL_QT2 tristate "USB Quatech Serial Driver for USB 2 devices" help Say Y here if you want to use the Quatech USB 2 serial adapters. To compile this driver as a module, choose M here: the module will be called quatech-serial. config USB_SERIAL_UPD78F0730 tristate "USB Renesas uPD78F0730 Single Port Serial Driver" help Say Y here if you want to use the Renesas uPD78F0730 serial driver. To compile this driver as a module, choose M here: the module will be called upd78f0730. config USB_SERIAL_DEBUG tristate "USB Debugging Device" help Say Y here if you have a USB debugging device used to receive debugging data from another machine. The most common of these devices is the NetChip TurboCONNECT device. To compile this driver as a module, choose M here: the module will be called usb-debug. endif # USB_SERIAL serial/Makefile 0000644 00000005320 14722072341 0007465 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the USB serial device drivers. # # Object file lists. obj-$(CONFIG_USB_SERIAL) += usbserial.o usbserial-y := usb-serial.o generic.o bus.o usbserial-$(CONFIG_USB_SERIAL_CONSOLE) += console.o obj-$(CONFIG_USB_SERIAL_AIRCABLE) += aircable.o obj-$(CONFIG_USB_SERIAL_ARK3116) += ark3116.o obj-$(CONFIG_USB_SERIAL_BELKIN) += belkin_sa.o obj-$(CONFIG_USB_SERIAL_CH341) += ch341.o obj-$(CONFIG_USB_SERIAL_CP210X) += cp210x.o obj-$(CONFIG_USB_SERIAL_CYBERJACK) += cyberjack.o obj-$(CONFIG_USB_SERIAL_CYPRESS_M8) += cypress_m8.o obj-$(CONFIG_USB_SERIAL_DEBUG) += usb_debug.o obj-$(CONFIG_USB_SERIAL_DIGI_ACCELEPORT) += digi_acceleport.o obj-$(CONFIG_USB_SERIAL_EDGEPORT) += io_edgeport.o obj-$(CONFIG_USB_SERIAL_EDGEPORT_TI) += io_ti.o obj-$(CONFIG_USB_SERIAL_EMPEG) += empeg.o obj-$(CONFIG_USB_SERIAL_F81232) += f81232.o obj-$(CONFIG_USB_SERIAL_F8153X) += f81534.o obj-$(CONFIG_USB_SERIAL_FTDI_SIO) += ftdi_sio.o obj-$(CONFIG_USB_SERIAL_GARMIN) += garmin_gps.o obj-$(CONFIG_USB_SERIAL_IPAQ) += ipaq.o obj-$(CONFIG_USB_SERIAL_IPW) += ipw.o obj-$(CONFIG_USB_SERIAL_IR) += ir-usb.o obj-$(CONFIG_USB_SERIAL_IUU) += iuu_phoenix.o obj-$(CONFIG_USB_SERIAL_KEYSPAN) += keyspan.o obj-$(CONFIG_USB_SERIAL_KEYSPAN_PDA) += keyspan_pda.o obj-$(CONFIG_USB_SERIAL_KLSI) += kl5kusb105.o obj-$(CONFIG_USB_SERIAL_KOBIL_SCT) += kobil_sct.o obj-$(CONFIG_USB_SERIAL_MCT_U232) += mct_u232.o obj-$(CONFIG_USB_SERIAL_METRO) += metro-usb.o obj-$(CONFIG_USB_SERIAL_MOS7720) += mos7720.o obj-$(CONFIG_USB_SERIAL_MOS7840) += mos7840.o obj-$(CONFIG_USB_SERIAL_MXUPORT) += mxuport.o obj-$(CONFIG_USB_SERIAL_NAVMAN) += navman.o obj-$(CONFIG_USB_SERIAL_OMNINET) += omninet.o obj-$(CONFIG_USB_SERIAL_OPTICON) += opticon.o obj-$(CONFIG_USB_SERIAL_OPTION) += option.o obj-$(CONFIG_USB_SERIAL_OTI6858) += oti6858.o obj-$(CONFIG_USB_SERIAL_PL2303) += pl2303.o obj-$(CONFIG_USB_SERIAL_QCAUX) += qcaux.o obj-$(CONFIG_USB_SERIAL_QUALCOMM) += qcserial.o obj-$(CONFIG_USB_SERIAL_QT2) += quatech2.o obj-$(CONFIG_USB_SERIAL_SAFE) += safe_serial.o obj-$(CONFIG_USB_SERIAL_SIERRAWIRELESS) += sierra.o obj-$(CONFIG_USB_SERIAL_SIMPLE) += usb-serial-simple.o obj-$(CONFIG_USB_SERIAL_SPCP8X5) += spcp8x5.o obj-$(CONFIG_USB_SERIAL_SSU100) += ssu100.o obj-$(CONFIG_USB_SERIAL_SYMBOL) += symbolserial.o obj-$(CONFIG_USB_SERIAL_WWAN) += usb_wwan.o obj-$(CONFIG_USB_SERIAL_TI) += ti_usb_3410_5052.o obj-$(CONFIG_USB_SERIAL_UPD78F0730) += upd78f0730.o obj-$(CONFIG_USB_SERIAL_VISOR) += visor.o obj-$(CONFIG_USB_SERIAL_WISHBONE) += wishbone-serial.o obj-$(CONFIG_USB_SERIAL_WHITEHEAT) += whiteheat.o obj-$(CONFIG_USB_SERIAL_XIRCOM) += keyspan_pda.o obj-$(CONFIG_USB_SERIAL_XSENS_MT) += xsens_mt.o serial/Makefile-keyspan_pda_fw 0000644 00000000604 14722072341 0012455 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # some rules to handle the quirks of the 'as31' assembler, like # insisting upon fixed suffixes for the input and output files, # and its lack of preprocessor support all: keyspan_pda_fw.h %.asm: %.S gcc -x assembler-with-cpp -P -E -o $@ $< %.hex: %.asm as31 -l $< mv $*.obj $@ %_fw.h: %.hex ezusb_convert.pl perl ezusb_convert.pl $* < $< > $@ serial/ezusb_convert.pl 0000644 00000003075 14722072341 0011257 0 ustar 00 #! /usr/bin/perl -w # SPDX-License-Identifier: GPL-2.0 # convert an Intel HEX file into a set of C records usable by the firmware # loading code in usb-serial.c (or others) # accepts the .hex file(s) on stdin, a basename (to name the initialized # array) as an argument, and prints the .h file to stdout. Typical usage: # perl ezusb_convert.pl foo <foo.hex >fw_foo.h my $basename = $ARGV[0]; die "no base name specified" unless $basename; while (<STDIN>) { # ':' <len> <addr> <type> <len-data> <crc> '\r' # len, type, crc are 2-char hex, addr is 4-char hex. type is 00 for # normal records, 01 for EOF my($lenstring, $addrstring, $typestring, $reststring, $doscrap) = /^:(\w\w)(\w\w\w\w)(\w\w)(\w+)(\r?)$/; die "malformed line: $_" unless $reststring; last if $typestring eq '01'; my($len) = hex($lenstring); my($addr) = hex($addrstring); my(@bytes) = unpack("C*", pack("H".(2*$len), $reststring)); #pop(@bytes); # last byte is a CRC push(@records, [$addr, \@bytes]); } @sorted_records = sort { $a->[0] <=> $b->[0] } @records; print <<"EOF"; /* * ${basename}_fw.h * * Generated from ${basename}.s by ezusb_convert.pl * This file is presumed to be under the same copyright as the source file * from which it was derived. */ EOF print "static const struct ezusb_hex_record ${basename}_firmware[] = {\n"; foreach $r (@sorted_records) { printf("{ 0x%04x,\t%d,\t{", $r->[0], scalar(@{$r->[1]})); print join(", ", map {sprintf('0x%02x', $_);} @{$r->[1]}); print "} },\n"; } print "{ 0xffff,\t0,\t{0x00} }\n"; print "};\n"; image/Kconfig 0000644 00000002031 14722072341 0007127 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Imaging devices configuration # comment "USB Imaging devices" config USB_MDC800 tristate "USB Mustek MDC800 Digital Camera support" ---help--- Say Y here if you want to connect this type of still camera to your computer's USB port. This driver can be used with gphoto 0.4.3 and higher (look at <http://www.gphoto.org/>). To use it create a device node with "mknod /dev/mustek c 180 32" and configure it in your software. To compile this driver as a module, choose M here: the module will be called mdc800. config USB_MICROTEK tristate "Microtek X6USB scanner support" depends on SCSI help Say Y here if you want support for the Microtek X6USB and possibly the Phantom 336CX, Phantom C6 and ScanMaker V6U(S)L. Support for anything but the X6 is experimental. Please report failures and successes. The scanner will appear as a scsi generic device to the rest of the system. Scsi support is required. This driver can be compiled as a module, called microtek. image/Makefile 0000644 00000000227 14722072341 0007271 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for USB Image drivers # obj-$(CONFIG_USB_MDC800) += mdc800.o obj-$(CONFIG_USB_MICROTEK) += microtek.o renesas_usbhs/Kconfig 0000644 00000001133 14722072341 0010713 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Renesas USBHS Controller Drivers # config USB_RENESAS_USBHS tristate 'Renesas USBHS controller' depends on USB_GADGET depends on ARCH_RENESAS || SUPERH || COMPILE_TEST depends on EXTCON || !EXTCON # if EXTCON=m, USBHS cannot be built-in help Renesas USBHS is a discrete USB host and peripheral controller chip that supports both full and high speed USB 2.0 data transfers. It has nine or more configurable endpoints, and endpoint zero. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "renesas_usbhs" renesas_usbhs/Makefile 0000644 00000000537 14722072341 0011057 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # for Renesas USB # obj-$(CONFIG_USB_RENESAS_USBHS) += renesas_usbhs.o renesas_usbhs-y := common.o mod.o pipe.o fifo.o rcar2.o rcar3.o rza.o rza2.o ifneq ($(CONFIG_USB_RENESAS_USBHS_HCD),) renesas_usbhs-y += mod_host.o endif ifneq ($(CONFIG_USB_RENESAS_USBHS_UDC),) renesas_usbhs-y += mod_gadget.o endif storage/Kconfig 0000644 00000015240 14722072341 0007517 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Storage driver configuration # comment "NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may" comment "also be needed; see USB_STORAGE Help for more info" config USB_STORAGE tristate "USB Mass Storage support" depends on SCSI ---help--- Say Y here if you want to connect USB mass storage devices to your computer's USB port. This is the driver you need for USB floppy drives, USB hard disks, USB tape drives, USB CD-ROMs, USB flash devices, and memory sticks, along with similar devices. This driver may also be used for some cameras and card readers. This option depends on 'SCSI' support being enabled, but you probably also need 'SCSI device support: SCSI disk support' (BLK_DEV_SD) for most USB storage devices. To compile this driver as a module, choose M here: the module will be called usb-storage. if USB_STORAGE config USB_STORAGE_DEBUG bool "USB Mass Storage verbose debug" help Say Y here in order to have the USB Mass Storage code generate verbose debugging messages. config USB_STORAGE_REALTEK tristate "Realtek Card Reader support" help Say Y here to include additional code to support the power-saving function for Realtek RTS51xx USB card readers. If this driver is compiled as a module, it will be named ums-realtek. config REALTEK_AUTOPM bool "Realtek Card Reader autosuspend support" depends on USB_STORAGE_REALTEK && PM default y config USB_STORAGE_DATAFAB tristate "Datafab Compact Flash Reader support" help Support for certain Datafab CompactFlash readers. Datafab has a web page at <http://www.datafab.com/>. If this driver is compiled as a module, it will be named ums-datafab. config USB_STORAGE_FREECOM tristate "Freecom USB/ATAPI Bridge support" help Support for the Freecom USB to IDE/ATAPI adaptor. Freecom has a web page at <http://www.freecom.de/>. If this driver is compiled as a module, it will be named ums-freecom. config USB_STORAGE_ISD200 tristate "ISD-200 USB/ATA Bridge support" ---help--- Say Y here if you want to use USB Mass Store devices based on the In-Systems Design ISD-200 USB/ATA bridge. Some of the products that use this chip are: - Archos Jukebox 6000 - ISD SmartCable for Storage - Taiwan Skymaster CD530U/DEL-0241 IDE bridge - Sony CRX10U CD-R/RW drive - CyQ've CQ8060A CDRW drive - Planex eXtreme Drive RX-25HU USB-IDE cable (not model RX-25U) If this driver is compiled as a module, it will be named ums-isd200. config USB_STORAGE_USBAT tristate "USBAT/USBAT02-based storage support" help Say Y here to include additional code to support storage devices based on the SCM/Shuttle USBAT/USBAT02 processors. Devices reported to work with this driver include: - CompactFlash reader included with Kodak DC3800 camera - Dane-Elec Zmate CompactFlash reader - Delkin Efilm reader2 - HP 8200e/8210e/8230e CD-Writer Plus drives - I-JAM JS-50U - Jessops CompactFlash JESDCFRU BLACK - Kingston Technology PCREAD-USB/CF - Maxell UA4 CompactFlash reader - Memorex UCF-100 - Microtech ZiO! ICS-45 CF2 - RCA LYRA MP3 portable - Sandisk ImageMate SDDR-05b If this driver is compiled as a module, it will be named ums-usbat. config USB_STORAGE_SDDR09 tristate "SanDisk SDDR-09 (and other SmartMedia, including DPCM) support" help Say Y here to include additional code to support the Sandisk SDDR-09 SmartMedia reader in the USB Mass Storage driver. Also works for the Microtech Zio! CompactFlash/SmartMedia reader. If this driver is compiled as a module, it will be named ums-sddr09. config USB_STORAGE_SDDR55 tristate "SanDisk SDDR-55 SmartMedia support" help Say Y here to include additional code to support the Sandisk SDDR-55 SmartMedia reader in the USB Mass Storage driver. If this driver is compiled as a module, it will be named ums-sddr55. config USB_STORAGE_JUMPSHOT tristate "Lexar Jumpshot Compact Flash Reader" help Say Y here to include additional code to support the Lexar Jumpshot USB CompactFlash reader. If this driver is compiled as a module, it will be named ums-jumpshot. config USB_STORAGE_ALAUDA tristate "Olympus MAUSB-10/Fuji DPC-R1 support" help Say Y here to include additional code to support the Olympus MAUSB-10 and Fujifilm DPC-R1 USB Card reader/writer devices. These devices are based on the Alauda chip and support both XD and SmartMedia cards. If this driver is compiled as a module, it will be named ums-alauda. config USB_STORAGE_ONETOUCH tristate "Support OneTouch Button on Maxtor Hard Drives" depends on INPUT=y || INPUT=USB_STORAGE help Say Y here to include additional code to support the Maxtor OneTouch USB hard drive's onetouch button. This code registers the button on the front of Maxtor OneTouch USB hard drive's as an input device. An action can be associated with this input in any keybinding software. (e.g. gnome's keyboard short- cuts) If this driver is compiled as a module, it will be named ums-onetouch. config USB_STORAGE_KARMA tristate "Support for Rio Karma music player" help Say Y here to include additional code to support the Rio Karma USB interface. This code places the Rio Karma into mass storage mode, enabling it to be mounted as an ordinary filesystem. Performing an eject on the resulting scsi device node returns the Karma to normal operation. If this driver is compiled as a module, it will be named ums-karma. config USB_STORAGE_CYPRESS_ATACB tristate "SAT emulation on Cypress USB/ATA Bridge with ATACB" ---help--- Say Y here if you want to use SAT (ata pass through) on devices based on the Cypress USB/ATA bridge supporting ATACB. This will allow you to use tools to tune and monitor your drive (like hdparm or smartctl). If you say no here your device will still work with the standard usb mass storage class. If this driver is compiled as a module, it will be named ums-cypress. config USB_STORAGE_ENE_UB6250 tristate "USB ENE card reader support" ---help--- Say Y here if you wish to control a ENE SD/MS Card reader. Note that this driver does not support SM cards. To compile this driver as a module, choose M here: the module will be called ums-eneub6250. endif # USB_STORAGE config USB_UAS tristate "USB Attached SCSI" depends on SCSI && USB_STORAGE help The USB Attached SCSI protocol is supported by some USB storage devices. It permits higher performance by supporting multiple outstanding commands. If you don't know whether you have a UAS device, it is safe to say 'Y' or 'M' here and the kernel will use the right driver. If you compile this driver as a module, it will be named uas. storage/Makefile 0000644 00000003104 14722072341 0007650 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the USB Mass Storage device drivers. # # 15 Aug 2000, Christoph Hellwig <hch@infradead.org> # Rewritten to use lists instead of if-statements. # ccflags-y := -I $(srctree)/drivers/scsi ccflags-y += -DDEFAULT_SYMBOL_NAMESPACE=USB_STORAGE obj-$(CONFIG_USB_UAS) += uas.o obj-$(CONFIG_USB_STORAGE) += usb-storage.o usb-storage-y := scsiglue.o protocol.o transport.o usb.o usb-storage-y += initializers.o sierra_ms.o option_ms.o usb-storage-y += usual-tables.o usb-storage-$(CONFIG_USB_STORAGE_DEBUG) += debug.o obj-$(CONFIG_USB_STORAGE_ALAUDA) += ums-alauda.o obj-$(CONFIG_USB_STORAGE_CYPRESS_ATACB) += ums-cypress.o obj-$(CONFIG_USB_STORAGE_DATAFAB) += ums-datafab.o obj-$(CONFIG_USB_STORAGE_ENE_UB6250) += ums-eneub6250.o obj-$(CONFIG_USB_STORAGE_FREECOM) += ums-freecom.o obj-$(CONFIG_USB_STORAGE_ISD200) += ums-isd200.o obj-$(CONFIG_USB_STORAGE_JUMPSHOT) += ums-jumpshot.o obj-$(CONFIG_USB_STORAGE_KARMA) += ums-karma.o obj-$(CONFIG_USB_STORAGE_ONETOUCH) += ums-onetouch.o obj-$(CONFIG_USB_STORAGE_REALTEK) += ums-realtek.o obj-$(CONFIG_USB_STORAGE_SDDR09) += ums-sddr09.o obj-$(CONFIG_USB_STORAGE_SDDR55) += ums-sddr55.o obj-$(CONFIG_USB_STORAGE_USBAT) += ums-usbat.o ums-alauda-y := alauda.o ums-cypress-y := cypress_atacb.o ums-datafab-y := datafab.o ums-eneub6250-y := ene_ub6250.o ums-freecom-y := freecom.o ums-isd200-y := isd200.o ums-jumpshot-y := jumpshot.o ums-karma-y := karma.o ums-onetouch-y := onetouch.o ums-realtek-y := realtek_cr.o ums-sddr09-y := sddr09.o ums-sddr55-y := sddr55.o ums-usbat-y := shuttle_usbat.o mon/Kconfig 0000644 00000000560 14722072341 0006643 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Monitor configuration # config USB_MON tristate "USB Monitor" help If you select this option, a component which captures the USB traffic between peripheral-specific drivers and HC drivers will be built. For more information, see <file:Documentation/usb/usbmon.rst>. If unsure, say Y, if allowed, otherwise M. mon/Makefile 0000644 00000000235 14722072341 0006777 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for USB monitor # usbmon-y := mon_main.o mon_stat.o mon_text.o mon_bin.o obj-$(CONFIG_USB_MON) += usbmon.o mtu3/Kconfig 0000644 00000003156 14722072341 0006746 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # For MTK USB3.0 IP config USB_MTU3 tristate "MediaTek USB3 Dual Role controller" depends on USB || USB_GADGET depends on ARCH_MEDIATEK || COMPILE_TEST depends on EXTCON || !EXTCON select USB_XHCI_MTK if USB_SUPPORT && USB_XHCI_HCD help Say Y or M here if your system runs on MediaTek SoCs with Dual Role SuperSpeed USB controller. You can select usb mode as peripheral role or host role, or both. If you don't know what this is, please say N. Choose M here to compile this driver as a module, and it will be called mtu3.ko. if USB_MTU3 choice bool "MTU3 Mode Selection" default USB_MTU3_DUAL_ROLE if (USB && USB_GADGET) default USB_MTU3_HOST if (USB && !USB_GADGET) default USB_MTU3_GADGET if (!USB && USB_GADGET) config USB_MTU3_HOST bool "Host only mode" depends on USB=y || USB=USB_MTU3 help Select this when you want to use MTU3 in host mode only, thereby the gadget feature will be regressed. config USB_MTU3_GADGET bool "Gadget only mode" depends on USB_GADGET=y || USB_GADGET=USB_MTU3 help Select this when you want to use MTU3 in gadget mode only, thereby the host feature will be regressed. config USB_MTU3_DUAL_ROLE bool "Dual Role mode" depends on ((USB=y || USB=USB_MTU3) && (USB_GADGET=y || USB_GADGET=USB_MTU3)) depends on (EXTCON=y || EXTCON=USB_MTU3) select USB_ROLE_SWITCH help This is the default mode of working of MTU3 controller where both host and gadget features are enabled. endchoice config USB_MTU3_DEBUG bool "Enable Debugging Messages" help Say Y here to enable debugging messages in the MTU3 Driver. endif mtu3/Makefile 0000644 00000001226 14722072341 0007077 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-$(CONFIG_USB_MTU3_DEBUG) += -DDEBUG # define_trace.h needs to know how to find our header CFLAGS_mtu3_trace.o := -I$(src) obj-$(CONFIG_USB_MTU3) += mtu3.o mtu3-y := mtu3_plat.o ifneq ($(CONFIG_TRACING),) mtu3-y += mtu3_trace.o endif ifneq ($(filter y,$(CONFIG_USB_MTU3_HOST) $(CONFIG_USB_MTU3_DUAL_ROLE)),) mtu3-y += mtu3_host.o endif ifneq ($(filter y,$(CONFIG_USB_MTU3_GADGET) $(CONFIG_USB_MTU3_DUAL_ROLE)),) mtu3-y += mtu3_core.o mtu3_gadget_ep0.o mtu3_gadget.o mtu3_qmu.o endif ifneq ($(CONFIG_USB_MTU3_DUAL_ROLE),) mtu3-y += mtu3_dr.o endif ifneq ($(CONFIG_DEBUG_FS),) mtu3-y += mtu3_debugfs.o endif gadget/Kconfig 0000644 00000040510 14722072341 0007304 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Gadget support on a system involves # (a) a peripheral controller, and # (b) the gadget driver using it. # # NOTE: Gadget support ** DOES NOT ** depend on host-side CONFIG_USB !! # # - Host systems (like PCs) need CONFIG_USB (with "A" jacks). # - Peripherals (like PDAs) need CONFIG_USB_GADGET (with "B" jacks). # - Some systems have both kinds of controllers. # # With help from a special transceiver and a "Mini-AB" jack, systems with # both kinds of controller can also support "USB On-the-Go" (CONFIG_USB_OTG). # menuconfig USB_GADGET tristate "USB Gadget Support" select USB_COMMON select NLS help USB is a master/slave protocol, organized with one master host (such as a PC) controlling up to 127 peripheral devices. The USB hardware is asymmetric, which makes it easier to set up: you can't connect a "to-the-host" connector to a peripheral. Linux can run in the host, or in the peripheral. In both cases you need a low level bus controller driver, and some software talking to it. Peripheral controllers are often discrete silicon, or are integrated with the CPU in a microcontroller. The more familiar host side controllers have names like "EHCI", "OHCI", or "UHCI", and are usually integrated into southbridges on PC motherboards. Enable this configuration option if you want to run Linux inside a USB peripheral device. Configure one hardware driver for your peripheral/device side bus controller, and a "gadget driver" for your peripheral protocol. (If you use modular gadget drivers, you may configure more than one.) If in doubt, say "N" and don't enable these drivers; most people don't have this kind of hardware (except maybe inside Linux PDAs). For more information, see <http://www.linux-usb.org/gadget> and the kernel documentation for this API. if USB_GADGET config USB_GADGET_DEBUG bool "Debugging messages (DEVELOPMENT)" depends on DEBUG_KERNEL help Many controller and gadget drivers will print some debugging messages if you use this option to ask for those messages. Avoid enabling these messages, even if you're actively debugging such a driver. Many drivers will emit so many messages that the driver timings are affected, which will either create new failure modes or remove the one you're trying to track down. Never enable these messages for a production build. config USB_GADGET_VERBOSE bool "Verbose debugging Messages (DEVELOPMENT)" depends on USB_GADGET_DEBUG help Many controller and gadget drivers will print verbose debugging messages if you use this option to ask for those messages. Avoid enabling these messages, even if you're actively debugging such a driver. Many drivers will emit so many messages that the driver timings are affected, which will either create new failure modes or remove the one you're trying to track down. Never enable these messages for a production build. config USB_GADGET_DEBUG_FILES bool "Debugging information files (DEVELOPMENT)" depends on PROC_FS help Some of the drivers in the "gadget" framework can expose debugging information in files such as /proc/driver/udc (for a peripheral controller). The information in these files may help when you're troubleshooting or bringing up a driver on a new board. Enable these files by choosing "Y" here. If in doubt, or to conserve kernel memory, say "N". config USB_GADGET_DEBUG_FS bool "Debugging information files in debugfs (DEVELOPMENT)" depends on DEBUG_FS help Some of the drivers in the "gadget" framework can expose debugging information in files under /sys/kernel/debug/. The information in these files may help when you're troubleshooting or bringing up a driver on a new board. Enable these files by choosing "Y" here. If in doubt, or to conserve kernel memory, say "N". config USB_GADGET_VBUS_DRAW int "Maximum VBUS Power usage (2-500 mA)" range 2 500 default 2 help Some devices need to draw power from USB when they are configured, perhaps to operate circuitry or to recharge batteries. This is in addition to any local power supply, such as an AC adapter or batteries. Enter the maximum power your device draws through USB, in milliAmperes. The permitted range of values is 2 - 500 mA; 0 mA would be legal, but can make some hosts misbehave. This value will be used except for system-specific gadget drivers that have more specific information. config USB_GADGET_STORAGE_NUM_BUFFERS int "Number of storage pipeline buffers" range 2 256 default 2 help Usually 2 buffers are enough to establish a good buffering pipeline. The number may be increased in order to compensate for a bursty VFS behaviour. For instance there may be CPU wake up latencies that makes the VFS to appear bursty in a system with an CPU on-demand governor. Especially if DMA is doing IO to offload the CPU. In this case the CPU will go into power save often and spin up occasionally to move data within VFS. If selecting USB_GADGET_DEBUG_FILES this value may be set by a module parameter as well. If unsure, say 2. config U_SERIAL_CONSOLE bool "Serial gadget console support" depends on USB_U_SERIAL help It supports the serial gadget can be used as a console. source "drivers/usb/gadget/udc/Kconfig" # # USB Gadget Drivers # # composite based drivers config USB_LIBCOMPOSITE tristate select CONFIGFS_FS depends on USB_GADGET config USB_F_ACM tristate config USB_F_SS_LB tristate config USB_U_SERIAL tristate config USB_U_ETHER tristate config USB_U_AUDIO tristate config USB_F_SERIAL tristate config USB_F_OBEX tristate config USB_F_NCM tristate config USB_F_ECM tristate config USB_F_PHONET tristate config USB_F_EEM tristate config USB_F_SUBSET tristate config USB_F_RNDIS tristate config USB_F_MASS_STORAGE tristate config USB_F_FS tristate config USB_F_UAC1 tristate config USB_F_UAC1_LEGACY tristate config USB_F_UAC2 tristate config USB_F_UVC tristate config USB_F_MIDI tristate config USB_F_HID tristate config USB_F_PRINTER tristate config USB_F_TCM tristate # this first set of drivers all depend on bulk-capable hardware. config USB_CONFIGFS tristate "USB Gadget functions configurable through configfs" select USB_LIBCOMPOSITE help A Linux USB "gadget" can be set up through configfs. If this is the case, the USB functions (which from the host's perspective are seen as interfaces) and configurations are specified simply by creating appropriate directories in configfs. Associating functions with configurations is done by creating appropriate symbolic links. For more information see Documentation/usb/gadget_configfs.rst. config USB_CONFIGFS_SERIAL bool "Generic serial bulk in/out" depends on USB_CONFIGFS depends on TTY select USB_U_SERIAL select USB_F_SERIAL help The function talks to the Linux-USB generic serial driver. config USB_CONFIGFS_ACM bool "Abstract Control Model (CDC ACM)" depends on USB_CONFIGFS depends on TTY select USB_U_SERIAL select USB_F_ACM help ACM serial link. This function can be used to interoperate with MS-Windows hosts or with the Linux-USB "cdc-acm" driver. config USB_CONFIGFS_OBEX bool "Object Exchange Model (CDC OBEX)" depends on USB_CONFIGFS depends on TTY select USB_U_SERIAL select USB_F_OBEX help You will need a user space OBEX server talking to /dev/ttyGS*, since the kernel itself doesn't implement the OBEX protocol. config USB_CONFIGFS_NCM bool "Network Control Model (CDC NCM)" depends on USB_CONFIGFS depends on NET select USB_U_ETHER select USB_F_NCM select CRC32 help NCM is an advanced protocol for Ethernet encapsulation, allows grouping of several ethernet frames into one USB transfer and different alignment possibilities. config USB_CONFIGFS_ECM bool "Ethernet Control Model (CDC ECM)" depends on USB_CONFIGFS depends on NET select USB_U_ETHER select USB_F_ECM help The "Communication Device Class" (CDC) Ethernet Control Model. That protocol is often avoided with pure Ethernet adapters, in favor of simpler vendor-specific hardware, but is widely supported by firmware for smart network devices. config USB_CONFIGFS_ECM_SUBSET bool "Ethernet Control Model (CDC ECM) subset" depends on USB_CONFIGFS depends on NET select USB_U_ETHER select USB_F_SUBSET help On hardware that can't implement the full protocol, a simple CDC subset is used, placing fewer demands on USB. config USB_CONFIGFS_RNDIS bool "RNDIS" depends on USB_CONFIGFS depends on NET select USB_U_ETHER select USB_F_RNDIS help Microsoft Windows XP bundles the "Remote NDIS" (RNDIS) protocol, and Microsoft provides redistributable binary RNDIS drivers for older versions of Windows. To make MS-Windows work with this, use Documentation/usb/linux.inf as the "driver info file". For versions of MS-Windows older than XP, you'll need to download drivers from Microsoft's website; a URL is given in comments found in that info file. config USB_CONFIGFS_EEM bool "Ethernet Emulation Model (EEM)" depends on USB_CONFIGFS depends on NET select USB_U_ETHER select USB_F_EEM select CRC32 help CDC EEM is a newer USB standard that is somewhat simpler than CDC ECM and therefore can be supported by more hardware. Technically ECM and EEM are designed for different applications. The ECM model extends the network interface to the target (e.g. a USB cable modem), and the EEM model is for mobile devices to communicate with hosts using ethernet over USB. For Linux gadgets, however, the interface with the host is the same (a usbX device), so the differences are minimal. config USB_CONFIGFS_PHONET bool "Phonet protocol" depends on USB_CONFIGFS depends on NET depends on PHONET select USB_U_ETHER select USB_F_PHONET help The Phonet protocol implementation for USB device. config USB_CONFIGFS_MASS_STORAGE bool "Mass storage" depends on USB_CONFIGFS depends on BLOCK select USB_F_MASS_STORAGE help The Mass Storage Gadget acts as a USB Mass Storage disk drive. As its storage repository it can use a regular file or a block device (in much the same way as the "loop" device driver), specified as a module parameter or sysfs option. config USB_CONFIGFS_F_LB_SS bool "Loopback and sourcesink function (for testing)" depends on USB_CONFIGFS select USB_F_SS_LB help Loopback function loops back a configurable number of transfers. Sourcesink function either sinks and sources bulk data. It also implements control requests, for "chapter 9" conformance. Make this be the first driver you try using on top of any new USB peripheral controller driver. Then you can use host-side test software, like the "usbtest" driver, to put your hardware and its driver through a basic set of functional tests. config USB_CONFIGFS_F_FS bool "Function filesystem (FunctionFS)" depends on USB_CONFIGFS select USB_F_FS help The Function Filesystem (FunctionFS) lets one create USB composite functions in user space in the same way GadgetFS lets one create USB gadgets in user space. This allows creation of composite gadgets such that some of the functions are implemented in kernel space (for instance Ethernet, serial or mass storage) and other are implemented in user space. config USB_CONFIGFS_F_UAC1 bool "Audio Class 1.0" depends on USB_CONFIGFS depends on SND select USB_LIBCOMPOSITE select SND_PCM select USB_U_AUDIO select USB_F_UAC1 help This Audio function implements 1 AudioControl interface, 1 AudioStreaming Interface each for USB-OUT and USB-IN. This driver doesn't expect any real Audio codec to be present on the device - the audio streams are simply sinked to and sourced from a virtual ALSA sound card created. The user-space application may choose to do whatever it wants with the data received from the USB Host and choose to provide whatever it wants as audio data to the USB Host. config USB_CONFIGFS_F_UAC1_LEGACY bool "Audio Class 1.0 (legacy implementation)" depends on USB_CONFIGFS depends on SND select USB_LIBCOMPOSITE select SND_PCM select USB_F_UAC1_LEGACY help This Audio function implements 1 AudioControl interface, 1 AudioStreaming Interface each for USB-OUT and USB-IN. This is a legacy driver and requires a real Audio codec to be present on the device. config USB_CONFIGFS_F_UAC2 bool "Audio Class 2.0" depends on USB_CONFIGFS depends on SND select USB_LIBCOMPOSITE select SND_PCM select USB_U_AUDIO select USB_F_UAC2 help This Audio function is compatible with USB Audio Class specification 2.0. It implements 1 AudioControl interface, 1 AudioStreaming Interface each for USB-OUT and USB-IN. This driver doesn't expect any real Audio codec to be present on the device - the audio streams are simply sinked to and sourced from a virtual ALSA sound card created. The user-space application may choose to do whatever it wants with the data received from the USB Host and choose to provide whatever it wants as audio data to the USB Host. config USB_CONFIGFS_F_MIDI bool "MIDI function" depends on USB_CONFIGFS depends on SND select USB_LIBCOMPOSITE select SND_RAWMIDI select USB_F_MIDI help The MIDI Function acts as a USB Audio device, with one MIDI input and one MIDI output. These MIDI jacks appear as a sound "card" in the ALSA sound system. Other MIDI connections can then be made on the gadget system, using ALSA's aconnect utility etc. config USB_CONFIGFS_F_HID bool "HID function" depends on USB_CONFIGFS select USB_F_HID help The HID function driver provides generic emulation of USB Human Interface Devices (HID). For more information, see Documentation/usb/gadget_hid.rst. config USB_CONFIGFS_F_UVC bool "USB Webcam function" depends on USB_CONFIGFS depends on VIDEO_V4L2 depends on VIDEO_DEV select VIDEOBUF2_VMALLOC select USB_F_UVC help The Webcam function acts as a composite USB Audio and Video Class device. It provides a userspace API to process UVC control requests and stream video data to the host. config USB_CONFIGFS_F_PRINTER bool "Printer function" select USB_F_PRINTER depends on USB_CONFIGFS help The Printer function channels data between the USB host and a userspace program driving the print engine. The user space program reads and writes the device file /dev/g_printer<X> to receive or send printer data. It can use ioctl calls to the device file to get or set printer status. For more information, see Documentation/usb/gadget_printer.rst which includes sample code for accessing the device file. config USB_CONFIGFS_F_TCM bool "USB Gadget Target Fabric" depends on TARGET_CORE depends on USB_CONFIGFS select USB_LIBCOMPOSITE select USB_F_TCM help This fabric is a USB gadget component. Two USB protocols are supported that is BBB or BOT (Bulk Only Transport) and UAS (USB Attached SCSI). BOT is advertised on alternative interface 0 (primary) and UAS is on alternative interface 1. Both protocols can work on USB2.0 and USB3.0. UAS utilizes the USB 3.0 feature called streams support. choice tristate "USB Gadget precomposed configurations" default USB_ETH optional help A Linux "Gadget Driver" talks to the USB Peripheral Controller driver through the abstract "gadget" API. Some other operating systems call these "client" drivers, of which "class drivers" are a subset (implementing a USB device class specification). A gadget driver implements one or more USB functions using the peripheral hardware. Gadget drivers are hardware-neutral, or "platform independent", except that they sometimes must understand quirks or limitations of the particular controllers they work with. For example, when a controller doesn't support alternate configurations or provide enough of the right types of endpoints, the gadget driver might not be able work with that controller, or might need to implement a less common variant of a device class protocol. The available choices each represent a single precomposed USB gadget configuration. In the device model, each option contains both the device instantiation as a child for a USB gadget controller, and the relevant drivers for each function declared by the device. source "drivers/usb/gadget/legacy/Kconfig" endchoice endif # USB_GADGET gadget/function/Makefile 0000644 00000003505 14722072341 0011271 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB peripheral controller drivers # ccflags-y := -I$(srctree)/drivers/usb/gadget/ ccflags-y += -I$(srctree)/drivers/usb/gadget/udc/ # USB Functions usb_f_acm-y := f_acm.o obj-$(CONFIG_USB_F_ACM) += usb_f_acm.o usb_f_ss_lb-y := f_loopback.o f_sourcesink.o obj-$(CONFIG_USB_F_SS_LB) += usb_f_ss_lb.o obj-$(CONFIG_USB_U_SERIAL) += u_serial.o usb_f_serial-y := f_serial.o obj-$(CONFIG_USB_F_SERIAL) += usb_f_serial.o usb_f_obex-y := f_obex.o obj-$(CONFIG_USB_F_OBEX) += usb_f_obex.o obj-$(CONFIG_USB_U_ETHER) += u_ether.o usb_f_ncm-y := f_ncm.o obj-$(CONFIG_USB_F_NCM) += usb_f_ncm.o usb_f_ecm-y := f_ecm.o obj-$(CONFIG_USB_F_ECM) += usb_f_ecm.o usb_f_phonet-y := f_phonet.o obj-$(CONFIG_USB_F_PHONET) += usb_f_phonet.o usb_f_eem-y := f_eem.o obj-$(CONFIG_USB_F_EEM) += usb_f_eem.o usb_f_ecm_subset-y := f_subset.o obj-$(CONFIG_USB_F_SUBSET) += usb_f_ecm_subset.o usb_f_rndis-y := f_rndis.o rndis.o obj-$(CONFIG_USB_F_RNDIS) += usb_f_rndis.o usb_f_mass_storage-y := f_mass_storage.o storage_common.o obj-$(CONFIG_USB_F_MASS_STORAGE)+= usb_f_mass_storage.o usb_f_fs-y := f_fs.o obj-$(CONFIG_USB_F_FS) += usb_f_fs.o obj-$(CONFIG_USB_U_AUDIO) += u_audio.o usb_f_uac1-y := f_uac1.o obj-$(CONFIG_USB_F_UAC1) += usb_f_uac1.o usb_f_uac1_legacy-y := f_uac1_legacy.o u_uac1_legacy.o obj-$(CONFIG_USB_F_UAC1_LEGACY) += usb_f_uac1_legacy.o usb_f_uac2-y := f_uac2.o obj-$(CONFIG_USB_F_UAC2) += usb_f_uac2.o usb_f_uvc-y := f_uvc.o uvc_queue.o uvc_v4l2.o uvc_video.o uvc_configfs.o obj-$(CONFIG_USB_F_UVC) += usb_f_uvc.o usb_f_midi-y := f_midi.o obj-$(CONFIG_USB_F_MIDI) += usb_f_midi.o usb_f_hid-y := f_hid.o obj-$(CONFIG_USB_F_HID) += usb_f_hid.o usb_f_printer-y := f_printer.o obj-$(CONFIG_USB_F_PRINTER) += usb_f_printer.o usb_f_tcm-y := f_tcm.o obj-$(CONFIG_USB_F_TCM) += usb_f_tcm.o gadget/udc/Kconfig 0000644 00000040706 14722072341 0010066 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Gadget support on a system involves # (a) a peripheral controller, and # (b) the gadget driver using it. # # NOTE: Gadget support ** DOES NOT ** depend on host-side CONFIG_USB !! # # - Host systems (like PCs) need CONFIG_USB (with "A" jacks). # - Peripherals (like PDAs) need CONFIG_USB_GADGET (with "B" jacks). # - Some systems have both kinds of controllers. # # With help from a special transceiver and a "Mini-AB" jack, systems with # both kinds of controller can also support "USB On-the-Go" (CONFIG_USB_OTG). # # # USB Peripheral Controller Support # # The order here is alphabetical, except that integrated controllers go # before discrete ones so they will be the initial/default value: # - integrated/SOC controllers first # - licensed IP used in both SOC and discrete versions # - discrete ones (including all PCI-only controllers) # - debug/dummy gadget+hcd is last. # menu "USB Peripheral Controller" # # Integrated controllers # config USB_AT91 tristate "Atmel AT91 USB Device Port" depends on ARCH_AT91 depends on OF || COMPILE_TEST help Many Atmel AT91 processors (such as the AT91RM2000) have a full speed USB Device Port with support for five configurable endpoints (plus endpoint zero). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "at91_udc" and force all gadget drivers to also be dynamically linked. config USB_LPC32XX tristate "LPC32XX USB Peripheral Controller" depends on ARCH_LPC32XX || COMPILE_TEST depends on I2C select USB_ISP1301 help This option selects the USB device controller in the LPC32xx SoC. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "lpc32xx_udc" and force all gadget drivers to also be dynamically linked. config USB_ATMEL_USBA tristate "Atmel USBA" depends on ARCH_AT91 help USBA is the integrated high-speed USB Device controller on the AT32AP700x, some AT91SAM9 and AT91CAP9 processors from Atmel. The fifo_mode parameter is used to select endpoint allocation mode. fifo_mode = 0 is used to let the driver autoconfigure the endpoints. In this case, for ep1 2 banks are allocated if it works in isochronous mode and only 1 bank otherwise. For the rest of the endpoints only 1 bank is allocated. fifo_mode = 1 is a generic maximum fifo size (1024 bytes) configuration allowing the usage of ep1 - ep6 fifo_mode = 2 is a generic performance maximum fifo size (1024 bytes) configuration allowing the usage of ep1 - ep3 fifo_mode = 3 is a balanced performance configuration allowing the the usage of ep1 - ep8 config USB_BCM63XX_UDC tristate "Broadcom BCM63xx Peripheral Controller" depends on BCM63XX help Many Broadcom BCM63xx chipsets (such as the BCM6328) have a high speed USB Device Port with support for four fixed endpoints (plus endpoint zero). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "bcm63xx_udc". config USB_FSL_USB2 tristate "Freescale Highspeed USB DR Peripheral Controller" depends on FSL_SOC || ARCH_MXC help Some of Freescale PowerPC and i.MX processors have a High Speed Dual-Role(DR) USB controller, which supports device mode. The number of programmable endpoints is different through SOC revisions. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "fsl_usb2_udc" and force all gadget drivers to also be dynamically linked. config USB_FUSB300 tristate "Faraday FUSB300 USB Peripheral Controller" depends on !PHYS_ADDR_T_64BIT && HAS_DMA help Faraday usb device controller FUSB300 driver config USB_FOTG210_UDC depends on HAS_DMA tristate "Faraday FOTG210 USB Peripheral Controller" help Faraday USB2.0 OTG controller which can be configured as high speed or full speed USB device. This driver supppors Bulk Transfer so far. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "fotg210_udc". config USB_GR_UDC tristate "Aeroflex Gaisler GRUSBDC USB Peripheral Controller Driver" depends on HAS_DMA help Select this to support Aeroflex Gaisler GRUSBDC cores from the GRLIB VHDL IP core library. config USB_OMAP tristate "OMAP USB Device Controller" depends on ARCH_OMAP1 depends on ISP1301_OMAP || !(MACH_OMAP_H2 || MACH_OMAP_H3) help Many Texas Instruments OMAP processors have flexible full speed USB device controllers, with support for up to 30 endpoints (plus endpoint zero). This driver supports the controller in the OMAP 1611, and should work with controllers in other OMAP processors too, given minor tweaks. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "omap_udc" and force all gadget drivers to also be dynamically linked. config USB_PXA25X tristate "PXA 25x or IXP 4xx" depends on (ARCH_PXA && PXA25x) || ARCH_IXP4XX depends on HAS_IOMEM help Intel's PXA 25x series XScale ARM-5TE processors include an integrated full speed USB 1.1 device controller. The controller in the IXP 4xx series is register-compatible. It has fifteen fixed-function endpoints, as well as endpoint zero (for control transfers). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "pxa25x_udc" and force all gadget drivers to also be dynamically linked. # if there's only one gadget driver, using only two bulk endpoints, # don't waste memory for the other endpoints config USB_PXA25X_SMALL depends on USB_PXA25X bool default n if USB_ETH_RNDIS default y if USB_ZERO default y if USB_ETH default y if USB_G_SERIAL config USB_R8A66597 tristate "Renesas R8A66597 USB Peripheral Controller" depends on HAS_DMA help R8A66597 is a discrete USB host and peripheral controller chip that supports both full and high speed USB 2.0 data transfers. It has nine configurable endpoints, and endpoint zero. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "r8a66597_udc" and force all gadget drivers to also be dynamically linked. config USB_RENESAS_USBHS_UDC tristate 'Renesas USBHS controller' depends on USB_RENESAS_USBHS help Renesas USBHS is a discrete USB host and peripheral controller chip that supports both full and high speed USB 2.0 data transfers. It has nine or more configurable endpoints, and endpoint zero. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "renesas_usbhs" and force all gadget drivers to also be dynamically linked. config USB_RENESAS_USB3 tristate 'Renesas USB3.0 Peripheral controller' depends on ARCH_RENESAS || COMPILE_TEST depends on EXTCON select USB_ROLE_SWITCH help Renesas USB3.0 Peripheral controller is a USB peripheral controller that supports super, high, and full speed USB 3.0 data transfers. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "renesas_usb3" and force all gadget drivers to also be dynamically linked. config USB_PXA27X tristate "PXA 27x" depends on HAS_IOMEM help Intel's PXA 27x series XScale ARM v5TE processors include an integrated full speed USB 1.1 device controller. It has up to 23 endpoints, as well as endpoint zero (for control transfers). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "pxa27x_udc" and force all gadget drivers to also be dynamically linked. config USB_S3C2410 tristate "S3C2410 USB Device Controller" depends on ARCH_S3C24XX help Samsung's S3C2410 is an ARM-4 processor with an integrated full speed USB 1.1 device controller. It has 4 configurable endpoints, as well as endpoint zero (for control transfers). This driver has been tested on the S3C2410, S3C2412, and S3C2440 processors. config USB_S3C2410_DEBUG bool "S3C2410 udc debug messages" depends on USB_S3C2410 config USB_S3C_HSUDC tristate "S3C2416, S3C2443 and S3C2450 USB Device Controller" depends on ARCH_S3C24XX help Samsung's S3C2416, S3C2443 and S3C2450 is an ARM9 based SoC integrated with dual speed USB 2.0 device controller. It has 8 endpoints, as well as endpoint zero. This driver has been tested on S3C2416 and S3C2450 processors. config USB_MV_UDC tristate "Marvell USB2.0 Device Controller" depends on HAS_DMA help Marvell Socs (including PXA and MMP series) include a high speed USB2.0 OTG controller, which can be configured as high speed or full speed USB peripheral. config USB_MV_U3D depends on HAS_DMA tristate "MARVELL PXA2128 USB 3.0 controller" help MARVELL PXA2128 Processor series include a super speed USB3.0 device controller, which support super speed USB peripheral. config USB_SNP_CORE depends on (USB_AMD5536UDC || USB_SNP_UDC_PLAT) depends on HAS_DMA tristate help This enables core driver support for Synopsys USB 2.0 Device controller. This will be enabled when PCI or Platform driver for this UDC is selected. Currently, this will be enabled by USB_SNP_UDC_PLAT or USB_AMD5536UDC options. This IP is different to the High Speed OTG IP that can be enabled by selecting USB_DWC2 or USB_DWC3 options. config USB_SNP_UDC_PLAT tristate "Synopsys USB 2.0 Device controller" depends on USB_GADGET && OF && HAS_DMA depends on EXTCON || EXTCON=n select USB_SNP_CORE default ARCH_BCM_IPROC help This adds Platform Device support for Synopsys Designware core AHB subsystem USB2.0 Device Controller (UDC). This driver works with UDCs integrated into Broadcom's Northstar2 and Cygnus SoCs. If unsure, say N. # # Controllers available in both integrated and discrete versions # config USB_M66592 tristate "Renesas M66592 USB Peripheral Controller" depends on HAS_IOMEM help M66592 is a discrete USB peripheral controller chip that supports both full and high speed USB 2.0 data transfers. It has seven configurable endpoints, and endpoint zero. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "m66592_udc" and force all gadget drivers to also be dynamically linked. source "drivers/usb/gadget/udc/bdc/Kconfig" # # Controllers available only in discrete form (and all PCI controllers) # config USB_AMD5536UDC tristate "AMD5536 UDC" depends on USB_PCI && HAS_DMA select USB_SNP_CORE help The AMD5536 UDC is part of the AMD Geode CS5536, an x86 southbridge. It is a USB Highspeed DMA capable USB device controller. Beside ep0 it provides 4 IN and 4 OUT endpoints (bulk or interrupt type). The UDC port supports OTG operation, and may be used as a host port if it's not being used to implement peripheral or OTG roles. This UDC is based on Synopsys USB device controller IP and selects CONFIG_USB_SNP_CORE option to build the core driver. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "amd5536udc" and force all gadget drivers to also be dynamically linked. config USB_FSL_QE tristate "Freescale QE/CPM USB Device Controller" depends on FSL_SOC && (QUICC_ENGINE || CPM) depends on !64BIT || BROKEN help Some of Freescale PowerPC processors have a Full Speed QE/CPM2 USB controller, which support device mode with 4 programmable endpoints. This driver supports the controller in the MPC8360 and MPC8272, and should work with controllers having QE or CPM2, given minor tweaks. Set CONFIG_USB_GADGET to "m" to build this driver as a dynamically linked module called "fsl_qe_udc". config USB_NET2272 depends on HAS_IOMEM tristate "PLX NET2272" help PLX NET2272 is a USB peripheral controller which supports both full and high speed USB 2.0 data transfers. It has three configurable endpoints, as well as endpoint zero (for control transfer). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "net2272" and force all gadget drivers to also be dynamically linked. config USB_NET2272_DMA bool "Support external DMA controller" depends on USB_NET2272 && HAS_DMA help The NET2272 part can optionally support an external DMA controller, but your board has to have support in the driver itself. If unsure, say "N" here. The driver works fine in PIO mode. config USB_NET2280 tristate "NetChip NET228x / PLX USB3x8x" depends on USB_PCI help NetChip 2280 / 2282 is a PCI based USB peripheral controller which supports both full and high speed USB 2.0 data transfers. It has six configurable endpoints, as well as endpoint zero (for control transfers) and several endpoints with dedicated functions. PLX 2380 is a PCIe version of the PLX 2380. PLX 3380 / 3382 is a PCIe based USB peripheral controller which supports full, high speed USB 2.0 and super speed USB 3.0 data transfers. It has eight configurable endpoints, as well as endpoint zero (for control transfers) and several endpoints with dedicated functions. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "net2280" and force all gadget drivers to also be dynamically linked. config USB_GOKU tristate "Toshiba TC86C001 'Goku-S'" depends on USB_PCI help The Toshiba TC86C001 is a PCI device which includes controllers for full speed USB devices, IDE, I2C, SIO, plus a USB host (OHCI). The device controller has three configurable (bulk or interrupt) endpoints, plus endpoint zero (for control transfers). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "goku_udc" and to force all gadget drivers to also be dynamically linked. config USB_EG20T tristate "Intel QUARK X1000/EG20T PCH/LAPIS Semiconductor IOH(ML7213/ML7831) UDC" depends on USB_PCI help This is a USB device driver for EG20T PCH. EG20T PCH is the platform controller hub that is used in Intel's general embedded platform. EG20T PCH has USB device interface. Using this interface, it is able to access system devices connected to USB device. This driver enables USB device function. USB device is a USB peripheral controller which supports both full and high speed USB 2.0 data transfers. This driver supports both control transfer and bulk transfer modes. This driver dose not support interrupt transfer or isochronous transfer modes. This driver also can be used for LAPIS Semiconductor's ML7213 which is for IVI(In-Vehicle Infotainment) use. ML7831 is for general purpose use. ML7213/ML7831 is companion chip for Intel Atom E6xx series. ML7213/ML7831 is completely compatible for Intel EG20T PCH. This driver can be used with Intel's Quark X1000 SOC platform config USB_GADGET_XILINX tristate "Xilinx USB Driver" depends on HAS_DMA depends on OF || COMPILE_TEST help USB peripheral controller driver for Xilinx USB2 device. Xilinx USB2 device is a soft IP which supports both full and high speed USB 2.0 data transfers. It has seven configurable endpoints(bulk or interrupt or isochronous), as well as endpoint zero(for control transfers). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "udc-xilinx" and force all gadget drivers to also be dynamically linked. source "drivers/usb/gadget/udc/aspeed-vhub/Kconfig" # # LAST -- dummy/emulated controller # config USB_DUMMY_HCD tristate "Dummy HCD (DEVELOPMENT)" depends on USB=y || (USB=m && USB_GADGET=m) help This host controller driver emulates USB, looping all data transfer requests back to a USB "gadget driver" in the same host. The host side is the master; the gadget side is the slave. Gadget drivers can be high, full, or low speed; and they have access to endpoints like those from NET2280, PXA2xx, or SA1100 hardware. This may help in some stages of creating a driver to embed in a Linux device, since it lets you debug several parts of the gadget driver without its hardware or drivers being involved. Since such a gadget side driver needs to interoperate with a host side Linux-USB device driver, this may help to debug both sides of a USB protocol stack. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "dummy_hcd" and force all gadget drivers to also be dynamically linked. # NOTE: Please keep dummy_hcd LAST so that "real hardware" appears # first and will be selected by default. endmenu gadget/udc/bdc/Kconfig 0000644 00000001221 14722072341 0010603 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config USB_BDC_UDC tristate "Broadcom USB3.0 device controller IP driver(BDC)" depends on USB_GADGET && HAS_DMA default ARCH_BRCMSTB help BDC is Broadcom's USB3.0 device controller IP. If your SOC has a BDC IP then select this driver. Say "y" here to link the driver statically, or "m" to build a dynamically linked module called "bdc". if USB_BDC_UDC comment "Platform Support" config USB_BDC_PCI tristate "BDC support for PCIe based platforms" depends on USB_PCI && BROKEN default USB_BDC_UDC help Enable support for platforms which have BDC connected through PCIe, such as Lego3 FPGA platform. endif gadget/udc/bdc/Makefile 0000644 00000000342 14722072341 0010743 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_USB_BDC_UDC) += bdc.o bdc-y := bdc_core.o bdc_cmd.o bdc_ep.o bdc_udc.o ifneq ($(CONFIG_USB_GADGET_VERBOSE),) bdc-y += bdc_dbg.o endif obj-$(CONFIG_USB_BDC_PCI) += bdc_pci.o gadget/udc/aspeed-vhub/Kconfig 0000644 00000000433 14722072341 0012262 0 ustar 00 # SPDX-License-Identifier: GPL-2.0+ config USB_ASPEED_VHUB tristate "Aspeed vHub UDC driver" depends on ARCH_ASPEED || COMPILE_TEST depends on USB_LIBCOMPOSITE help USB peripheral controller for the Aspeed AST2500 family SoCs supporting the "vHub" functionality and USB2.0 gadget/udc/aspeed-vhub/Makefile 0000644 00000000204 14722072341 0012413 0 ustar 00 # SPDX-License-Identifier: GPL-2.0+ obj-$(CONFIG_USB_ASPEED_VHUB) += aspeed-vhub.o aspeed-vhub-y := core.o ep0.o epn.o dev.o hub.o gadget/udc/Makefile 0000644 00000003126 14722072341 0010216 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # define_trace.h needs to know how to find our header CFLAGS_trace.o := -I$(src) udc-core-y := core.o trace.o # # USB peripheral controller drivers # obj-$(CONFIG_USB_GADGET) += udc-core.o obj-$(CONFIG_USB_DUMMY_HCD) += dummy_hcd.o obj-$(CONFIG_USB_NET2272) += net2272.o obj-$(CONFIG_USB_NET2280) += net2280.o obj-$(CONFIG_USB_SNP_CORE) += snps_udc_core.o obj-$(CONFIG_USB_AMD5536UDC) += amd5536udc_pci.o obj-$(CONFIG_USB_PXA25X) += pxa25x_udc.o obj-$(CONFIG_USB_PXA27X) += pxa27x_udc.o obj-$(CONFIG_USB_GOKU) += goku_udc.o obj-$(CONFIG_USB_OMAP) += omap_udc.o obj-$(CONFIG_USB_S3C2410) += s3c2410_udc.o obj-$(CONFIG_USB_AT91) += at91_udc.o obj-$(CONFIG_USB_ATMEL_USBA) += atmel_usba_udc.o obj-$(CONFIG_USB_BCM63XX_UDC) += bcm63xx_udc.o obj-$(CONFIG_USB_FSL_USB2) += fsl_usb2_udc.o fsl_usb2_udc-y := fsl_udc_core.o fsl_usb2_udc-$(CONFIG_ARCH_MXC) += fsl_mxc_udc.o obj-$(CONFIG_USB_M66592) += m66592-udc.o obj-$(CONFIG_USB_R8A66597) += r8a66597-udc.o obj-$(CONFIG_USB_RENESAS_USB3) += renesas_usb3.o obj-$(CONFIG_USB_FSL_QE) += fsl_qe_udc.o obj-$(CONFIG_USB_S3C_HSUDC) += s3c-hsudc.o obj-$(CONFIG_USB_LPC32XX) += lpc32xx_udc.o obj-$(CONFIG_USB_EG20T) += pch_udc.o obj-$(CONFIG_USB_MV_UDC) += mv_udc.o mv_udc-y := mv_udc_core.o obj-$(CONFIG_USB_FUSB300) += fusb300_udc.o obj-$(CONFIG_USB_FOTG210_UDC) += fotg210-udc.o obj-$(CONFIG_USB_MV_U3D) += mv_u3d_core.o obj-$(CONFIG_USB_GR_UDC) += gr_udc.o obj-$(CONFIG_USB_GADGET_XILINX) += udc-xilinx.o obj-$(CONFIG_USB_SNP_UDC_PLAT) += snps_udc_plat.o obj-$(CONFIG_USB_ASPEED_VHUB) += aspeed-vhub/ obj-$(CONFIG_USB_BDC_UDC) += bdc/ gadget/Makefile 0000644 00000000714 14722072341 0007443 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB peripheral controller drivers # subdir-ccflags-$(CONFIG_USB_GADGET_DEBUG) := -DDEBUG subdir-ccflags-$(CONFIG_USB_GADGET_VERBOSE) += -DVERBOSE_DEBUG ccflags-y += -I$(srctree)/drivers/usb/gadget/udc obj-$(CONFIG_USB_LIBCOMPOSITE) += libcomposite.o libcomposite-y := usbstring.o config.o epautoconf.o libcomposite-y += composite.o functions.o configfs.o u_f.o obj-$(CONFIG_USB_GADGET) += udc/ function/ legacy/ gadget/legacy/Kconfig 0000644 00000041147 14722072341 0010557 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Gadget support on a system involves # (a) a peripheral controller, and # (b) the gadget driver using it. # # NOTE: Gadget support ** DOES NOT ** depend on host-side CONFIG_USB !! # # - Host systems (like PCs) need CONFIG_USB (with "A" jacks). # - Peripherals (like PDAs) need CONFIG_USB_GADGET (with "B" jacks). # - Some systems have both kinds of controllers. # # With help from a special transceiver and a "Mini-AB" jack, systems with # both kinds of controller can also support "USB On-the-Go" (CONFIG_USB_OTG). # config USB_ZERO tristate "Gadget Zero (DEVELOPMENT)" select USB_LIBCOMPOSITE select USB_F_SS_LB help Gadget Zero is a two-configuration device. It either sinks and sources bulk data; or it loops back a configurable number of transfers. It also implements control requests, for "chapter 9" conformance. The driver needs only two bulk-capable endpoints, so it can work on top of most device-side usb controllers. It's useful for testing, and is also a working example showing how USB "gadget drivers" can be written. Make this be the first driver you try using on top of any new USB peripheral controller driver. Then you can use host-side test software, like the "usbtest" driver, to put your hardware and its driver through a basic set of functional tests. Gadget Zero also works with the host-side "usb-skeleton" driver, and with many kinds of host-side test software. You may need to tweak product and vendor IDs before host software knows about this device, and arrange to select an appropriate configuration. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_zero". config USB_ZERO_HNPTEST bool "HNP Test Device" depends on USB_ZERO && USB_OTG help You can configure this device to enumerate using the device identifiers of the USB-OTG test device. That means that when this gadget connects to another OTG device, with this one using the "B-Peripheral" role, that device will use HNP to let this one serve as the USB host instead (in the "B-Host" role). config USB_AUDIO tristate "Audio Gadget" depends on SND select USB_LIBCOMPOSITE select SND_PCM select USB_F_UAC1 if (GADGET_UAC1 && !GADGET_UAC1_LEGACY) select USB_F_UAC1_LEGACY if (GADGET_UAC1 && GADGET_UAC1_LEGACY) select USB_F_UAC2 if !GADGET_UAC1 select USB_U_AUDIO if (USB_F_UAC2 || USB_F_UAC1) help This Gadget Audio driver is compatible with USB Audio Class specification 2.0. It implements 1 AudioControl interface, 1 AudioStreaming Interface each for USB-OUT and USB-IN. Number of channels, sample rate and sample size can be specified as module parameters. This driver doesn't expect any real Audio codec to be present on the device - the audio streams are simply sinked to and sourced from a virtual ALSA sound card created. The user-space application may choose to do whatever it wants with the data received from the USB Host and choose to provide whatever it wants as audio data to the USB Host. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_audio". config GADGET_UAC1 bool "UAC 1.0" depends on USB_AUDIO help If you instead want older USB Audio Class specification 1.0 support with similar driver capabilities. config GADGET_UAC1_LEGACY bool "UAC 1.0 (Legacy)" depends on GADGET_UAC1 help If you instead want legacy UAC Spec-1.0 driver that also has audio paths hardwired to the Audio codec chip on-board and doesn't work without one. config USB_ETH tristate "Ethernet Gadget (with CDC Ethernet support)" depends on NET select USB_LIBCOMPOSITE select USB_U_ETHER select USB_F_ECM select USB_F_SUBSET select CRC32 help This driver implements Ethernet style communication, in one of several ways: - The "Communication Device Class" (CDC) Ethernet Control Model. That protocol is often avoided with pure Ethernet adapters, in favor of simpler vendor-specific hardware, but is widely supported by firmware for smart network devices. - On hardware can't implement that protocol, a simple CDC subset is used, placing fewer demands on USB. - CDC Ethernet Emulation Model (EEM) is a newer standard that has a simpler interface that can be used by more USB hardware. RNDIS support is an additional option, more demanding than subset. Within the USB device, this gadget driver exposes a network device "usbX", where X depends on what other networking devices you have. Treat it like a two-node Ethernet link: host, and gadget. The Linux-USB host-side "usbnet" driver interoperates with this driver, so that deep I/O queues can be supported. On 2.4 kernels, use "CDCEther" instead, if you're using the CDC option. That CDC mode should also interoperate with standard CDC Ethernet class drivers on other host operating systems. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_ether". config USB_ETH_RNDIS bool "RNDIS support" depends on USB_ETH select USB_LIBCOMPOSITE select USB_F_RNDIS default y help Microsoft Windows XP bundles the "Remote NDIS" (RNDIS) protocol, and Microsoft provides redistributable binary RNDIS drivers for older versions of Windows. If you say "y" here, the Ethernet gadget driver will try to provide a second device configuration, supporting RNDIS to talk to such Microsoft USB hosts. To make MS-Windows work with this, use Documentation/usb/linux.inf as the "driver info file". For versions of MS-Windows older than XP, you'll need to download drivers from Microsoft's website; a URL is given in comments found in that info file. config USB_ETH_EEM bool "Ethernet Emulation Model (EEM) support" depends on USB_ETH select USB_LIBCOMPOSITE select USB_F_EEM help CDC EEM is a newer USB standard that is somewhat simpler than CDC ECM and therefore can be supported by more hardware. Technically ECM and EEM are designed for different applications. The ECM model extends the network interface to the target (e.g. a USB cable modem), and the EEM model is for mobile devices to communicate with hosts using ethernet over USB. For Linux gadgets, however, the interface with the host is the same (a usbX device), so the differences are minimal. If you say "y" here, the Ethernet gadget driver will use the EEM protocol rather than ECM. If unsure, say "n". config USB_G_NCM tristate "Network Control Model (NCM) support" depends on NET select USB_LIBCOMPOSITE select USB_U_ETHER select USB_F_NCM select CRC32 help This driver implements USB CDC NCM subclass standard. NCM is an advanced protocol for Ethernet encapsulation, allows grouping of several ethernet frames into one USB transfer and different alignment possibilities. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_ncm". config USB_GADGETFS tristate "Gadget Filesystem" help This driver provides a filesystem based API that lets user mode programs implement a single-configuration USB device, including endpoint I/O and control requests that don't relate to enumeration. All endpoints, transfer speeds, and transfer types supported by the hardware are available, through read() and write() calls. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "gadgetfs". config USB_FUNCTIONFS tristate "Function Filesystem" select USB_LIBCOMPOSITE select USB_F_FS select USB_FUNCTIONFS_GENERIC if !(USB_FUNCTIONFS_ETH || USB_FUNCTIONFS_RNDIS) help The Function Filesystem (FunctionFS) lets one create USB composite functions in user space in the same way GadgetFS lets one create USB gadgets in user space. This allows creation of composite gadgets such that some of the functions are implemented in kernel space (for instance Ethernet, serial or mass storage) and other are implemented in user space. If you say "y" or "m" here you will be able what kind of configurations the gadget will provide. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_ffs". config USB_FUNCTIONFS_ETH bool "Include configuration with CDC ECM (Ethernet)" depends on USB_FUNCTIONFS && NET select USB_U_ETHER select USB_F_ECM select USB_F_SUBSET help Include a configuration with CDC ECM function (Ethernet) and the Function Filesystem. config USB_FUNCTIONFS_RNDIS bool "Include configuration with RNDIS (Ethernet)" depends on USB_FUNCTIONFS && NET select USB_U_ETHER select USB_F_RNDIS help Include a configuration with RNDIS function (Ethernet) and the Filesystem. config USB_FUNCTIONFS_GENERIC bool "Include 'pure' configuration" depends on USB_FUNCTIONFS help Include a configuration with the Function Filesystem alone with no Ethernet interface. config USB_MASS_STORAGE tristate "Mass Storage Gadget" depends on BLOCK select USB_LIBCOMPOSITE select USB_F_MASS_STORAGE help The Mass Storage Gadget acts as a USB Mass Storage disk drive. As its storage repository it can use a regular file or a block device (in much the same way as the "loop" device driver), specified as a module parameter or sysfs option. This driver is a replacement for now removed File-backed Storage Gadget (g_file_storage). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_mass_storage". config USB_GADGET_TARGET tristate "USB Gadget Target Fabric Module" depends on TARGET_CORE select USB_LIBCOMPOSITE select USB_F_TCM help This fabric is an USB gadget. Two USB protocols are supported that is BBB or BOT (Bulk Only Transport) and UAS (USB Attached SCSI). BOT is advertised on alternative interface 0 (primary) and UAS is on alternative interface 1. Both protocols can work on USB2.0 and USB3.0. UAS utilizes the USB 3.0 feature called streams support. config USB_G_SERIAL tristate "Serial Gadget (with CDC ACM and CDC OBEX support)" depends on TTY select USB_U_SERIAL select USB_F_ACM select USB_F_SERIAL select USB_F_OBEX select USB_LIBCOMPOSITE help The Serial Gadget talks to the Linux-USB generic serial driver. This driver supports a CDC-ACM module option, which can be used to interoperate with MS-Windows hosts or with the Linux-USB "cdc-acm" driver. This driver also supports a CDC-OBEX option. You will need a user space OBEX server talking to /dev/ttyGS*, since the kernel itself doesn't implement the OBEX protocol. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_serial". For more information, see Documentation/usb/gadget_serial.rst which includes instructions and a "driver info file" needed to make MS-Windows work with CDC ACM. config USB_MIDI_GADGET tristate "MIDI Gadget" depends on SND select USB_LIBCOMPOSITE select SND_RAWMIDI select USB_F_MIDI help The MIDI Gadget acts as a USB Audio device, with one MIDI input and one MIDI output. These MIDI jacks appear as a sound "card" in the ALSA sound system. Other MIDI connections can then be made on the gadget system, using ALSA's aconnect utility etc. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_midi". config USB_G_PRINTER tristate "Printer Gadget" select USB_LIBCOMPOSITE select USB_F_PRINTER help The Printer Gadget channels data between the USB host and a userspace program driving the print engine. The user space program reads and writes the device file /dev/g_printer to receive or send printer data. It can use ioctl calls to the device file to get or set printer status. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_printer". For more information, see Documentation/usb/gadget_printer.rst which includes sample code for accessing the device file. if TTY config USB_CDC_COMPOSITE tristate "CDC Composite Device (Ethernet and ACM)" depends on NET select USB_LIBCOMPOSITE select USB_U_SERIAL select USB_U_ETHER select USB_F_ACM select USB_F_ECM help This driver provides two functions in one configuration: a CDC Ethernet (ECM) link, and a CDC ACM (serial port) link. This driver requires four bulk and two interrupt endpoints, plus the ability to handle altsettings. Not all peripheral controllers are that capable. Say "y" to link the driver statically, or "m" to build a dynamically linked module. config USB_G_NOKIA tristate "Nokia composite gadget" depends on PHONET depends on BLOCK select USB_LIBCOMPOSITE select USB_U_SERIAL select USB_U_ETHER select USB_F_ACM select USB_F_OBEX select USB_F_PHONET select USB_F_ECM select USB_F_MASS_STORAGE help The Nokia composite gadget provides support for acm, obex and phonet in only one composite gadget driver. It's only really useful for N900 hardware. If you're building a kernel for N900, say Y or M here. If unsure, say N. config USB_G_ACM_MS tristate "CDC Composite Device (ACM and mass storage)" depends on BLOCK select USB_LIBCOMPOSITE select USB_U_SERIAL select USB_F_ACM select USB_F_MASS_STORAGE help This driver provides two functions in one configuration: a mass storage, and a CDC ACM (serial port) link. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_acm_ms". config USB_G_MULTI tristate "Multifunction Composite Gadget" depends on BLOCK && NET select USB_G_MULTI_CDC if !USB_G_MULTI_RNDIS select USB_LIBCOMPOSITE select USB_U_SERIAL select USB_U_ETHER select USB_F_ACM select USB_F_MASS_STORAGE help The Multifunction Composite Gadget provides Ethernet (RNDIS and/or CDC Ethernet), mass storage and ACM serial link interfaces. You will be asked to choose which of the two configurations is to be available in the gadget. At least one configuration must be chosen to make the gadget usable. Selecting more than one configuration will prevent Windows from automatically detecting the gadget as a composite gadget, so an INF file will be needed to use the gadget. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_multi". config USB_G_MULTI_RNDIS bool "RNDIS + CDC Serial + Storage configuration" depends on USB_G_MULTI select USB_F_RNDIS default y help This option enables a configuration with RNDIS, CDC Serial and Mass Storage functions available in the Multifunction Composite Gadget. This is the configuration dedicated for Windows since RNDIS is Microsoft's protocol. If unsure, say "y". config USB_G_MULTI_CDC bool "CDC Ethernet + CDC Serial + Storage configuration" depends on USB_G_MULTI select USB_F_ECM help This option enables a configuration with CDC Ethernet (ECM), CDC Serial and Mass Storage functions available in the Multifunction Composite Gadget. If unsure, say "y". endif # TTY config USB_G_HID tristate "HID Gadget" select USB_LIBCOMPOSITE select USB_F_HID help The HID gadget driver provides generic emulation of USB Human Interface Devices (HID). For more information, see Documentation/usb/gadget_hid.rst which includes sample code for accessing the device files. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_hid". # Standalone / single function gadgets config USB_G_DBGP tristate "EHCI Debug Device Gadget" depends on TTY select USB_LIBCOMPOSITE help This gadget emulates an EHCI Debug device. This is useful when you want to interact with an EHCI Debug Port. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_dbgp". if USB_G_DBGP choice prompt "EHCI Debug Device mode" default USB_G_DBGP_SERIAL config USB_G_DBGP_PRINTK depends on USB_G_DBGP bool "printk" help Directly printk() received data. No interaction. config USB_G_DBGP_SERIAL depends on USB_G_DBGP select USB_U_SERIAL bool "serial" help Userland can interact using /dev/ttyGSxxx. endchoice endif # put drivers that need isochronous transfer support (for audio # or video class gadget drivers), or specific hardware, here. config USB_G_WEBCAM tristate "USB Webcam Gadget" depends on VIDEO_V4L2 select USB_LIBCOMPOSITE select VIDEOBUF2_VMALLOC select USB_F_UVC help The Webcam Gadget acts as a composite USB Audio and Video Class device. It provides a userspace API to process UVC control requests and stream video data to the host. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_webcam". gadget/legacy/Makefile 0000644 00000002533 14722072341 0010710 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB gadget drivers # ccflags-y := -I$(srctree)/drivers/usb/gadget/ ccflags-y += -I$(srctree)/drivers/usb/gadget/udc/ ccflags-y += -I$(srctree)/drivers/usb/gadget/function/ g_zero-y := zero.o g_audio-y := audio.o g_ether-y := ether.o g_serial-y := serial.o g_midi-y := gmidi.o gadgetfs-y := inode.o g_mass_storage-y := mass_storage.o g_printer-y := printer.o g_cdc-y := cdc2.o g_multi-y := multi.o g_hid-y := hid.o g_dbgp-y := dbgp.o g_nokia-y := nokia.o g_webcam-y := webcam.o g_ncm-y := ncm.o g_acm_ms-y := acm_ms.o g_tcm_usb_gadget-y := tcm_usb_gadget.o obj-$(CONFIG_USB_ZERO) += g_zero.o obj-$(CONFIG_USB_AUDIO) += g_audio.o obj-$(CONFIG_USB_ETH) += g_ether.o obj-$(CONFIG_USB_GADGETFS) += gadgetfs.o obj-$(CONFIG_USB_FUNCTIONFS) += g_ffs.o obj-$(CONFIG_USB_MASS_STORAGE) += g_mass_storage.o obj-$(CONFIG_USB_G_SERIAL) += g_serial.o obj-$(CONFIG_USB_G_PRINTER) += g_printer.o obj-$(CONFIG_USB_MIDI_GADGET) += g_midi.o obj-$(CONFIG_USB_CDC_COMPOSITE) += g_cdc.o obj-$(CONFIG_USB_G_HID) += g_hid.o obj-$(CONFIG_USB_G_DBGP) += g_dbgp.o obj-$(CONFIG_USB_G_MULTI) += g_multi.o obj-$(CONFIG_USB_G_NOKIA) += g_nokia.o obj-$(CONFIG_USB_G_WEBCAM) += g_webcam.o obj-$(CONFIG_USB_G_NCM) += g_ncm.o obj-$(CONFIG_USB_G_ACM_MS) += g_acm_ms.o obj-$(CONFIG_USB_GADGET_TARGET) += tcm_usb_gadget.o common/Kconfig 0000644 00000003360 14722072341 0007343 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config USB_COMMON tristate config USB_LED_TRIG bool "USB LED Triggers" depends on LEDS_CLASS && USB_COMMON && LEDS_TRIGGERS help This option adds LED triggers for USB host and/or gadget activity. Say Y here if you are working on a system with led-class supported LEDs and you want to use them as activity indicators for USB host or gadget. config USB_ULPI_BUS tristate "USB ULPI PHY interface support" select USB_COMMON help UTMI+ Low Pin Interface (ULPI) is specification for a commonly used USB 2.0 PHY interface. The ULPI specification defines a standard set of registers that can be used to detect the vendor and product which allows ULPI to be handled as a bus. This module is the driver for that bus. The ULPI interfaces (the buses) are registered by the drivers for USB controllers which support ULPI register access and have ULPI PHY attached to them. The ULPI PHY drivers themselves are normal PHY drivers. ULPI PHYs provide often functions such as ADP sensing/probing (OTG protocol) and USB charger detection. To compile this driver as a module, choose M here: the module will be called ulpi. config USB_CONN_GPIO tristate "USB GPIO Based Connection Detection Driver" depends on GPIOLIB select USB_ROLE_SWITCH help The driver supports USB role switch between host and device via GPIO based USB cable detection, used typically if an input GPIO is used to detect USB ID pin, and another input GPIO may be also used to detect Vbus pin at the same time, it also can be used to enable/disable device if an input GPIO is only used to detect Vbus pin. To compile the driver as a module, choose M here: the module will be called usb-conn-gpio.ko common/Makefile 0000644 00000000552 14722072341 0007500 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the usb common parts. # obj-$(CONFIG_USB_COMMON) += usb-common.o usb-common-y += common.o usb-common-$(CONFIG_TRACING) += debug.o usb-common-$(CONFIG_USB_LED_TRIG) += led.o obj-$(CONFIG_USB_CONN_GPIO) += usb-conn-gpio.o obj-$(CONFIG_USB_OTG_FSM) += usb-otg-fsm.o obj-$(CONFIG_USB_ULPI_BUS) += ulpi.o usbip/Kconfig 0000644 00000004252 14722072341 0007176 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config USBIP_CORE tristate "USB/IP support" depends on NET select USB_COMMON select SGL_ALLOC ---help--- This enables pushing USB packets over IP to allow remote machines direct access to USB devices. It provides the USB/IP core that is required by both drivers. For more details, and to get the userspace utility programs, please see <http://usbip.sourceforge.net/>. To compile this as a module, choose M here: the module will be called usbip-core. If unsure, say N. config USBIP_VHCI_HCD tristate "VHCI hcd" depends on USBIP_CORE && USB ---help--- This enables the USB/IP virtual host controller driver, which is run on the remote machine. To compile this driver as a module, choose M here: the module will be called vhci-hcd. config USBIP_VHCI_HC_PORTS int "Number of ports per USB/IP virtual host controller" range 1 15 default 8 depends on USBIP_VHCI_HCD ---help--- To increase number of ports available for USB/IP virtual host controller driver, this defines number of ports per USB/IP virtual host controller. config USBIP_VHCI_NR_HCS int "Number of USB/IP virtual host controllers" range 1 128 default 1 depends on USBIP_VHCI_HCD ---help--- To increase number of ports available for USB/IP virtual host controller driver, this defines number of USB/IP virtual host controllers as if adding physical host controllers. config USBIP_HOST tristate "Host driver" depends on USBIP_CORE && USB ---help--- This enables the USB/IP host driver, which is run on the machine that is sharing the USB devices. To compile this driver as a module, choose M here: the module will be called usbip-host. config USBIP_VUDC tristate "VUDC driver" depends on USBIP_CORE && USB_GADGET ---help--- This enables the USB/IP virtual USB device controller driver, which is run on the host machine, allowing the machine itself to act as a device. To compile this driver as a module, choose M here: the module will be called usbip-vudc. config USBIP_DEBUG bool "Debug messages for USB/IP" depends on USBIP_CORE ---help--- This enables the debug messages from the USB/IP drivers. usbip/Makefile 0000644 00000000760 14722072341 0007333 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-$(CONFIG_USBIP_DEBUG) := -DDEBUG obj-$(CONFIG_USBIP_CORE) += usbip-core.o usbip-core-y := usbip_common.o usbip_event.o obj-$(CONFIG_USBIP_VHCI_HCD) += vhci-hcd.o vhci-hcd-y := vhci_sysfs.o vhci_tx.o vhci_rx.o vhci_hcd.o obj-$(CONFIG_USBIP_HOST) += usbip-host.o usbip-host-y := stub_dev.o stub_main.o stub_rx.o stub_tx.o obj-$(CONFIG_USBIP_VUDC) += usbip-vudc.o usbip-vudc-y := vudc_dev.o vudc_sysfs.o vudc_tx.o vudc_rx.o vudc_transfer.o vudc_main.o dwc2/Kconfig 0000644 00000006252 14722072341 0006715 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config USB_DWC2 tristate "DesignWare USB2 DRD Core Support" depends on HAS_DMA depends on USB || USB_GADGET depends on HAS_IOMEM help Say Y here if your system has a Dual Role Hi-Speed USB controller based on the DesignWare HSOTG IP Core. For host mode, if you choose to build the driver as dynamically linked modules, the core module will be called dwc2.ko, the PCI bus interface module (if you have a PCI bus system) will be called dwc2_pci.ko, and the platform interface module (for controllers directly connected to the CPU) will be called dwc2_platform.ko. For all modes(host, gadget and dual-role), there will be an additional module named dwc2.ko. if USB_DWC2 choice bool "DWC2 Mode Selection" default USB_DWC2_DUAL_ROLE if (USB && USB_GADGET) default USB_DWC2_HOST if (USB && !USB_GADGET) default USB_DWC2_PERIPHERAL if (!USB && USB_GADGET) config USB_DWC2_HOST bool "Host only mode" depends on USB=y || (USB_DWC2=m && USB) help The Designware USB2.0 high-speed host controller integrated into many SoCs. Select this option if you want the driver to operate in Host-only mode. comment "Gadget/Dual-role mode requires USB Gadget support to be enabled" config USB_DWC2_PERIPHERAL bool "Gadget only mode" depends on USB_GADGET=y || USB_GADGET=USB_DWC2 help The Designware USB2.0 high-speed gadget controller integrated into many SoCs. Select this option if you want the driver to operate in Peripheral-only mode. This option requires USB_GADGET to be enabled. config USB_DWC2_DUAL_ROLE bool "Dual Role mode" depends on (USB=y && USB_GADGET=y) || (USB_DWC2=m && USB && USB_GADGET) help Select this option if you want the driver to work in a dual-role mode. In this mode both host and gadget features are enabled, and the role will be determined by the cable that gets plugged-in. This option requires USB_GADGET to be enabled. endchoice config USB_DWC2_PCI tristate "DWC2 PCI" depends on USB_PCI depends on USB_GADGET || !USB_GADGET select NOP_USB_XCEIV help The Designware USB2.0 PCI interface module for controllers connected to a PCI bus. config USB_DWC2_DEBUG bool "Enable Debugging Messages" help Say Y here to enable debugging messages in the DWC2 Driver. config USB_DWC2_VERBOSE bool "Enable Verbose Debugging Messages" depends on USB_DWC2_DEBUG help Say Y here to enable verbose debugging messages in the DWC2 Driver. WARNING: Enabling this will quickly fill your message log. If in doubt, say N. config USB_DWC2_TRACK_MISSED_SOFS bool "Enable Missed SOF Tracking" help Say Y here to enable logging of missed SOF events to the dmesg log. WARNING: This feature is still experimental. If in doubt, say N. config USB_DWC2_DEBUG_PERIODIC bool "Enable Debugging Messages For Periodic Transfers" depends on USB_DWC2_DEBUG || USB_DWC2_VERBOSE default y help Say N here to disable (verbose) debugging messages to be logged for periodic transfers. This allows better debugging of non-periodic transfers, but of course the debug logs will be incomplete. Note that this also disables some debug messages for which the transfer type cannot be deduced. endif dwc2/Makefile 0000644 00000001735 14722072341 0007053 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-$(CONFIG_USB_DWC2_DEBUG) += -DDEBUG ccflags-$(CONFIG_USB_DWC2_VERBOSE) += -DVERBOSE_DEBUG obj-$(CONFIG_USB_DWC2) += dwc2.o dwc2-y := core.o core_intr.o platform.o dwc2-y += params.o ifneq ($(filter y,$(CONFIG_USB_DWC2_HOST) $(CONFIG_USB_DWC2_DUAL_ROLE)),) dwc2-y += hcd.o hcd_intr.o dwc2-y += hcd_queue.o hcd_ddma.o endif ifneq ($(filter y,$(CONFIG_USB_DWC2_PERIPHERAL) $(CONFIG_USB_DWC2_DUAL_ROLE)),) dwc2-y += gadget.o endif ifneq ($(CONFIG_DEBUG_FS),) dwc2-y += debugfs.o endif # NOTE: The previous s3c-hsotg peripheral mode only driver has been moved to # this location and renamed gadget.c. When building for dynamically linked # modules, dwc2.ko will get built for host mode, peripheral mode, and dual-role # mode. The PCI bus interface module will called dwc2_pci.ko and the platform # interface module will be called dwc2_platform.ko. obj-$(CONFIG_USB_DWC2_PCI) += dwc2_pci.o dwc2_pci-y := pci.o isp1760/Kconfig 0000644 00000003147 14722072341 0007167 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config USB_ISP1760 tristate "NXP ISP 1760/1761 support" depends on USB || USB_GADGET help Say Y or M here if your system as an ISP1760 USB host controller or an ISP1761 USB dual-role controller. This driver does not support isochronous transfers or OTG. This USB controller is usually attached to a non-DMA-Master capable bus. NXP's eval kit brings this chip on PCI card where the chip itself is behind a PLB to simulate such a bus. To compile this driver as a module, choose M here: the module will be called isp1760. config USB_ISP1760_HCD bool config USB_ISP1761_UDC bool if USB_ISP1760 choice bool "ISP1760 Mode Selection" default USB_ISP1760_DUAL_ROLE if (USB && USB_GADGET) default USB_ISP1760_HOST_ROLE if (USB && !USB_GADGET) default USB_ISP1760_GADGET_ROLE if (!USB && USB_GADGET) config USB_ISP1760_HOST_ROLE bool "Host only mode" depends on USB=y || USB=USB_ISP1760 select USB_ISP1760_HCD help Select this if you want to use the ISP1760 in host mode only. The gadget function will be disabled. config USB_ISP1760_GADGET_ROLE bool "Gadget only mode" depends on USB_GADGET=y || USB_GADGET=USB_ISP1760 select USB_ISP1761_UDC help Select this if you want to use the ISP1760 in peripheral mode only. The host function will be disabled. config USB_ISP1760_DUAL_ROLE bool "Dual Role mode" depends on USB=y || USB=USB_ISP1760 depends on USB_GADGET=y || USB_GADGET=USB_ISP1760 select USB_ISP1760_HCD select USB_ISP1761_UDC help Select this if you want to use the ISP1760 in both host and peripheral modes. endchoice endif isp1760/Makefile 0000644 00000000332 14722072341 0007315 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 isp1760-y := isp1760-core.o isp1760-if.o isp1760-$(CONFIG_USB_ISP1760_HCD) += isp1760-hcd.o isp1760-$(CONFIG_USB_ISP1761_UDC) += isp1760-udc.o obj-$(CONFIG_USB_ISP1760) += isp1760.o c67x00/Makefile 0000644 00000000304 14722072341 0007132 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Cypress C67X00 USB Controller # obj-$(CONFIG_USB_C67X00_HCD) += c67x00.o c67x00-y := c67x00-drv.o c67x00-ll-hpi.o c67x00-hcd.o c67x00-sched.o host/Kconfig 0000644 00000061350 14722072341 0007033 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Host Controller Drivers # comment "USB Host Controller Drivers" config USB_C67X00_HCD tristate "Cypress C67x00 HCD support" depends on HAS_IOMEM help The Cypress C67x00 (EZ-Host/EZ-OTG) chips are dual-role host/peripheral/OTG USB controllers. Enable this option to support this chip in host controller mode. If unsure, say N. To compile this driver as a module, choose M here: the module will be called c67x00. config USB_XHCI_HCD tristate "xHCI HCD (USB 3.0) support" depends on HAS_DMA && HAS_IOMEM ---help--- The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0 "SuperSpeed" host controller hardware. To compile this driver as a module, choose M here: the module will be called xhci-hcd. if USB_XHCI_HCD config USB_XHCI_DBGCAP bool "xHCI support for debug capability" depends on TTY ---help--- Say 'Y' to enable the support for the xHCI debug capability. Make sure that your xHCI host supports the extended debug capability and you want a TTY serial device based on the xHCI debug capability before enabling this option. If unsure, say 'N'. config USB_XHCI_PCI tristate depends on USB_PCI default y config USB_XHCI_PLATFORM tristate "Generic xHCI driver for a platform device" select USB_XHCI_RCAR if ARCH_RENESAS ---help--- Adds an xHCI host driver for a generic platform device, which provides a memory space and an irq. It is also a prerequisite for platform specific drivers that implement some extra quirks. If unsure, say N. config USB_XHCI_HISTB tristate "xHCI support for HiSilicon STB SoCs" depends on USB_XHCI_PLATFORM && (ARCH_HISI || COMPILE_TEST) help Say 'Y' to enable the support for the xHCI host controller found in HiSilicon STB SoCs. config USB_XHCI_MTK tristate "xHCI support for MediaTek SoCs" select MFD_SYSCON depends on (MIPS && SOC_MT7621) || ARCH_MEDIATEK || COMPILE_TEST ---help--- Say 'Y' to enable the support for the xHCI host controller found in MediaTek SoCs. If unsure, say N. config USB_XHCI_MVEBU tristate "xHCI support for Marvell Armada 375/38x/37xx" select USB_XHCI_PLATFORM depends on HAS_IOMEM depends on ARCH_MVEBU || COMPILE_TEST ---help--- Say 'Y' to enable the support for the xHCI host controller found in Marvell Armada 375/38x/37xx ARM SOCs. config USB_XHCI_RCAR tristate "xHCI support for Renesas R-Car SoCs" depends on USB_XHCI_PLATFORM depends on ARCH_RENESAS || COMPILE_TEST ---help--- Say 'Y' to enable the support for the xHCI host controller found in Renesas R-Car ARM SoCs. config USB_XHCI_TEGRA tristate "xHCI support for NVIDIA Tegra SoCs" depends on PHY_TEGRA_XUSB depends on RESET_CONTROLLER select FW_LOADER ---help--- Say 'Y' to enable the support for the xHCI host controller found in NVIDIA Tegra124 and later SoCs. endif # USB_XHCI_HCD config USB_EHCI_HCD tristate "EHCI HCD (USB 2.0) support" depends on HAS_DMA && HAS_IOMEM ---help--- The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0 "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware. If your USB host controller supports USB 2.0, you will likely want to configure this Host Controller Driver. EHCI controllers are packaged with "companion" host controllers (OHCI or UHCI) to handle USB 1.1 devices connected to root hub ports. Ports will connect to EHCI if the device is high speed, otherwise they connect to a companion controller. If you configure EHCI, you should probably configure the OHCI (for NEC and some other vendors) USB Host Controller Driver or UHCI (for Via motherboards) Host Controller Driver too. You may want to read <file:Documentation/usb/ehci.rst>. To compile this driver as a module, choose M here: the module will be called ehci-hcd. config USB_EHCI_ROOT_HUB_TT bool "Root Hub Transaction Translators" depends on USB_EHCI_HCD ---help--- Some EHCI chips have vendor-specific extensions to integrate transaction translators, so that no OHCI or UHCI companion controller is needed. It's safe to say "y" even if your controller doesn't support this feature. This supports the EHCI implementation that's originally from ARC, and has since changed hands a few times. config USB_EHCI_TT_NEWSCHED bool "Improved Transaction Translator scheduling" depends on USB_EHCI_HCD default y ---help--- This changes the periodic scheduling code to fill more of the low and full speed bandwidth available from the Transaction Translator (TT) in USB 2.0 hubs. Without this, only one transfer will be issued in each microframe, significantly reducing the number of periodic low/fullspeed transfers possible. If you have multiple periodic low/fullspeed devices connected to a highspeed USB hub which is connected to a highspeed USB Host Controller, and some of those devices will not work correctly (possibly due to "ENOSPC" or "-28" errors), say Y. Conversely, if you have only one such device and it doesn't work, you could try saying N. If unsure, say Y. if USB_EHCI_HCD config USB_EHCI_PCI tristate depends on USB_PCI default y config USB_EHCI_HCD_PMC_MSP tristate "EHCI support for on-chip PMC MSP71xx USB controller" depends on MSP_HAS_USB select USB_EHCI_BIG_ENDIAN_DESC select USB_EHCI_BIG_ENDIAN_MMIO ---help--- Enables support for the onchip USB controller on the PMC_MSP7100 Family SoC's. If unsure, say N. config XPS_USB_HCD_XILINX bool "Use Xilinx usb host EHCI controller core" depends on (PPC32 || MICROBLAZE) select USB_EHCI_BIG_ENDIAN_DESC select USB_EHCI_BIG_ENDIAN_MMIO ---help--- Xilinx xps USB host controller core is EHCI compliant and has transaction translator built-in. It can be configured to either support both high speed and full speed devices, or high speed devices only. config USB_EHCI_FSL tristate "Support for Freescale on-chip EHCI USB controller" select USB_EHCI_ROOT_HUB_TT ---help--- Variation of ARC USB block used in some Freescale chips. config USB_EHCI_MXC tristate "Support for Freescale i.MX on-chip EHCI USB controller" depends on ARCH_MXC select USB_EHCI_ROOT_HUB_TT ---help--- Variation of ARC USB block used in some Freescale chips. config USB_EHCI_HCD_NPCM7XX tristate "Support for Nuvoton NPCM7XX on-chip EHCI USB controller" depends on (USB_EHCI_HCD && ARCH_NPCM7XX) || COMPILE_TEST default y if (USB_EHCI_HCD && ARCH_NPCM7XX) help Enables support for the on-chip EHCI controller on Nuvoton NPCM7XX chips. config USB_EHCI_HCD_OMAP tristate "EHCI support for OMAP3 and later chips" depends on ARCH_OMAP depends on NOP_USB_XCEIV default y ---help--- Enables support for the on-chip EHCI controller on OMAP3 and later chips. config USB_EHCI_HCD_ORION tristate "Support for Marvell EBU on-chip EHCI USB controller" depends on USB_EHCI_HCD && (PLAT_ORION || ARCH_MVEBU) default y ---help--- Enables support for the on-chip EHCI controller on Marvell's embedded ARM SoCs, including Orion, Kirkwood, Dove, Armada XP, Armada 370. This is different from the EHCI implementation on Marvell's mobile PXA and MMP SoC, see "EHCI support for Marvell PXA/MMP USB controller" for those. config USB_EHCI_HCD_SPEAR tristate "Support for ST SPEAr on-chip EHCI USB controller" depends on USB_EHCI_HCD && PLAT_SPEAR default y ---help--- Enables support for the on-chip EHCI controller on ST SPEAr chips. config USB_EHCI_HCD_STI tristate "Support for ST STiHxxx on-chip EHCI USB controller" depends on ARCH_STI && OF select GENERIC_PHY select USB_EHCI_HCD_PLATFORM help Enable support for the on-chip EHCI controller found on STMicroelectronics consumer electronics SoC's. config USB_EHCI_HCD_AT91 tristate "Support for Atmel on-chip EHCI USB controller" depends on USB_EHCI_HCD && ARCH_AT91 default y ---help--- Enables support for the on-chip EHCI controller on Atmel chips. config USB_EHCI_TEGRA tristate "NVIDIA Tegra HCD support" depends on ARCH_TEGRA select USB_EHCI_ROOT_HUB_TT select USB_TEGRA_PHY help This driver enables support for the internal USB Host Controllers found in NVIDIA Tegra SoCs. The controllers are EHCI compliant. config USB_EHCI_HCD_PPC_OF bool "EHCI support for PPC USB controller on OF platform bus" depends on PPC default y ---help--- Enables support for the USB controller present on the PowerPC OpenFirmware platform bus. config USB_EHCI_SH bool "EHCI support for SuperH USB controller" depends on SUPERH ---help--- Enables support for the on-chip EHCI controller on the SuperH. If you use the PCI EHCI controller, this option is not necessary. config USB_EHCI_EXYNOS tristate "EHCI support for Samsung S5P/EXYNOS SoC Series" depends on ARCH_S5PV210 || ARCH_EXYNOS help Enable support for the Samsung Exynos SOC's on-chip EHCI controller. config USB_EHCI_MV tristate "EHCI support for Marvell PXA/MMP USB controller" depends on (ARCH_PXA || ARCH_MMP) select USB_EHCI_ROOT_HUB_TT ---help--- Enables support for Marvell (including PXA and MMP series) on-chip USB SPH and OTG controller. SPH is a single port host, and it can only be EHCI host. OTG is controller that can switch to host mode. Note that this driver will not work on Marvell's other EHCI controller used by the EBU-type SoCs including Orion, Kirkwood, Dova, Armada 370 and Armada XP. See "Support for Marvell EBU on-chip EHCI USB controller" for those. config USB_CNS3XXX_EHCI bool "Cavium CNS3XXX EHCI Module (DEPRECATED)" depends on ARCH_CNS3XXX select USB_EHCI_HCD_PLATFORM ---help--- This option is deprecated now and the driver was removed, use USB_EHCI_HCD_PLATFORM instead. Enable support for the CNS3XXX SOC's on-chip EHCI controller. It is needed for high-speed (480Mbit/sec) USB 2.0 device support. config USB_EHCI_HCD_PLATFORM tristate "Generic EHCI driver for a platform device" ---help--- Adds an EHCI host driver for a generic platform device, which provides a memory space and an irq. If unsure, say N. config USB_OCTEON_EHCI bool "Octeon on-chip EHCI support (DEPRECATED)" depends on CAVIUM_OCTEON_SOC select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN select USB_EHCI_HCD_PLATFORM help This option is deprecated now and the driver was removed, use USB_EHCI_HCD_PLATFORM instead. Enable support for the Octeon II SOC's on-chip EHCI controller. It is needed for high-speed (480Mbit/sec) USB 2.0 device support. All CN6XXX based chips with USB are supported. endif # USB_EHCI_HCD config USB_OXU210HP_HCD tristate "OXU210HP HCD support" depends on HAS_IOMEM ---help--- The OXU210HP is an USB host/OTG/device controller. Enable this option if your board has this chip. If unsure, say N. This driver does not support isochronous transfers and doesn't implement OTG nor USB device controllers. To compile this driver as a module, choose M here: the module will be called oxu210hp-hcd. config USB_ISP116X_HCD tristate "ISP116X HCD support" depends on HAS_IOMEM ---help--- The ISP1160 and ISP1161 chips are USB host controllers. Enable this option if your board has this chip. If unsure, say N. This driver does not support isochronous transfers. To compile this driver as a module, choose M here: the module will be called isp116x-hcd. config USB_ISP1362_HCD tristate "ISP1362 HCD support" depends on HAS_IOMEM depends on COMPILE_TEST # nothing uses this ---help--- Supports the Philips ISP1362 chip as a host controller This driver does not support isochronous transfers. To compile this driver as a module, choose M here: the module will be called isp1362-hcd. config USB_FOTG210_HCD tristate "FOTG210 HCD support" depends on USB && HAS_DMA && HAS_IOMEM ---help--- Faraday FOTG210 is an OTG controller which can be configured as an USB2.0 host. It is designed to meet USB2.0 EHCI specification with minor modification. To compile this driver as a module, choose M here: the module will be called fotg210-hcd. config USB_MAX3421_HCD tristate "MAX3421 HCD (USB-over-SPI) support" depends on USB && SPI ---help--- The Maxim MAX3421E chip supports standard USB 2.0-compliant full-speed devices either in host or peripheral mode. This driver supports the host-mode of the MAX3421E only. To compile this driver as a module, choose M here: the module will be called max3421-hcd. config USB_OHCI_HCD tristate "OHCI HCD (USB 1.1) support" depends on HAS_DMA && HAS_IOMEM ---help--- The Open Host Controller Interface (OHCI) is a standard for accessing USB 1.1 host controller hardware. It does more in hardware than Intel's UHCI specification. If your USB host controller follows the OHCI spec, say Y. On most non-x86 systems, and on x86 hardware that's not using a USB controller from Intel or VIA, this is appropriate. If your host controller doesn't use PCI, this is probably appropriate. For a PCI based system where you're not sure, the "lspci -v" entry will list the right "prog-if" for your USB controller(s): EHCI, OHCI, or UHCI. To compile this driver as a module, choose M here: the module will be called ohci-hcd. if USB_OHCI_HCD config USB_OHCI_HCD_OMAP1 tristate "OHCI support for OMAP1/2 chips" depends on ARCH_OMAP1 depends on ISP1301_OMAP || !(MACH_OMAP_H2 || MACH_OMAP_H3) default y ---help--- Enables support for the OHCI controller on OMAP1/2 chips. config USB_OHCI_HCD_SPEAR tristate "Support for ST SPEAr on-chip OHCI USB controller" depends on USB_OHCI_HCD && PLAT_SPEAR default y ---help--- Enables support for the on-chip OHCI controller on ST SPEAr chips. config USB_OHCI_HCD_STI tristate "Support for ST STiHxxx on-chip OHCI USB controller" depends on ARCH_STI && OF select GENERIC_PHY select USB_OHCI_HCD_PLATFORM help Enable support for the on-chip OHCI controller found on STMicroelectronics consumer electronics SoC's. config USB_OHCI_HCD_S3C2410 tristate "OHCI support for Samsung S3C24xx/S3C64xx SoC series" depends on USB_OHCI_HCD && (ARCH_S3C24XX || ARCH_S3C64XX) default y ---help--- Enables support for the on-chip OHCI controller on S3C24xx/S3C64xx chips. config USB_OHCI_HCD_LPC32XX tristate "Support for LPC on-chip OHCI USB controller" depends on USB_OHCI_HCD depends on ARCH_LPC32XX || COMPILE_TEST depends on USB_ISP1301 default y ---help--- Enables support for the on-chip OHCI controller on NXP chips. config USB_OHCI_HCD_PXA27X tristate "Support for PXA27X/PXA3XX on-chip OHCI USB controller" depends on USB_OHCI_HCD && (PXA27x || PXA3xx) default y ---help--- Enables support for the on-chip OHCI controller on PXA27x/PXA3xx chips. config USB_OHCI_HCD_AT91 tristate "Support for Atmel on-chip OHCI USB controller" depends on USB_OHCI_HCD && ARCH_AT91 && OF default y ---help--- Enables support for the on-chip OHCI controller on Atmel chips. config USB_OHCI_HCD_OMAP3 tristate "OHCI support for OMAP3 and later chips" depends on (ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5) select USB_OHCI_HCD_PLATFORM default y help This option is deprecated now and the driver was removed, use USB_OHCI_HCD_PLATFORM instead. Enables support for the on-chip OHCI controller on OMAP3 and later chips. config USB_OHCI_HCD_DAVINCI tristate "OHCI support for TI DaVinci DA8xx" depends on ARCH_DAVINCI_DA8XX depends on USB_OHCI_HCD select PHY_DA8XX_USB default y help Enables support for the DaVinci DA8xx integrated OHCI controller. This driver cannot currently be a loadable module because it lacks a proper PHY abstraction. config USB_OHCI_HCD_PPC_OF_BE bool "OHCI support for OF platform bus (big endian)" depends on PPC select USB_OHCI_BIG_ENDIAN_DESC select USB_OHCI_BIG_ENDIAN_MMIO ---help--- Enables support for big-endian USB controllers present on the OpenFirmware platform bus. config USB_OHCI_HCD_PPC_OF_LE bool "OHCI support for OF platform bus (little endian)" depends on PPC select USB_OHCI_LITTLE_ENDIAN ---help--- Enables support for little-endian USB controllers present on the OpenFirmware platform bus. config USB_OHCI_HCD_PPC_OF bool depends on PPC default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE config USB_OHCI_HCD_PCI tristate "OHCI support for PCI-bus USB controllers" depends on USB_PCI default y select USB_OHCI_LITTLE_ENDIAN ---help--- Enables support for PCI-bus plug-in USB controller cards. If unsure, say Y. config USB_OHCI_HCD_SSB bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)" depends on (SSB = y || SSB = USB_OHCI_HCD) select USB_HCD_SSB select USB_OHCI_HCD_PLATFORM ---help--- This option is deprecated now and the driver was removed, use USB_HCD_SSB and USB_OHCI_HCD_PLATFORM instead. Support for the Sonics Silicon Backplane (SSB) attached Broadcom USB OHCI core. This device is present in some embedded devices with Broadcom based SSB bus. If unsure, say N. config USB_OHCI_SH bool "OHCI support for SuperH USB controller (DEPRECATED)" depends on SUPERH select USB_OHCI_HCD_PLATFORM ---help--- This option is deprecated now and the driver was removed, use USB_OHCI_HCD_PLATFORM instead. Enables support for the on-chip OHCI controller on the SuperH. If you use the PCI OHCI controller, this option is not necessary. config USB_OHCI_EXYNOS tristate "OHCI support for Samsung S5P/EXYNOS SoC Series" depends on ARCH_S5PV210 || ARCH_EXYNOS help Enable support for the Samsung Exynos SOC's on-chip OHCI controller. config USB_CNS3XXX_OHCI bool "Cavium CNS3XXX OHCI Module (DEPRECATED)" depends on ARCH_CNS3XXX select USB_OHCI_HCD_PLATFORM ---help--- This option is deprecated now and the driver was removed, use USB_OHCI_HCD_PLATFORM instead. Enable support for the CNS3XXX SOC's on-chip OHCI controller. It is needed for low-speed USB 1.0 device support. config USB_OHCI_HCD_PLATFORM tristate "Generic OHCI driver for a platform device" ---help--- Adds an OHCI host driver for a generic platform device, which provides a memory space and an irq. If unsure, say N. config USB_OCTEON_OHCI bool "Octeon on-chip OHCI support (DEPRECATED)" depends on CAVIUM_OCTEON_SOC default USB_OCTEON_EHCI select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN select USB_OHCI_LITTLE_ENDIAN select USB_OHCI_HCD_PLATFORM help This option is deprecated now and the driver was removed, use USB_OHCI_HCD_PLATFORM instead. Enable support for the Octeon II SOC's on-chip OHCI controller. It is needed for low-speed USB 1.0 device support. All CN6XXX based chips with USB are supported. endif # USB_OHCI_HCD config USB_UHCI_HCD tristate "UHCI HCD (most Intel and VIA) support" depends on USB_PCI || USB_UHCI_SUPPORT_NON_PCI_HC ---help--- The Universal Host Controller Interface is a standard by Intel for accessing the USB hardware in the PC (which is also called the USB host controller). If your USB host controller conforms to this standard, you may want to say Y, but see below. All recent boards with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX, i810, i820) conform to this standard. Also all VIA PCI chipsets (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro 133) and LEON/GRLIB SoCs with the GRUSBHC controller. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called uhci-hcd. config USB_UHCI_SUPPORT_NON_PCI_HC bool default y if (SPARC_LEON || USB_UHCI_PLATFORM) config USB_UHCI_PLATFORM bool default y if (ARCH_VT8500 || ARCH_ASPEED) config USB_UHCI_ASPEED bool default y if ARCH_ASPEED config USB_FHCI_HCD tristate "Freescale QE USB Host Controller support" depends on OF_GPIO && QE_GPIO && QUICC_ENGINE select FSL_GTM select QE_USB help This driver enables support for Freescale QE USB Host Controller (as found on MPC8360 and MPC8323 processors), the driver supports Full and Low Speed USB. config FHCI_DEBUG bool "Freescale QE USB Host Controller debug support" depends on USB_FHCI_HCD && DEBUG_FS help Say "y" to see some FHCI debug information and statistics through debugfs. config USB_U132_HCD tristate "Elan U132 Adapter Host Controller" depends on USB_FTDI_ELAN help The U132 adapter is a USB to CardBus adapter specifically designed for PC cards that contain an OHCI host controller. Typical PC cards are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132 adapter will *NOT* work with PC cards that do not contain an OHCI controller. For those PC cards that contain multiple OHCI controllers only the first one is used. The driver consists of two modules, the "ftdi-elan" module is a USB client driver that interfaces to the FTDI chip within ELAN's USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host controller driver that talks to the OHCI controller within the CardBus cards that are inserted in the U132 adapter. This driver has been tested with a CardBus OHCI USB adapter, and worked with a USB PEN Drive inserted into the first USB port of the PCCARD. A rather pointless thing to do, but useful for testing. It is safe to say M here. See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php> config USB_SL811_HCD tristate "SL811HS HCD support" depends on HAS_IOMEM help The SL811HS is a single-port USB controller that supports either host side or peripheral side roles. Enable this option if your board has this chip, and you want to use it as a host controller. If unsure, say N. To compile this driver as a module, choose M here: the module will be called sl811-hcd. config USB_SL811_HCD_ISO bool "partial ISO support" depends on USB_SL811_HCD help The driver doesn't support iso_frame_desc (yet), but for some simple devices that just queue one ISO frame per URB, then ISO transfers "should" work using the normal urb status fields. If unsure, say N. config USB_SL811_CS tristate "CF/PCMCIA support for SL811HS HCD" depends on USB_SL811_HCD && PCMCIA help Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC REX-CFU1U CF card (often used with PDAs). If unsure, say N. To compile this driver as a module, choose M here: the module will be called "sl811_cs". config USB_R8A66597_HCD tristate "R8A66597 HCD support" depends on HAS_IOMEM help The R8A66597 is a USB 2.0 host and peripheral controller. Enable this option if your board has this chip, and you want to use it as a host controller. If unsure, say N. To compile this driver as a module, choose M here: the module will be called r8a66597-hcd. config USB_RENESAS_USBHS_HCD tristate "Renesas USBHS HCD support" depends on USB_RENESAS_USBHS help The Renesas USBHS is a USB 2.0 host and peripheral controller. Enable this option if your board has this chip, and you want to use it as a host controller. If unsure, say N. To compile this driver as a module, choose M here: the module will be called renesas-usbhs. config USB_IMX21_HCD tristate "i.MX21 HCD support" depends on ARM && ARCH_MXC help This driver enables support for the on-chip USB host in the i.MX21 processor. To compile this driver as a module, choose M here: the module will be called "imx21-hcd". config USB_HCD_BCMA tristate "BCMA usb host driver" depends on BCMA select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD help Enable support for the EHCI and OCHI host controller on an bcma bus. It converts the bcma driver into two platform device drivers for ehci and ohci. If unsure, say N. config USB_HCD_SSB tristate "SSB usb host driver" depends on SSB select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD help Enable support for the EHCI and OCHI host controller on an bcma bus. It converts the bcma driver into two platform device drivers for ehci and ohci. If unsure, say N. config USB_HCD_TEST_MODE bool "HCD test mode support" ---help--- Say 'Y' to enable additional software test modes that may be supported by the host controller drivers. One such test mode is the Embedded High-speed Host Electrical Test (EHSET) for EHCI host controller hardware, specifically the "Single Step Set Feature" test. Typically this will be enabled for On-the-Go or embedded hosts that need to undergo USB-IF compliance testing with the aid of special testing hardware. In the future, this may expand to include other tests that require support from a HCD driver. This option is of interest only to developers who need to validate their USB hardware designs. It is not needed for normal use. If unsure, say N. host/Makefile 0000644 00000005762 14722072341 0007175 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for USB Host Controller Drivers # # tell define_trace.h where to find the xhci trace header CFLAGS_xhci-trace.o := -I$(src) fhci-y := fhci-hcd.o fhci-hub.o fhci-q.o fhci-y += fhci-mem.o fhci-tds.o fhci-sched.o fhci-$(CONFIG_FHCI_DEBUG) += fhci-dbg.o xhci-hcd-y := xhci.o xhci-mem.o xhci-ext-caps.o xhci-hcd-y += xhci-ring.o xhci-hub.o xhci-dbg.o xhci-hcd-y += xhci-trace.o ifneq ($(CONFIG_USB_XHCI_DBGCAP), ) xhci-hcd-y += xhci-dbgcap.o xhci-dbgtty.o endif ifneq ($(CONFIG_USB_XHCI_MTK), ) xhci-hcd-y += xhci-mtk-sch.o endif xhci-plat-hcd-y := xhci-plat.o ifneq ($(CONFIG_USB_XHCI_MVEBU), ) xhci-plat-hcd-y += xhci-mvebu.o endif ifneq ($(CONFIG_USB_XHCI_RCAR), ) xhci-plat-hcd-y += xhci-rcar.o endif ifneq ($(CONFIG_DEBUG_FS),) xhci-hcd-y += xhci-debugfs.o endif obj-$(CONFIG_USB_PCI) += pci-quirks.o obj-$(CONFIG_USB_EHCI_HCD) += ehci-hcd.o obj-$(CONFIG_USB_EHCI_PCI) += ehci-pci.o obj-$(CONFIG_USB_EHCI_HCD_PLATFORM) += ehci-platform.o obj-$(CONFIG_USB_EHCI_MXC) += ehci-mxc.o obj-$(CONFIG_USB_EHCI_HCD_NPCM7XX) += ehci-npcm7xx.o obj-$(CONFIG_USB_EHCI_HCD_OMAP) += ehci-omap.o obj-$(CONFIG_USB_EHCI_HCD_ORION) += ehci-orion.o obj-$(CONFIG_USB_EHCI_HCD_SPEAR) += ehci-spear.o obj-$(CONFIG_USB_EHCI_HCD_STI) += ehci-st.o obj-$(CONFIG_USB_EHCI_EXYNOS) += ehci-exynos.o obj-$(CONFIG_USB_EHCI_HCD_AT91) += ehci-atmel.o obj-$(CONFIG_USB_EHCI_TEGRA) += ehci-tegra.o obj-$(CONFIG_USB_OXU210HP_HCD) += oxu210hp-hcd.o obj-$(CONFIG_USB_ISP116X_HCD) += isp116x-hcd.o obj-$(CONFIG_USB_ISP1362_HCD) += isp1362-hcd.o obj-$(CONFIG_USB_OHCI_HCD) += ohci-hcd.o obj-$(CONFIG_USB_OHCI_HCD_PCI) += ohci-pci.o obj-$(CONFIG_USB_OHCI_HCD_PLATFORM) += ohci-platform.o obj-$(CONFIG_USB_OHCI_EXYNOS) += ohci-exynos.o obj-$(CONFIG_USB_OHCI_HCD_OMAP1) += ohci-omap.o obj-$(CONFIG_USB_OHCI_HCD_SPEAR) += ohci-spear.o obj-$(CONFIG_USB_OHCI_HCD_STI) += ohci-st.o obj-$(CONFIG_USB_OHCI_HCD_AT91) += ohci-at91.o obj-$(CONFIG_USB_OHCI_HCD_S3C2410) += ohci-s3c2410.o obj-$(CONFIG_USB_OHCI_HCD_LPC32XX) += ohci-nxp.o obj-$(CONFIG_USB_OHCI_HCD_PXA27X) += ohci-pxa27x.o obj-$(CONFIG_USB_OHCI_HCD_DAVINCI) += ohci-da8xx.o obj-$(CONFIG_USB_UHCI_HCD) += uhci-hcd.o obj-$(CONFIG_USB_FHCI_HCD) += fhci.o obj-$(CONFIG_USB_XHCI_HCD) += xhci-hcd.o obj-$(CONFIG_USB_XHCI_PCI) += xhci-pci.o obj-$(CONFIG_USB_XHCI_PLATFORM) += xhci-plat-hcd.o obj-$(CONFIG_USB_XHCI_HISTB) += xhci-histb.o obj-$(CONFIG_USB_XHCI_MTK) += xhci-mtk.o obj-$(CONFIG_USB_XHCI_TEGRA) += xhci-tegra.o obj-$(CONFIG_USB_SL811_HCD) += sl811-hcd.o obj-$(CONFIG_USB_SL811_CS) += sl811_cs.o obj-$(CONFIG_USB_U132_HCD) += u132-hcd.o obj-$(CONFIG_USB_R8A66597_HCD) += r8a66597-hcd.o obj-$(CONFIG_USB_IMX21_HCD) += imx21-hcd.o obj-$(CONFIG_USB_FSL_USB2) += fsl-mph-dr-of.o obj-$(CONFIG_USB_EHCI_FSL) += fsl-mph-dr-of.o obj-$(CONFIG_USB_EHCI_FSL) += ehci-fsl.o obj-$(CONFIG_USB_EHCI_MV) += ehci-mv.o obj-$(CONFIG_USB_HCD_BCMA) += bcma-hcd.o obj-$(CONFIG_USB_HCD_SSB) += ssb-hcd.o obj-$(CONFIG_USB_FOTG210_HCD) += fotg210-hcd.o obj-$(CONFIG_USB_MAX3421_HCD) += max3421-hcd.o class/Kconfig 0000644 00000002773 14722072341 0007167 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Class driver configuration # comment "USB Device Class drivers" config USB_ACM tristate "USB Modem (CDC ACM) support" depends on TTY ---help--- This driver supports USB modems and ISDN adapters which support the Communication Device Class Abstract Control Model interface. Please read <file:Documentation/usb/acm.rst> for details. If your modem only reports "Cls=ff(vend.)" in the descriptors in /sys/kernel/debug/usb/devices, then your modem will not work with this driver. To compile this driver as a module, choose M here: the module will be called cdc-acm. config USB_PRINTER tristate "USB Printer support" help Say Y here if you want to connect a USB printer to your computer's USB port. To compile this driver as a module, choose M here: the module will be called usblp. config USB_WDM tristate "USB Wireless Device Management support" ---help--- This driver supports the WMC Device Management functionality of cell phones compliant to the CDC WMC specification. You can use AT commands over this device. To compile this driver as a module, choose M here: the module will be called cdc-wdm. config USB_TMC tristate "USB Test and Measurement Class support" help Say Y here if you want to connect a USB device that follows the USB.org specification for USB Test and Measurement devices to your computer's USB port. To compile this driver as a module, choose M here: the module will be called usbtmc. class/Makefile 0000644 00000000400 14722072341 0007305 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for USB Class drivers # (one step up from the misc category) # obj-$(CONFIG_USB_ACM) += cdc-acm.o obj-$(CONFIG_USB_PRINTER) += usblp.o obj-$(CONFIG_USB_WDM) += cdc-wdm.o obj-$(CONFIG_USB_TMC) += usbtmc.o roles/Kconfig 0000644 00000002032 14722072341 0007172 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config USB_ROLE_SWITCH tristate "USB Role Switch Support" help USB Role Switch is a device that can select the USB role - host or device - for a USB port (connector). In most cases dual-role capable USB controller will also represent the switch, but on some platforms multiplexer/demultiplexer switch is used to route the data lines on the USB connector between separate USB host and device controllers. Say Y here if your USB connectors support both device and host roles. To compile the driver as module, choose M here: the module will be called roles.ko. if USB_ROLE_SWITCH config USB_ROLES_INTEL_XHCI tristate "Intel XHCI USB Role Switch" depends on ACPI && X86 help Driver for the internal USB role switch for switching the USB data lines between the xHCI host controller and the dwc3 gadget controller found on various Intel SoCs. To compile the driver as a module, choose M here: the module will be called intel-xhci-usb-role-switch. endif # USB_ROLE_SWITCH roles/Makefile 0000644 00000000250 14722072341 0007327 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_USB_ROLE_SWITCH) += roles.o roles-y := class.o obj-$(CONFIG_USB_ROLES_INTEL_XHCI) += intel-xhci-usb-role-switch.o early/Makefile 0000644 00000000252 14722072341 0007321 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for early USB devices # obj-$(CONFIG_EARLY_PRINTK_DBGP) += ehci-dbgp.o obj-$(CONFIG_EARLY_PRINTK_USB_XDBC) += xhci-dbc.o
| ver. 1.4 |
Github
|
.
| PHP 7.4.3-4ubuntu2.24 | Генерация страницы: 0.01 |
proxy
|
phpinfo
|
Настройка