| # 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_FEW_INIT_RETRIES |
| bool "Limit USB device initialization to only a few retries" |
| help |
| When a new USB device is detected, the kernel tries very hard |
| to initialize and enumerate it, with lots of nested retry loops. |
| This almost always works, but when it fails it can take a long time. |
| This option tells the kernel to make only a few retry attempts, |
| so that the total time required for a failed initialization is |
| no more than 30 seconds (as required by the USB OTG spec). |
| |
| Say N here unless you require new-device enumeration failure to |
| occur within 30 seconds (as might be needed in an embedded |
| application). |
| |
| 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_PRODUCTLIST |
| bool "Rely on OTG and EH Targeted Peripherals List" |
| depends on USB |
| help |
| If you say Y here, the "otg_productlist.h" file will be used as a |
| product list, 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_DISABLE_EXTERNAL_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. |
| |
| config USB_DEFAULT_AUTHORIZATION_MODE |
| int "Default authorization mode for USB devices" |
| range 0 2 |
| default 1 |
| depends on USB |
| help |
| Select the default USB device authorization mode. Can be overridden |
| with usbcore.authorized_default command line or module parameter. |
| |
| This option allows you to choose whether USB devices that are |
| connected to the system can be used by default, or if they are |
| locked down. |
| |
| With value 0 all connected USB devices with the exception of root |
| hub require user space authorization before they can be used. |
| |
| With value 1 (default) no user space authorization is required to |
| use connected USB devices. |
| |
| With value 2 all connected USB devices with exception of internal |
| USB devices require user space authorization before they can be |
| used. Note that in this mode the differentiation between internal |
| and external USB devices relies on ACPI, and on systems without |
| ACPI selecting value 2 is analogous to selecting value 0. |
| |
| If unsure, keep the default value. |