Kconfig 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. #
  2. # USB Core configuration
  3. #
  4. config USB_DEBUG
  5. bool "USB verbose debug messages"
  6. depends on USB
  7. help
  8. Say Y here if you want the USB core & hub drivers to produce a bunch
  9. of debug messages to the system log. Select this if you are having a
  10. problem with USB support and want to see more of what is going on.
  11. config USB_ANNOUNCE_NEW_DEVICES
  12. bool "USB announce new devices"
  13. depends on USB
  14. default N
  15. help
  16. Say Y here if you want the USB core to always announce the
  17. idVendor, idProduct, Manufacturer, Product, and SerialNumber
  18. strings for every new USB device to the syslog. This option is
  19. usually used by distro vendors to help with debugging and to
  20. let users know what specific device was added to the machine
  21. in what location.
  22. If you do not want this kind of information sent to the system
  23. log, or have any doubts about this, say N here.
  24. comment "Miscellaneous USB options"
  25. depends on USB
  26. config USB_DEVICEFS
  27. bool "USB device filesystem (DEPRECATED)"
  28. depends on USB
  29. ---help---
  30. If you say Y here (and to "/proc file system support" in the "File
  31. systems" section, above), you will get a file /proc/bus/usb/devices
  32. which lists the devices currently connected to your USB bus or
  33. busses, and for every connected device a file named
  34. "/proc/bus/usb/xxx/yyy", where xxx is the bus number and yyy the
  35. device number; the latter files can be used by user space programs
  36. to talk directly to the device. These files are "virtual", meaning
  37. they are generated on the fly and not stored on the hard drive.
  38. You may need to mount the usbfs file system to see the files, use
  39. mount -t usbfs none /proc/bus/usb
  40. For the format of the various /proc/bus/usb/ files, please read
  41. <file:Documentation/usb/proc_usb_info.txt>.
  42. Modern Linux systems do not use this.
  43. Usbfs entries are files and not character devices; usbfs can't
  44. handle Access Control Lists (ACL) which are the default way to
  45. grant access to USB devices for untrusted users of a desktop
  46. system.
  47. The usbfs functionality is replaced by real device-nodes managed by
  48. udev. These nodes lived in /dev/bus/usb and are used by libusb.
  49. config USB_DEVICE_CLASS
  50. bool "USB device class-devices (DEPRECATED)"
  51. depends on USB
  52. default y
  53. ---help---
  54. Userspace access to USB devices is granted by device-nodes exported
  55. directly from the usbdev in sysfs. Old versions of the driver
  56. core and udev needed additional class devices to export device nodes.
  57. These additional devices are difficult to handle in userspace, if
  58. information about USB interfaces must be available. One device
  59. contains the device node, the other device contains the interface
  60. data. Both devices are at the same level in sysfs (siblings) and one
  61. can't access the other. The device node created directly by the
  62. usb device is the parent device of the interface and therefore
  63. easily accessible from the interface event.
  64. This option provides backward compatibility for libusb device
  65. nodes (lsusb) when usbfs is not used, and the following udev rule
  66. doesn't exist:
  67. SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", \
  68. NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0644"
  69. config USB_DYNAMIC_MINORS
  70. bool "Dynamic USB minor allocation"
  71. depends on USB
  72. help
  73. If you say Y here, the USB subsystem will use dynamic minor
  74. allocation for any device that uses the USB major number.
  75. This means that you can have more than 16 of a single type
  76. of device (like USB printers).
  77. If you are unsure about this, say N here.
  78. config USB_SUSPEND
  79. bool "USB runtime power management (autosuspend) and wakeup"
  80. depends on USB && PM_RUNTIME
  81. help
  82. If you say Y here, you can use driver calls or the sysfs
  83. "power/control" file to enable or disable autosuspend for
  84. individual USB peripherals (see
  85. Documentation/usb/power-management.txt for more details).
  86. Also, USB "remote wakeup" signaling is supported, whereby some
  87. USB devices (like keyboards and network adapters) can wake up
  88. their parent hub. That wakeup cascades up the USB tree, and
  89. could wake the system from states like suspend-to-RAM.
  90. If you are unsure about this, say N here.
  91. config USB_OTG
  92. bool "OTG support"
  93. depends on USB && EXPERIMENTAL
  94. depends on USB_SUSPEND
  95. default n
  96. help
  97. The most notable feature of USB OTG is support for a
  98. "Dual-Role" device, which can act as either a device
  99. or a host. The initial role is decided by the type of
  100. plug inserted and can be changed later when two dual
  101. role devices talk to each other.
  102. Select this only if your board has Mini-AB/Micro-AB
  103. connector.
  104. config USB_OTG_WHITELIST
  105. bool "Rely on OTG Targeted Peripherals List"
  106. depends on USB_OTG || EXPERT
  107. default y if USB_OTG
  108. default n if EXPERT
  109. help
  110. If you say Y here, the "otg_whitelist.h" file will be used as a
  111. product whitelist, so USB peripherals not listed there will be
  112. rejected during enumeration. This behavior is required by the
  113. USB OTG specification for all devices not on your product's
  114. "Targeted Peripherals List". "Embedded Hosts" are likewise
  115. allowed to support only a limited number of peripherals.
  116. Otherwise, peripherals not listed there will only generate a
  117. warning and enumeration will continue. That's more like what
  118. normal Linux-USB hosts do (other than the warning), and is
  119. convenient for many stages of product development.
  120. config USB_OTG_BLACKLIST_HUB
  121. bool "Disable external hubs"
  122. depends on USB_OTG || EXPERT
  123. help
  124. If you say Y here, then Linux will refuse to enumerate
  125. external hubs. OTG hosts are allowed to reduce hardware
  126. and software costs by not supporting external hubs. So
  127. are "Embedded Hosts" that don't offer OTG support.