Kconfig 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  1. # SPDX-License-Identifier: GPL-2.0
  2. #
  3. # Physical Layer USB driver configuration
  4. #
  5. menu "USB Physical Layer drivers"
  6. config USB_PHY
  7. select EXTCON
  8. def_bool n
  9. #
  10. # USB Transceiver Drivers
  11. #
  12. config AB8500_USB
  13. tristate "AB8500 USB Transceiver Driver"
  14. depends on AB8500_CORE
  15. select USB_PHY
  16. help
  17. Enable this to support the USB OTG transceiver in AB8500 chip.
  18. This transceiver supports high and full speed devices plus,
  19. in host mode, low speed.
  20. config FSL_USB2_OTG
  21. tristate "Freescale USB OTG Transceiver Driver"
  22. depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM=y && PM
  23. depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
  24. select USB_PHY
  25. help
  26. Enable this to support Freescale USB OTG transceiver.
  27. config ISP1301_OMAP
  28. tristate "Philips ISP1301 with OMAP OTG"
  29. depends on I2C
  30. depends on ARCH_OMAP_OTG || (ARM && COMPILE_TEST)
  31. depends on USB
  32. depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
  33. select USB_PHY
  34. help
  35. If you say yes here you get support for the Philips ISP1301
  36. USB-On-The-Go transceiver working with the OMAP OTG controller.
  37. The ISP1301 is a full speed USB transceiver which is used in
  38. products including H2, H3, and H4 development boards for Texas
  39. Instruments OMAP processors.
  40. This driver can also be built as a module. If so, the module
  41. will be called phy-isp1301-omap.
  42. config KEYSTONE_USB_PHY
  43. tristate "Keystone USB PHY Driver"
  44. depends on ARCH_KEYSTONE || COMPILE_TEST
  45. depends on NOP_USB_XCEIV
  46. help
  47. Enable this to support Keystone USB phy. This driver provides
  48. interface to interact with USB 2.0 and USB 3.0 PHY that is part
  49. of the Keystone SOC.
  50. config NOP_USB_XCEIV
  51. tristate "NOP USB Transceiver Driver"
  52. depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, NOP can't be built-in
  53. select USB_PHY
  54. help
  55. This driver is to be used by all the usb transceiver which are either
  56. built-in with usb ip or which are autonomous and doesn't require any
  57. phy programming such as ISP1x04 etc.
  58. config AM335X_CONTROL_USB
  59. tristate
  60. config AM335X_PHY_USB
  61. tristate "AM335x USB PHY Driver"
  62. depends on ARM || COMPILE_TEST
  63. depends on NOP_USB_XCEIV
  64. select USB_PHY
  65. select AM335X_CONTROL_USB
  66. select USB_COMMON
  67. help
  68. This driver provides PHY support for that phy which part for the
  69. AM335x SoC.
  70. config TWL6030_USB
  71. tristate "TWL6030 USB Transceiver Driver"
  72. depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS
  73. depends on OF
  74. help
  75. Enable this to support the USB OTG transceiver on TWL6030
  76. family chips. This TWL6030 transceiver has the VBUS and ID GND
  77. and OTG SRP events capabilities. For all other transceiver functionality
  78. UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs
  79. are hooked to this driver through platform_data structure.
  80. The definition of internal PHY APIs are in the mach-omap2 layer.
  81. config USB_GPIO_VBUS
  82. tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
  83. depends on GPIOLIB || COMPILE_TEST
  84. depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
  85. select USB_PHY
  86. help
  87. Provides simple GPIO VBUS sensing for controllers with an
  88. internal transceiver via the usb_phy interface, and
  89. optionally control of a D+ pullup GPIO as well as a VBUS
  90. current limit regulator.
  91. config OMAP_OTG
  92. tristate "OMAP USB OTG controller driver"
  93. depends on ARCH_OMAP_OTG && EXTCON
  94. help
  95. Enable this to support some transceivers on OMAP1 platforms. OTG
  96. controller is needed to switch between host and peripheral modes.
  97. This driver can also be built as a module. If so, the module
  98. will be called phy-omap-otg.
  99. config TAHVO_USB
  100. tristate "Tahvo USB transceiver driver"
  101. depends on MFD_RETU
  102. depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
  103. select USB_PHY
  104. help
  105. Enable this to support USB transceiver on Tahvo. This is used
  106. at least on Nokia 770.
  107. config TAHVO_USB_HOST_BY_DEFAULT
  108. depends on TAHVO_USB
  109. bool "Device in USB host mode by default"
  110. help
  111. Say Y here, if you want the device to enter USB host mode
  112. by default on bootup.
  113. config USB_ISP1301
  114. tristate "NXP ISP1301 USB transceiver support"
  115. depends on USB || USB_GADGET
  116. depends on I2C
  117. select USB_PHY
  118. help
  119. Say Y here to add support for the NXP ISP1301 USB transceiver driver.
  120. This chip is typically used as USB transceiver for USB host, gadget
  121. and OTG drivers (to be selected separately).
  122. To compile this driver as a module, choose M here: the
  123. module will be called phy-isp1301.
  124. config USB_MV_OTG
  125. tristate "Marvell USB OTG support"
  126. depends on USB_EHCI_MV && USB_MV_UDC && PM && USB_OTG
  127. depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
  128. select USB_PHY
  129. help
  130. Say Y here if you want to build Marvell USB OTG transceiver
  131. driver in kernel (including PXA and MMP series). This driver
  132. implements role switch between EHCI host driver and gadget driver.
  133. To compile this driver as a module, choose M here.
  134. config USB_MXS_PHY
  135. tristate "Freescale MXS USB PHY support"
  136. depends on ARCH_MXC || ARCH_MXS
  137. select STMP_DEVICE
  138. select USB_PHY
  139. help
  140. Enable this to support the Freescale MXS USB PHY.
  141. MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x.
  142. config USB_TEGRA_PHY
  143. tristate "NVIDIA Tegra USB PHY Driver"
  144. depends on ARCH_TEGRA || COMPILE_TEST
  145. select USB_COMMON
  146. select USB_PHY
  147. select USB_ULPI
  148. help
  149. This driver provides PHY support for the USB controllers found
  150. on NVIDIA Tegra SoC's.
  151. config USB_ULPI
  152. bool "Generic ULPI Transceiver Driver"
  153. depends on ARM || ARM64 || COMPILE_TEST
  154. select USB_ULPI_VIEWPORT
  155. help
  156. Enable this to support ULPI connected USB OTG transceivers which
  157. are likely found on embedded boards.
  158. config USB_ULPI_VIEWPORT
  159. bool
  160. help
  161. Provides read/write operations to the ULPI phy register set for
  162. controllers with a viewport register (e.g. Chipidea/ARC controllers).
  163. config JZ4770_PHY
  164. tristate "Ingenic SoCs Transceiver Driver"
  165. depends on MIPS || COMPILE_TEST
  166. select USB_PHY
  167. help
  168. This driver provides PHY support for the USB controller found
  169. on the JZ-series and X-series SoCs from Ingenic.
  170. config USB_QCOM_EMU_PHY
  171. tristate "Qualcomm Technologies, Inc. emulation USB PHY driver"
  172. depends on ARCH_QCOM || COMPILE_TEST
  173. select USB_PHY
  174. help
  175. Enable this to support the USB transceiver used on
  176. Qualcomm Technologies, Inc. emulation platforms. It simply performs
  177. PHY initialization given a basic register write sequence.
  178. To compile this driver as a module, choose M here: the
  179. module will be called phy-qcom-emu.
  180. config USB_MSM_SSPHY_QMP
  181. tristate "MSM SSUSB QMP PHY Driver"
  182. depends on ARCH_QCOM || COMPILE_TEST
  183. select USB_PHY
  184. help
  185. Enable this to support the SuperSpeed USB transceiver on MSM chips.
  186. This driver supports the PHY which uses the QSCRATCH-based register
  187. set for its control sequences, normally paired with newer DWC3-based
  188. SuperSpeed controllers.
  189. config MSM_QUSB_PHY
  190. tristate "MSM QUSB2 PHY Driver"
  191. depends on ARCH_QCOM
  192. select USB_PHY
  193. help
  194. Enable this to support the QUSB2 PHY on MSM chips. This driver supports
  195. the high-speed PHY which is usually paired with either the ChipIdea or
  196. Synopsys DWC3 USB IPs on MSM SOCs. This driver expects to configure the
  197. PHY with a dedicated register I/O memory region.
  198. config MSM_HSUSB_PHY
  199. tristate "MSM HSUSB PHY Driver"
  200. depends on ARCH_QCOM || COMPILE_TEST
  201. select USB_PHY
  202. help
  203. Enable this to support the HSUSB PHY on MSM chips. This driver supports
  204. the high-speed PHY which is usually paired with either the ChipIdea or
  205. Synopsys DWC3 USB IPs on MSM SOCs. This driver expects to configure the
  206. PHY with a dedicated register I/O memory region.
  207. config USB_MSM_EUSB2_PHY
  208. tristate "MSM EUSB2 PHY Driver"
  209. depends on ARCH_QCOM || COMPILE_TEST
  210. select USB_PHY
  211. help
  212. Enable this to support the USB EUSB2 PHY on MSM chips. This driver
  213. supports reset and initialization sequence, and also perform required
  214. set of operations with used repeater for USB HS/FS/LS functionality.
  215. To compile this driver as a module, choose M here.
  216. config USB_PHY_TUNING_QCOM
  217. bool "USB PHY TUNING QCOM"
  218. depends on ARCH_QCOM
  219. help
  220. Enable this to tune usb phy register.
  221. It is for only test.
  222. Do not enable user build binary.
  223. config USB_PHY_SETTING_QCOM
  224. bool "USB PHY SETTING QCOM"
  225. depends on ARCH_QCOM
  226. help
  227. Enable this if you need to distinguish settings
  228. between two data roles.
  229. You will be able to set different usb phy values for host/client mode.
  230. This is only supported in QCOM AP chipset models.
  231. endmenu