Navigation: Linux Kernel Driver DataBase - web LKDDB: Main index - U index

CONFIG_USB_GADGET: Support for USB Gadgets

General informations

The Linux kernel configuration item CONFIG_USB_GADGET has multiple definitions:

Support for USB Gadgets found in drivers/usb/gadget/Kconfig

The configuration item CONFIG_USB_GADGET:

Help text

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 DocBook documentation for this API.

USB Gadget Support found in drivers/usb/gadget/Kconfig

The configuration item CONFIG_USB_GADGET:

Help text

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 DocBook documentation for this API.

Hardware

PCI

Numeric ID (from LKDDb) and names (from pci.ids) of recognized devices:

USB

Numeric ID (from LKDDb) and names (from usb.ids) of recognized devices:

LKDDb

Raw data from LKDDb: