Lines Matching +full:usb +full:- +full:to +full:- +full:serial

1 # SPDX-License-Identifier: GPL-2.0
3 # USB Gadget support on a system involves
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",
28 # not be able work with that controller, or might need to implement
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
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
50 USB "gadget drivers" can be written.
53 USB peripheral controller driver. Then you can use host-side
54 test software, like the "usbtest" driver, to put your hardware
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
59 to tweak product and vendor IDs before host software knows about
60 this device, and arrange to select an appropriate configuration.
62 Say "y" to link the driver statically, or "m" to build a
69 You can configure this device to enumerate using the device
70 identifiers of the USB-OTG test device. That means that when
71 this gadget connects to another OTG device, with this one using
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.
90 This driver doesn't expect any real Audio codec to be present
91 on the device - the audio streams are simply sinked to and
92 sourced from a virtual ALSA sound card created. The user-space
93 application may choose to do whatever it wants with the data
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
164 If you say "y" here, the Ethernet gadget driver will try to provide
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
183 EEM model is for mobile devices to communicate with hosts using
184 ethernet over USB. For Linux gadgets, however, the interface with
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
210 programs implement a single-configuration USB device, including
211 endpoint I/O and control requests that don't relate to enumeration.
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
228 implemented in kernel space (for instance Ethernet, serial or
234 Say "y" to link the driver statically, or "m" to build
268 The Mass Storage Gadget acts as a USB Mass Storage disk drive.
273 This driver is a replacement for now removed File-backed
276 Say "y" to link the driver statically, or "m" to build
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.
292 tristate "Serial Gadget (with CDC ACM and CDC OBEX 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
306 user space OBEX server talking to /dev/ttyGS*, since the kernel
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
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
339 program reads and writes the device file /dev/g_printer to
340 receive or send printer data. It can use ioctl calls to
341 the device file to get or set printer status.
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.
364 plus the ability to handle altsettings. Not all peripheral
367 Say "y" to link the driver statically, or "m" to build a
398 a mass storage, and a CDC ACM (serial port) link.
400 Say "y" to link the driver statically, or "m" to build a
414 and/or CDC Ethernet), mass storage and ACM serial link
417 You will be asked to choose which of the two configurations is
418 to be available in the gadget. At least one configuration must
419 be chosen to make the gadget usable. Selecting more than one
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
428 bool "RNDIS + CDC Serial + Storage configuration"
433 This option enables a configuration with RNDIS, CDC Serial and
441 bool "CDC Ethernet + CDC Serial + Storage configuration"
446 Serial and Mass Storage functions available in the Multifunction
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
474 to interact with an EHCI Debug Port.
476 Say "y" to link the driver statically, or "m" to build a
493 bool "serial"
502 tristate "USB Webcam Gadget"
509 The Webcam Gadget acts as a composite USB Audio and Video Class
510 device. It provides a userspace API to process UVC control requests
511 and stream video data to the host.
513 Say "y" to link the driver statically, or "m" to build a
517 tristate "USB Raw Gadget"
519 USB Raw Gadget is a gadget driver that gives userspace low-level
522 Like any other gadget driver, Raw Gadget implements USB devices via
523 the USB gadget API. Unlike most gadget drivers, Raw Gadget does not
524 implement any concrete USB functions itself but requires userspace
525 to do that.
527 See Documentation/usb/raw-gadget.rst for details.
529 Say "y" to link the driver statically, or "m" to build a