^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) # Physical Layer USB driver configuration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) menu "USB Physical Layer drivers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) config USB_PHY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) select EXTCON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) def_bool n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) # USB Transceiver Drivers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) config AB8500_USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) tristate "AB8500 USB Transceiver Driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) depends on AB8500_CORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) select USB_PHY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) Enable this to support the USB OTG transceiver in AB8500 chip.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) This transceiver supports high and full speed devices plus,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) in host mode, low speed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) config FSL_USB2_OTG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) tristate "Freescale USB OTG Transceiver Driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM=y && PM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) select USB_PHY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) Enable this to support Freescale USB OTG transceiver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) config ISP1301_OMAP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) tristate "Philips ISP1301 with OMAP OTG"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) depends on I2C && ARCH_OMAP_OTG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) depends on USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) select USB_PHY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) If you say yes here you get support for the Philips ISP1301
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) USB-On-The-Go transceiver working with the OMAP OTG controller.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) The ISP1301 is a full speed USB transceiver which is used in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) products including H2, H3, and H4 development boards for Texas
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) Instruments OMAP processors.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) This driver can also be built as a module. If so, the module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) will be called phy-isp1301-omap.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) config KEYSTONE_USB_PHY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) tristate "Keystone USB PHY Driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) depends on ARCH_KEYSTONE || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) depends on NOP_USB_XCEIV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) Enable this to support Keystone USB phy. This driver provides
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) interface to interact with USB 2.0 and USB 3.0 PHY that is part
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) of the Keystone SOC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) config NOP_USB_XCEIV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) tristate "NOP USB Transceiver Driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, NOP can't be built-in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) select USB_PHY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) This driver is to be used by all the usb transceiver which are either
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) built-in with usb ip or which are autonomous and doesn't require any
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) phy programming such as ISP1x04 etc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) config AM335X_CONTROL_USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) config AM335X_PHY_USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) tristate "AM335x USB PHY Driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) depends on ARM || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) depends on NOP_USB_XCEIV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) select USB_PHY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) select AM335X_CONTROL_USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) select USB_COMMON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) This driver provides PHY support for that phy which part for the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) AM335x SoC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) config TWL6030_USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) tristate "TWL6030 USB Transceiver Driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) Enable this to support the USB OTG transceiver on TWL6030
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) family chips. This TWL6030 transceiver has the VBUS and ID GND
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) and OTG SRP events capabilities. For all other transceiver functionality
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) are hooked to this driver through platform_data structure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) The definition of internal PHY APIs are in the mach-omap2 layer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) config USB_GPIO_VBUS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) depends on GPIOLIB || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) select USB_PHY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) Provides simple GPIO VBUS sensing for controllers with an
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) internal transceiver via the usb_phy interface, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) optionally control of a D+ pullup GPIO as well as a VBUS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) current limit regulator.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) config OMAP_OTG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) tristate "OMAP USB OTG controller driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) depends on ARCH_OMAP_OTG && EXTCON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) Enable this to support some transceivers on OMAP1 platforms. OTG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) controller is needed to switch between host and peripheral modes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) This driver can also be built as a module. If so, the module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) will be called phy-omap-otg.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) config TAHVO_USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) tristate "Tahvo USB transceiver driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) depends on MFD_RETU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) select USB_PHY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) Enable this to support USB transceiver on Tahvo. This is used
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) at least on Nokia 770.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) config TAHVO_USB_HOST_BY_DEFAULT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) depends on TAHVO_USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) bool "Device in USB host mode by default"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) Say Y here, if you want the device to enter USB host mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) by default on bootup.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) config USB_ISP1301
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) tristate "NXP ISP1301 USB transceiver support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) depends on USB || USB_GADGET
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) depends on I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) select USB_PHY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) Say Y here to add support for the NXP ISP1301 USB transceiver driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) This chip is typically used as USB transceiver for USB host, gadget
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) and OTG drivers (to be selected separately).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) module will be called phy-isp1301.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) config USB_MV_OTG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) tristate "Marvell USB OTG support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) depends on USB_EHCI_MV && USB_MV_UDC && PM && USB_OTG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) select USB_PHY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) Say Y here if you want to build Marvell USB OTG transciever
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) driver in kernel (including PXA and MMP series). This driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) implements role switch between EHCI host driver and gadget driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) To compile this driver as a module, choose M here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) config USB_MXS_PHY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) tristate "Freescale MXS USB PHY support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) depends on ARCH_MXC || ARCH_MXS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) select STMP_DEVICE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) select USB_PHY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) Enable this to support the Freescale MXS USB PHY.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) config USB_TEGRA_PHY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) tristate "NVIDIA Tegra USB PHY Driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) depends on ARCH_TEGRA || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) select USB_COMMON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) select USB_PHY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) select USB_ULPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) This driver provides PHY support for the USB controllers found
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) on NVIDIA Tegra SoC's.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) config USB_ULPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) bool "Generic ULPI Transceiver Driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) depends on ARM || ARM64 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) select USB_ULPI_VIEWPORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) Enable this to support ULPI connected USB OTG transceivers which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) are likely found on embedded boards.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) config USB_ULPI_VIEWPORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) Provides read/write operations to the ULPI phy register set for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) controllers with a viewport register (e.g. Chipidea/ARC controllers).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) config JZ4770_PHY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) tristate "Ingenic SoCs Transceiver Driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) depends on MIPS || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) select USB_PHY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) This driver provides PHY support for the USB controller found
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) on the JZ-series and X-series SoCs from Ingenic.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) endmenu