1cae8dc3bSGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 21da177e4SLinus Torvalds# 31da177e4SLinus Torvalds# USB Core configuration 41da177e4SLinus Torvalds# 5f2a383e4SGreg Kroah-Hartmanconfig USB_ANNOUNCE_NEW_DEVICES 6f2a383e4SGreg Kroah-Hartman bool "USB announce new devices" 7f2a383e4SGreg Kroah-Hartman help 8f2a383e4SGreg Kroah-Hartman Say Y here if you want the USB core to always announce the 9f2a383e4SGreg Kroah-Hartman idVendor, idProduct, Manufacturer, Product, and SerialNumber 10f2a383e4SGreg Kroah-Hartman strings for every new USB device to the syslog. This option is 11f2a383e4SGreg Kroah-Hartman usually used by distro vendors to help with debugging and to 12f2a383e4SGreg Kroah-Hartman let users know what specific device was added to the machine 13f2a383e4SGreg Kroah-Hartman in what location. 14f2a383e4SGreg Kroah-Hartman 15f2a383e4SGreg Kroah-Hartman If you do not want this kind of information sent to the system 16f2a383e4SGreg Kroah-Hartman log, or have any doubts about this, say N here. 17f2a383e4SGreg Kroah-Hartman 181da177e4SLinus Torvaldscomment "Miscellaneous USB options" 191da177e4SLinus Torvalds 204f482038SJulius Wernerconfig USB_DEFAULT_PERSIST 214f482038SJulius Werner bool "Enable USB persist by default" 224f482038SJulius Werner default y 234f482038SJulius Werner help 248c88126bSMasanari Iida Say N here if you don't want USB power session persistence 254f482038SJulius Werner enabled by default. If you say N it will make suspended USB 264f482038SJulius Werner devices that lose power get reenumerated as if they had been 274f482038SJulius Werner unplugged, causing any mounted filesystems to be lost. The 284f482038SJulius Werner persist feature can still be enabled for individual devices 294f482038SJulius Werner through the power/persist sysfs node. See 30e1c3e6e1SMauro Carvalho Chehab Documentation/driver-api/usb/persist.rst for more info. 314f482038SJulius Werner 324f482038SJulius Werner If you have any questions about this, say Y here, only say N 334f482038SJulius Werner if you know exactly what you are doing. 344f482038SJulius Werner 35fb6f076dSAlan Sternconfig USB_FEW_INIT_RETRIES 36fb6f076dSAlan Stern bool "Limit USB device initialization to only a few retries" 37fb6f076dSAlan Stern help 38fb6f076dSAlan Stern When a new USB device is detected, the kernel tries very hard 39fb6f076dSAlan Stern to initialize and enumerate it, with lots of nested retry loops. 40fb6f076dSAlan Stern This almost always works, but when it fails it can take a long time. 41fb6f076dSAlan Stern This option tells the kernel to make only a few retry attempts, 42fb6f076dSAlan Stern so that the total time required for a failed initialization is 43fb6f076dSAlan Stern no more than 30 seconds (as required by the USB OTG spec). 44fb6f076dSAlan Stern 45fb6f076dSAlan Stern Say N here unless you require new-device enumeration failure to 46fb6f076dSAlan Stern occur within 30 seconds (as might be needed in an embedded 47fb6f076dSAlan Stern application). 48fb6f076dSAlan Stern 491da177e4SLinus Torvaldsconfig USB_DYNAMIC_MINORS 50b6719996SRobert P. J. Day bool "Dynamic USB minor allocation" 511da177e4SLinus Torvalds help 521da177e4SLinus Torvalds If you say Y here, the USB subsystem will use dynamic minor 531da177e4SLinus Torvalds allocation for any device that uses the USB major number. 541da177e4SLinus Torvalds This means that you can have more than 16 of a single type 551da177e4SLinus Torvalds of device (like USB printers). 561da177e4SLinus Torvalds 571da177e4SLinus Torvalds If you are unsure about this, say N here. 581da177e4SLinus Torvalds 591da177e4SLinus Torvaldsconfig USB_OTG 60f4ce9084SPavankumar Kondeti bool "OTG support" 611b3e3aa6SRafael J. Wysocki depends on PM 62f4ce9084SPavankumar Kondeti help 63f4ce9084SPavankumar Kondeti The most notable feature of USB OTG is support for a 64f4ce9084SPavankumar Kondeti "Dual-Role" device, which can act as either a device 65f4ce9084SPavankumar Kondeti or a host. The initial role is decided by the type of 66f4ce9084SPavankumar Kondeti plug inserted and can be changed later when two dual 67f4ce9084SPavankumar Kondeti role devices talk to each other. 681da177e4SLinus Torvalds 69f4ce9084SPavankumar Kondeti Select this only if your board has Mini-AB/Micro-AB 70f4ce9084SPavankumar Kondeti connector. 711da177e4SLinus Torvalds 72f8f02d5cSGreg Kroah-Hartmanconfig USB_OTG_PRODUCTLIST 739bd0181cSPeter Chen bool "Rely on OTG and EH Targeted Peripherals List" 749bd0181cSPeter Chen depends on USB 751da177e4SLinus Torvalds help 76f8f02d5cSGreg Kroah-Hartman If you say Y here, the "otg_productlist.h" file will be used as a 77f8f02d5cSGreg Kroah-Hartman product list, so USB peripherals not listed there will be 781da177e4SLinus Torvalds rejected during enumeration. This behavior is required by the 799bd0181cSPeter Chen USB OTG and EH specification for all devices not on your product's 8022552b28SRobin Getz "Targeted Peripherals List". "Embedded Hosts" are likewise 8122552b28SRobin Getz allowed to support only a limited number of peripherals. 821da177e4SLinus Torvalds 839af54301SGreg Kroah-Hartmanconfig USB_OTG_DISABLE_EXTERNAL_HUB 8489ccbdc9SDavid Brownell bool "Disable external hubs" 856a108a14SDavid Rientjes depends on USB_OTG || EXPERT 8689ccbdc9SDavid Brownell help 8789ccbdc9SDavid Brownell If you say Y here, then Linux will refuse to enumerate 8889ccbdc9SDavid Brownell external hubs. OTG hosts are allowed to reduce hardware 8922552b28SRobin Getz and software costs by not supporting external hubs. So 90bc45df95SPeter Korsgaard are "Embedded Hosts" that don't offer OTG support. 911da177e4SLinus Torvalds 921dfa91aaSPeter Chenconfig USB_OTG_FSM 931dfa91aaSPeter Chen tristate "USB 2.0 OTG FSM implementation" 94c4f16130SPeter Chen depends on USB && USB_OTG 951dfa91aaSPeter Chen select USB_PHY 961dfa91aaSPeter Chen help 971dfa91aaSPeter Chen Implements OTG Finite State Machine as specified in On-The-Go 981dfa91aaSPeter Chen and Embedded Host Supplement to the USB Revision 2.0 Specification. 990f247626SRafał Miłecki 1000f247626SRafał Miłeckiconfig USB_LEDS_TRIGGER_USBPORT 1010f247626SRafał Miłecki tristate "USB port LED trigger" 1020f247626SRafał Miłecki depends on USB && LEDS_TRIGGERS 1030f247626SRafał Miłecki help 1040f247626SRafał Miłecki This driver allows LEDs to be controlled by USB events. Enabling this 1050f247626SRafał Miłecki trigger allows specifying list of USB ports that should turn on LED 1060f247626SRafał Miłecki when some USB device gets connected. 1075d5d44deSMans Rullgard 1085d5d44deSMans Rullgardconfig USB_AUTOSUSPEND_DELAY 1095d5d44deSMans Rullgard int "Default autosuspend delay" 1105d5d44deSMans Rullgard depends on USB 1115d5d44deSMans Rullgard default 2 1125d5d44deSMans Rullgard help 1135d5d44deSMans Rullgard The default autosuspend delay in seconds. Can be overridden 1145d5d44deSMans Rullgard with the usbcore.autosuspend command line or module parameter. 1155d5d44deSMans Rullgard 1165d5d44deSMans Rullgard The default value Linux has always had is 2 seconds. Change 1175d5d44deSMans Rullgard this value if you want a different delay and cannot modify 1185d5d44deSMans Rullgard the command line or module parameter. 119bec7e43bSNiko Mauno 120bec7e43bSNiko Maunoconfig USB_DEFAULT_AUTHORIZATION_MODE 121bec7e43bSNiko Mauno int "Default authorization mode for USB devices" 122bec7e43bSNiko Mauno range 0 2 123bec7e43bSNiko Mauno default 1 124bec7e43bSNiko Mauno depends on USB 125bec7e43bSNiko Mauno help 126bec7e43bSNiko Mauno Select the default USB device authorization mode. Can be overridden 127bec7e43bSNiko Mauno with usbcore.authorized_default command line or module parameter. 128bec7e43bSNiko Mauno 129*d4718effSNiko Mauno This option allows you to choose whether USB devices that are 130*d4718effSNiko Mauno connected to the system can be used by default, or if they are 131*d4718effSNiko Mauno locked down. 132bec7e43bSNiko Mauno 133*d4718effSNiko Mauno With value 0 all connected USB devices with the exception of root 134*d4718effSNiko Mauno hub require user space authorization before they can be used. 135*d4718effSNiko Mauno 136*d4718effSNiko Mauno With value 1 (default) no user space authorization is required to 137*d4718effSNiko Mauno use connected USB devices. 138*d4718effSNiko Mauno 139*d4718effSNiko Mauno With value 2 all connected USB devices with exception of internal 140*d4718effSNiko Mauno USB devices require user space authorization before they can be 141*d4718effSNiko Mauno used. Note that in this mode the differentiation between internal 142*d4718effSNiko Mauno and external USB devices relies on ACPI, and on systems without 143*d4718effSNiko Mauno ACPI selecting value 2 is analogous to selecting value 0. 144*d4718effSNiko Mauno 145*d4718effSNiko Mauno If unsure, keep the default value. 146