Lines Matching +full:usb +full:- +full:a
1 # SPDX-License-Identifier: GPL-2.0
3 # USB Gadget support on a system involves
4 # (a) a peripheral controller, and
7 # NOTE: Gadget support ** DOES NOT ** depend on host-side CONFIG_USB !!
9 # - Host systems (like PCs) need CONFIG_USB (with "A" jacks).
10 # - Peripherals (like PDAs) need CONFIG_USB_GADGET (with "B" jacks).
11 # - Some systems have both kinds of controllers.
13 # With help from a special transceiver and a "Mini-AB" jack, systems with
14 # both kinds of controller can also support "USB On-the-Go" (CONFIG_USB_OTG).
16 # A Linux "Gadget Driver" talks to the USB Peripheral Controller
19 # are a subset (implementing a USB device class specification).
20 # A gadget driver implements one or more USB functions using
23 # Gadget drivers are hardware-neutral, or "platform independent",
26 # a controller doesn't support alternate configurations or provide
29 # a less common variant of a device class protocol.
31 # The available choices each represent a single precomposed USB
33 # both the device instantiation as a child for a USB gadget
37 menu "USB Gadget precomposed configurations"
44 Gadget Zero is a two-configuration device. It either sinks and
45 sources bulk data; or it loops back a configurable number of
47 conformance. The driver needs only two bulk-capable endpoints, so
48 it can work on top of most device-side usb controllers. It's
49 useful for testing, and is also a working example showing how
50 USB "gadget drivers" can be written.
53 USB peripheral controller driver. Then you can use host-side
55 and its driver through a basic set of functional tests.
57 Gadget Zero also works with the host-side "usb-skeleton" driver,
58 and with many kinds of host-side test software. You may need
62 Say "y" to link the driver statically, or "m" to build a
70 identifiers of the USB-OTG test device. That means that when
72 the "B-Peripheral" role, that device will use HNP to let this
73 one serve as the USB host instead (in the "B-Host" role).
85 This Gadget Audio driver is compatible with USB Audio Class
87 1 AudioStreaming Interface each for USB-OUT and USB-IN.
91 on the device - the audio streams are simply sinked to and
92 sourced from a virtual ALSA sound card created. The user-space
94 received from the USB Host and choose to provide whatever it
95 wants as audio data to the USB Host.
97 Say "y" to link the driver statically, or "m" to build a
104 If you instead want older USB Audio Class specification 1.0 support
111 If you instead want legacy UAC Spec-1.0 driver that also has audio
112 paths hardwired to the Audio codec chip on-board and doesn't work
127 - The "Communication Device Class" (CDC) Ethernet Control Model.
129 favor of simpler vendor-specific hardware, but is widely
132 - On hardware can't implement that protocol, a simple CDC subset
133 is used, placing fewer demands on USB.
135 - CDC Ethernet Emulation Model (EEM) is a newer standard that has
136 a simpler interface that can be used by more USB hardware.
140 Within the USB device, this gadget driver exposes a network device
142 Treat it like a two-node Ethernet link: host, and gadget.
144 The Linux-USB host-side "usbnet" driver interoperates with this
150 Say "y" to link the driver statically, or "m" to build a
165 a second device configuration, supporting RNDIS to talk to such
166 Microsoft USB hosts.
168 To make MS-Windows work with this, use Documentation/usb/linux.inf
169 as the "driver info file". For versions of MS-Windows older than
170 XP, you'll need to download drivers from Microsoft's website; a URL
179 CDC EEM is a newer USB standard that is somewhat simpler than CDC ECM
182 the network interface to the target (e.g. a USB cable modem), and the
184 ethernet over USB. For Linux gadgets, however, the interface with
185 the host is the same (a usbX device), so the differences are minimal.
198 This driver implements USB CDC NCM subclass standard. NCM is
200 of several ethernet frames into one USB transfer and different
203 Say "y" to link the driver statically, or "m" to build a
209 This driver provides a filesystem based API that lets user mode
210 programs implement a single-configuration USB device, including
215 Say "y" to link the driver statically, or "m" to build a
224 The Function Filesystem (FunctionFS) lets one create USB
226 lets one create USB gadgets in user space. This allows creation
235 a dynamically linked module called "g_ffs".
244 Include a configuration with CDC ECM function (Ethernet) and the
253 Include a configuration with RNDIS function (Ethernet) and the Filesystem.
259 Include a configuration with the Function Filesystem alone with
268 The Mass Storage Gadget acts as a USB Mass Storage disk drive.
269 As its storage repository it can use a regular file or a block
271 specified as a module parameter or sysfs option.
273 This driver is a replacement for now removed File-backed
277 a dynamically linked module called "g_mass_storage".
280 tristate "USB Gadget Target Fabric Module"
285 This fabric is an USB gadget. Two USB protocols are supported that is
286 BBB or BOT (Bulk Only Transport) and UAS (USB Attached SCSI). BOT is
289 UAS utilizes the USB 3.0 feature called streams support.
300 The Serial Gadget talks to the Linux-USB generic serial driver.
301 This driver supports a CDC-ACM module option, which can be used
302 to interoperate with MS-Windows hosts or with the Linux-USB
303 "cdc-acm" driver.
305 This driver also supports a CDC-OBEX option. You will need a
309 Say "y" to link the driver statically, or "m" to build a
312 For more information, see Documentation/usb/gadget_serial.rst
313 which includes instructions and a "driver info file" needed to
314 make MS-Windows work with CDC ACM.
323 The MIDI Gadget acts as a USB Audio device, with one MIDI
325 a sound "card" in the ALSA sound system. Other MIDI
329 Say "y" to link the driver statically, or "m" to build a
337 The Printer Gadget channels data between the USB host and a
343 Say "y" to link the driver statically, or "m" to build a
346 For more information, see Documentation/usb/gadget_printer.rst
361 a CDC Ethernet (ECM) link, and a CDC ACM (serial port) link.
367 Say "y" to link the driver statically, or "m" to build a
387 a kernel for N900, say Y or M here. If unsure, say N.
398 a mass storage, and a CDC ACM (serial port) link.
400 Say "y" to link the driver statically, or "m" to build a
421 the gadget as a composite gadget, so an INF file will be needed to
424 Say "y" to link the driver statically, or "m" to build a
433 This option enables a configuration with RNDIS, CDC Serial and
445 This option enables a configuration with CDC Ethernet (ECM), CDC
458 The HID gadget driver provides generic emulation of USB
461 For more information, see Documentation/usb/gadget_hid.rst which
464 Say "y" to link the driver statically, or "m" to build a
476 Say "y" to link the driver statically, or "m" to build a
502 tristate "USB Webcam Gadget"
508 The Webcam Gadget acts as a composite USB Audio and Video Class
509 device. It provides a userspace API to process UVC control requests
512 Say "y" to link the driver statically, or "m" to build a
516 tristate "USB Raw Gadget"
518 USB Raw Gadget is a kernel module that provides a userspace interface
519 for the USB Gadget subsystem. Essentially it allows to emulate USB
520 devices from userspace. See Documentation/usb/raw-gadget.rst for
523 Say "y" to link the driver statically, or "m" to build a