summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--MAINTAINERS18
-rw-r--r--drivers/phy/Kconfig491
-rw-r--r--drivers/phy/Makefile70
-rw-r--r--drivers/phy/allwinner/Kconfig31
-rw-r--r--drivers/phy/allwinner/Makefile2
-rw-r--r--drivers/phy/allwinner/phy-sun4i-usb.c (renamed from drivers/phy/phy-sun4i-usb.c)0
-rw-r--r--drivers/phy/allwinner/phy-sun9i-usb.c (renamed from drivers/phy/phy-sun9i-usb.c)0
-rw-r--r--drivers/phy/amlogic/Kconfig14
-rw-r--r--drivers/phy/amlogic/Makefile1
-rw-r--r--drivers/phy/amlogic/phy-meson8b-usb2.c (renamed from drivers/phy/phy-meson8b-usb2.c)0
-rw-r--r--drivers/phy/broadcom/Kconfig55
-rw-r--r--drivers/phy/broadcom/Makefile6
-rw-r--r--drivers/phy/broadcom/phy-bcm-cygnus-pcie.c (renamed from drivers/phy/phy-bcm-cygnus-pcie.c)0
-rw-r--r--drivers/phy/broadcom/phy-bcm-kona-usb2.c (renamed from drivers/phy/phy-bcm-kona-usb2.c)0
-rw-r--r--drivers/phy/broadcom/phy-bcm-ns-usb2.c (renamed from drivers/phy/phy-bcm-ns-usb2.c)0
-rw-r--r--drivers/phy/broadcom/phy-bcm-ns-usb3.c (renamed from drivers/phy/phy-bcm-ns-usb3.c)0
-rw-r--r--drivers/phy/broadcom/phy-bcm-ns2-pcie.c (renamed from drivers/phy/phy-bcm-ns2-pcie.c)0
-rw-r--r--drivers/phy/broadcom/phy-brcm-sata.c (renamed from drivers/phy/phy-brcm-sata.c)0
-rw-r--r--drivers/phy/hisilicon/Kconfig20
-rw-r--r--drivers/phy/hisilicon/Makefile2
-rw-r--r--drivers/phy/hisilicon/phy-hi6220-usb.c (renamed from drivers/phy/phy-hi6220-usb.c)0
-rw-r--r--drivers/phy/hisilicon/phy-hix5hd2-sata.c (renamed from drivers/phy/phy-hix5hd2-sata.c)0
-rw-r--r--drivers/phy/marvell/Kconfig50
-rw-r--r--drivers/phy/marvell/Makefile6
-rw-r--r--drivers/phy/marvell/phy-armada375-usb2.c (renamed from drivers/phy/phy-armada375-usb2.c)0
-rw-r--r--drivers/phy/marvell/phy-berlin-sata.c (renamed from drivers/phy/phy-berlin-sata.c)0
-rw-r--r--drivers/phy/marvell/phy-berlin-usb.c (renamed from drivers/phy/phy-berlin-usb.c)0
-rw-r--r--drivers/phy/marvell/phy-mvebu-sata.c (renamed from drivers/phy/phy-mvebu-sata.c)0
-rw-r--r--drivers/phy/marvell/phy-pxa-28nm-hsic.c (renamed from drivers/phy/phy-pxa-28nm-hsic.c)0
-rw-r--r--drivers/phy/marvell/phy-pxa-28nm-usb2.c (renamed from drivers/phy/phy-pxa-28nm-usb2.c)0
-rw-r--r--drivers/phy/qualcomm/Kconfig58
-rw-r--r--drivers/phy/qualcomm/Makefile9
-rw-r--r--drivers/phy/qualcomm/phy-qcom-apq8064-sata.c (renamed from drivers/phy/phy-qcom-apq8064-sata.c)0
-rw-r--r--drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c (renamed from drivers/phy/phy-qcom-ipq806x-sata.c)0
-rw-r--r--drivers/phy/qualcomm/phy-qcom-qmp.c (renamed from drivers/phy/phy-qcom-qmp.c)0
-rw-r--r--drivers/phy/qualcomm/phy-qcom-qusb2.c (renamed from drivers/phy/phy-qcom-qusb2.c)0
-rw-r--r--drivers/phy/qualcomm/phy-qcom-ufs-i.h (renamed from drivers/phy/phy-qcom-ufs-i.h)0
-rw-r--r--drivers/phy/qualcomm/phy-qcom-ufs-qmp-14nm.c (renamed from drivers/phy/phy-qcom-ufs-qmp-14nm.c)0
-rw-r--r--drivers/phy/qualcomm/phy-qcom-ufs-qmp-14nm.h (renamed from drivers/phy/phy-qcom-ufs-qmp-14nm.h)0
-rw-r--r--drivers/phy/qualcomm/phy-qcom-ufs-qmp-20nm.c (renamed from drivers/phy/phy-qcom-ufs-qmp-20nm.c)0
-rw-r--r--drivers/phy/qualcomm/phy-qcom-ufs-qmp-20nm.h (renamed from drivers/phy/phy-qcom-ufs-qmp-20nm.h)0
-rw-r--r--drivers/phy/qualcomm/phy-qcom-ufs.c (renamed from drivers/phy/phy-qcom-ufs.c)0
-rw-r--r--drivers/phy/qualcomm/phy-qcom-usb-hs.c (renamed from drivers/phy/phy-qcom-usb-hs.c)0
-rw-r--r--drivers/phy/qualcomm/phy-qcom-usb-hsic.c (renamed from drivers/phy/phy-qcom-usb-hsic.c)0
-rw-r--r--drivers/phy/renesas/Kconfig17
-rw-r--r--drivers/phy/renesas/Makefile2
-rw-r--r--drivers/phy/renesas/phy-rcar-gen2.c (renamed from drivers/phy/phy-rcar-gen2.c)0
-rw-r--r--drivers/phy/renesas/phy-rcar-gen3-usb2.c (renamed from drivers/phy/phy-rcar-gen3-usb2.c)0
-rw-r--r--drivers/phy/rockchip/Kconfig51
-rw-r--r--drivers/phy/rockchip/Makefile6
-rw-r--r--drivers/phy/rockchip/phy-rockchip-dp.c (renamed from drivers/phy/phy-rockchip-dp.c)0
-rw-r--r--drivers/phy/rockchip/phy-rockchip-emmc.c (renamed from drivers/phy/phy-rockchip-emmc.c)0
-rw-r--r--drivers/phy/rockchip/phy-rockchip-inno-usb2.c (renamed from drivers/phy/phy-rockchip-inno-usb2.c)0
-rw-r--r--drivers/phy/rockchip/phy-rockchip-pcie.c (renamed from drivers/phy/phy-rockchip-pcie.c)0
-rw-r--r--drivers/phy/rockchip/phy-rockchip-typec.c (renamed from drivers/phy/phy-rockchip-typec.c)0
-rw-r--r--drivers/phy/rockchip/phy-rockchip-usb.c (renamed from drivers/phy/phy-rockchip-usb.c)0
-rw-r--r--drivers/phy/samsung/Kconfig95
-rw-r--r--drivers/phy/samsung/Makefile11
-rw-r--r--drivers/phy/samsung/phy-exynos-dp-video.c (renamed from drivers/phy/phy-exynos-dp-video.c)0
-rw-r--r--drivers/phy/samsung/phy-exynos-mipi-video.c (renamed from drivers/phy/phy-exynos-mipi-video.c)0
-rw-r--r--drivers/phy/samsung/phy-exynos-pcie.c (renamed from drivers/phy/phy-exynos-pcie.c)0
-rw-r--r--drivers/phy/samsung/phy-exynos4210-usb2.c (renamed from drivers/phy/phy-exynos4210-usb2.c)0
-rw-r--r--drivers/phy/samsung/phy-exynos4x12-usb2.c (renamed from drivers/phy/phy-exynos4x12-usb2.c)0
-rw-r--r--drivers/phy/samsung/phy-exynos5-usbdrd.c (renamed from drivers/phy/phy-exynos5-usbdrd.c)0
-rw-r--r--drivers/phy/samsung/phy-exynos5250-sata.c (renamed from drivers/phy/phy-exynos5250-sata.c)0
-rw-r--r--drivers/phy/samsung/phy-exynos5250-usb2.c (renamed from drivers/phy/phy-exynos5250-usb2.c)0
-rw-r--r--drivers/phy/samsung/phy-s5pv210-usb2.c (renamed from drivers/phy/phy-s5pv210-usb2.c)0
-rw-r--r--drivers/phy/samsung/phy-samsung-usb2.c (renamed from drivers/phy/phy-samsung-usb2.c)0
-rw-r--r--drivers/phy/samsung/phy-samsung-usb2.h (renamed from drivers/phy/phy-samsung-usb2.h)0
-rw-r--r--drivers/phy/st/Kconfig33
-rw-r--r--drivers/phy/st/Makefile4
-rw-r--r--drivers/phy/st/phy-miphy28lp.c (renamed from drivers/phy/phy-miphy28lp.c)0
-rw-r--r--drivers/phy/st/phy-spear1310-miphy.c (renamed from drivers/phy/phy-spear1310-miphy.c)0
-rw-r--r--drivers/phy/st/phy-spear1340-miphy.c (renamed from drivers/phy/phy-spear1340-miphy.c)0
-rw-r--r--drivers/phy/st/phy-stih407-usb.c (renamed from drivers/phy/phy-stih407-usb.c)0
-rw-r--r--drivers/phy/ti/Kconfig78
-rw-r--r--drivers/phy/ti/Makefile7
-rw-r--r--drivers/phy/ti/phy-da8xx-usb.c (renamed from drivers/phy/phy-da8xx-usb.c)0
-rw-r--r--drivers/phy/ti/phy-dm816x-usb.c (renamed from drivers/phy/phy-dm816x-usb.c)0
-rw-r--r--drivers/phy/ti/phy-omap-control.c (renamed from drivers/phy/phy-omap-control.c)0
-rw-r--r--drivers/phy/ti/phy-omap-usb2.c (renamed from drivers/phy/phy-omap-usb2.c)0
-rw-r--r--drivers/phy/ti/phy-ti-pipe3.c (renamed from drivers/phy/phy-ti-pipe3.c)0
-rw-r--r--drivers/phy/ti/phy-tusb1210.c (renamed from drivers/phy/phy-tusb1210.c)0
-rw-r--r--drivers/phy/ti/phy-twl4030-usb.c (renamed from drivers/phy/phy-twl4030-usb.c)0
84 files changed, 591 insertions, 546 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index f7d568b8f133..a47d3da4d35d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1844,8 +1844,8 @@ F: drivers/i2c/busses/i2c-st.c
1844F: drivers/media/rc/st_rc.c 1844F: drivers/media/rc/st_rc.c
1845F: drivers/media/platform/sti/c8sectpfe/ 1845F: drivers/media/platform/sti/c8sectpfe/
1846F: drivers/mmc/host/sdhci-st.c 1846F: drivers/mmc/host/sdhci-st.c
1847F: drivers/phy/phy-miphy28lp.c 1847F: drivers/phy/st/phy-miphy28lp.c
1848F: drivers/phy/phy-stih407-usb.c 1848F: drivers/phy/st/phy-stih407-usb.c
1849F: drivers/pinctrl/pinctrl-st.c 1849F: drivers/pinctrl/pinctrl-st.c
1850F: drivers/remoteproc/st_remoteproc.c 1850F: drivers/remoteproc/st_remoteproc.c
1851F: drivers/remoteproc/st_slim_rproc.c 1851F: drivers/remoteproc/st_slim_rproc.c
@@ -10833,7 +10833,7 @@ RENESAS USB2 PHY DRIVER
10833M: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> 10833M: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
10834L: linux-renesas-soc@vger.kernel.org 10834L: linux-renesas-soc@vger.kernel.org
10835S: Maintained 10835S: Maintained
10836F: drivers/phy/phy-rcar-gen3-usb2.c 10836F: drivers/phy/renesas/phy-rcar-gen3-usb2.c
10837 10837
10838RESET CONTROLLER FRAMEWORK 10838RESET CONTROLLER FRAMEWORK
10839M: Philipp Zabel <p.zabel@pengutronix.de> 10839M: Philipp Zabel <p.zabel@pengutronix.de>
@@ -11235,12 +11235,12 @@ L: linux-kernel@vger.kernel.org
11235S: Supported 11235S: Supported
11236F: Documentation/devicetree/bindings/phy/samsung-phy.txt 11236F: Documentation/devicetree/bindings/phy/samsung-phy.txt
11237F: Documentation/phy/samsung-usb2.txt 11237F: Documentation/phy/samsung-usb2.txt
11238F: drivers/phy/phy-exynos4210-usb2.c 11238F: drivers/phy/samsung/phy-exynos4210-usb2.c
11239F: drivers/phy/phy-exynos4x12-usb2.c 11239F: drivers/phy/samsung/phy-exynos4x12-usb2.c
11240F: drivers/phy/phy-exynos5250-usb2.c 11240F: drivers/phy/samsung/phy-exynos5250-usb2.c
11241F: drivers/phy/phy-s5pv210-usb2.c 11241F: drivers/phy/samsung/phy-s5pv210-usb2.c
11242F: drivers/phy/phy-samsung-usb2.c 11242F: drivers/phy/samsung/phy-samsung-usb2.c
11243F: drivers/phy/phy-samsung-usb2.h 11243F: drivers/phy/samsung/phy-samsung-usb2.h
11244 11244
11245SERIAL DRIVERS 11245SERIAL DRIVERS
11246M: Greg Kroah-Hartman <gregkh@linuxfoundation.org> 11246M: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
index afaf7b643eeb..01009b2a7d74 100644
--- a/drivers/phy/Kconfig
+++ b/drivers/phy/Kconfig
@@ -15,73 +15,6 @@ config GENERIC_PHY
15 phy users can obtain reference to the PHY. All the users of this 15 phy users can obtain reference to the PHY. All the users of this
16 framework should select this config. 16 framework should select this config.
17 17
18config PHY_BCM_NS_USB2
19 tristate "Broadcom Northstar USB 2.0 PHY Driver"
20 depends on ARCH_BCM_IPROC || COMPILE_TEST
21 depends on HAS_IOMEM && OF
22 select GENERIC_PHY
23 help
24 Enable this to support Broadcom USB 2.0 PHY connected to the USB
25 controller on Northstar family.
26
27config PHY_BCM_NS_USB3
28 tristate "Broadcom Northstar USB 3.0 PHY Driver"
29 depends on ARCH_BCM_IPROC || COMPILE_TEST
30 depends on HAS_IOMEM && OF
31 select GENERIC_PHY
32 help
33 Enable this to support Broadcom USB 3.0 PHY connected to the USB
34 controller on Northstar family.
35
36config PHY_BERLIN_USB
37 tristate "Marvell Berlin USB PHY Driver"
38 depends on ARCH_BERLIN && RESET_CONTROLLER && HAS_IOMEM && OF
39 select GENERIC_PHY
40 help
41 Enable this to support the USB PHY on Marvell Berlin SoCs.
42
43config PHY_BERLIN_SATA
44 tristate "Marvell Berlin SATA PHY driver"
45 depends on ARCH_BERLIN && HAS_IOMEM && OF
46 select GENERIC_PHY
47 help
48 Enable this to support the SATA PHY on Marvell Berlin SoCs.
49
50config ARMADA375_USBCLUSTER_PHY
51 def_bool y
52 depends on MACH_ARMADA_375 || COMPILE_TEST
53 depends on OF && HAS_IOMEM
54 select GENERIC_PHY
55
56config PHY_DA8XX_USB
57 tristate "TI DA8xx USB PHY Driver"
58 depends on ARCH_DAVINCI_DA8XX
59 select GENERIC_PHY
60 select MFD_SYSCON
61 help
62 Enable this to support the USB PHY on DA8xx SoCs.
63
64 This driver controls both the USB 1.1 PHY and the USB 2.0 PHY.
65
66config PHY_DM816X_USB
67 tristate "TI dm816x USB PHY driver"
68 depends on ARCH_OMAP2PLUS
69 depends on USB_SUPPORT
70 select GENERIC_PHY
71 select USB_PHY
72 help
73 Enable this for dm816x USB to work.
74
75config PHY_EXYNOS_MIPI_VIDEO
76 tristate "S5P/EXYNOS SoC series MIPI CSI-2/DSI PHY driver"
77 depends on HAS_IOMEM
78 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
79 select GENERIC_PHY
80 default y if ARCH_S5PV210 || ARCH_EXYNOS
81 help
82 Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P
83 and EXYNOS SoCs.
84
85config PHY_LPC18XX_USB_OTG 18config PHY_LPC18XX_USB_OTG
86 tristate "NXP LPC18xx/43xx SoC USB OTG PHY driver" 19 tristate "NXP LPC18xx/43xx SoC USB OTG PHY driver"
87 depends on OF && (ARCH_LPC18XX || COMPILE_TEST) 20 depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
@@ -93,146 +26,6 @@ config PHY_LPC18XX_USB_OTG
93 This driver is need for USB0 support on LPC18xx/43xx and takes 26 This driver is need for USB0 support on LPC18xx/43xx and takes
94 care of enabling and clock setup. 27 care of enabling and clock setup.
95 28
96config PHY_PXA_28NM_HSIC
97 tristate "Marvell USB HSIC 28nm PHY Driver"
98 depends on HAS_IOMEM
99 select GENERIC_PHY
100 help
101 Enable this to support Marvell USB HSIC PHY driver for Marvell
102 SoC. This driver will do the PHY initialization and shutdown.
103 The PHY driver will be used by Marvell ehci driver.
104
105 To compile this driver as a module, choose M here.
106
107config PHY_PXA_28NM_USB2
108 tristate "Marvell USB 2.0 28nm PHY Driver"
109 depends on HAS_IOMEM
110 select GENERIC_PHY
111 help
112 Enable this to support Marvell USB 2.0 PHY driver for Marvell
113 SoC. This driver will do the PHY initialization and shutdown.
114 The PHY driver will be used by Marvell udc/ehci/otg driver.
115
116 To compile this driver as a module, choose M here.
117
118config PHY_MVEBU_SATA
119 def_bool y
120 depends on ARCH_DOVE || MACH_DOVE || MACH_KIRKWOOD
121 depends on OF
122 select GENERIC_PHY
123
124config PHY_MIPHY28LP
125 tristate "STMicroelectronics MIPHY28LP PHY driver for STiH407"
126 depends on ARCH_STI
127 select GENERIC_PHY
128 help
129 Enable this to support the miphy transceiver (for SATA/PCIE/USB3)
130 that is part of STMicroelectronics STiH407 SoC.
131
132config PHY_RCAR_GEN2
133 tristate "Renesas R-Car generation 2 USB PHY driver"
134 depends on ARCH_RENESAS
135 depends on GENERIC_PHY
136 help
137 Support for USB PHY found on Renesas R-Car generation 2 SoCs.
138
139config PHY_RCAR_GEN3_USB2
140 tristate "Renesas R-Car generation 3 USB 2.0 PHY driver"
141 depends on ARCH_RENESAS
142 depends on EXTCON
143 select GENERIC_PHY
144 help
145 Support for USB 2.0 PHY found on Renesas R-Car generation 3 SoCs.
146
147config OMAP_CONTROL_PHY
148 tristate "OMAP CONTROL PHY Driver"
149 depends on ARCH_OMAP2PLUS || COMPILE_TEST
150 help
151 Enable this to add support for the PHY part present in the control
152 module. This driver has API to power on the USB2 PHY and to write to
153 the mailbox. The mailbox is present only in omap4 and the register to
154 power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an
155 additional register to power on USB3 PHY/SATA PHY/PCIE PHY
156 (PIPE3 PHY).
157
158config OMAP_USB2
159 tristate "OMAP USB2 PHY Driver"
160 depends on ARCH_OMAP2PLUS
161 depends on USB_SUPPORT
162 select GENERIC_PHY
163 select USB_PHY
164 select OMAP_CONTROL_PHY
165 depends on OMAP_OCP2SCP
166 help
167 Enable this to support the transceiver that is part of SOC. This
168 driver takes care of all the PHY functionality apart from comparator.
169 The USB OTG controller communicates with the comparator using this
170 driver.
171
172config TI_PIPE3
173 tristate "TI PIPE3 PHY Driver"
174 depends on ARCH_OMAP2PLUS || COMPILE_TEST
175 select GENERIC_PHY
176 select OMAP_CONTROL_PHY
177 depends on OMAP_OCP2SCP
178 help
179 Enable this to support the PIPE3 PHY that is part of TI SOCs. This
180 driver takes care of all the PHY functionality apart from comparator.
181 This driver interacts with the "OMAP Control PHY Driver" to power
182 on/off the PHY.
183
184config TWL4030_USB
185 tristate "TWL4030 USB Transceiver Driver"
186 depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
187 depends on USB_SUPPORT
188 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't 'y'
189 select GENERIC_PHY
190 select USB_PHY
191 help
192 Enable this to support the USB OTG transceiver on TWL4030
193 family chips (including the TWL5030 and TPS659x0 devices).
194 This transceiver supports high and full speed devices plus,
195 in host mode, low speed.
196
197config PHY_EXYNOS_DP_VIDEO
198 tristate "EXYNOS SoC series Display Port PHY driver"
199 depends on OF
200 depends on ARCH_EXYNOS || COMPILE_TEST
201 default ARCH_EXYNOS
202 select GENERIC_PHY
203 help
204 Support for Display Port PHY found on Samsung EXYNOS SoCs.
205
206config BCM_KONA_USB2_PHY
207 tristate "Broadcom Kona USB2 PHY Driver"
208 depends on HAS_IOMEM
209 select GENERIC_PHY
210 help
211 Enable this to support the Broadcom Kona USB 2.0 PHY.
212
213config PHY_EXYNOS5250_SATA
214 tristate "Exynos5250 Sata SerDes/PHY driver"
215 depends on SOC_EXYNOS5250
216 depends on HAS_IOMEM
217 depends on OF
218 select GENERIC_PHY
219 select I2C
220 select I2C_S3C2410
221 select MFD_SYSCON
222 help
223 Enable this to support SATA SerDes/Phy found on Samsung's
224 Exynos5250 based SoCs.This SerDes/Phy supports SATA 1.5 Gb/s,
225 SATA 3.0 Gb/s, SATA 6.0 Gb/s speeds. It supports one SATA host
226 port to accept one SATA device.
227
228config PHY_HIX5HD2_SATA
229 tristate "HIX5HD2 SATA PHY Driver"
230 depends on ARCH_HIX5HD2 && OF && HAS_IOMEM
231 select GENERIC_PHY
232 select MFD_SYSCON
233 help
234 Support for SATA PHY on Hisilicon hix5hd2 Soc.
235
236config PHY_MT65XX_USB3 29config PHY_MT65XX_USB3
237 tristate "Mediatek USB3.0 PHY Driver" 30 tristate "Mediatek USB3.0 PHY Driver"
238 depends on ARCH_MEDIATEK && OF 31 depends on ARCH_MEDIATEK && OF
@@ -241,104 +34,6 @@ config PHY_MT65XX_USB3
241 Say 'Y' here to add support for Mediatek USB3.0 PHY driver, 34 Say 'Y' here to add support for Mediatek USB3.0 PHY driver,
242 it supports multiple usb2.0 and usb3.0 ports. 35 it supports multiple usb2.0 and usb3.0 ports.
243 36
244config PHY_HI6220_USB
245 tristate "hi6220 USB PHY support"
246 depends on (ARCH_HISI && ARM64) || COMPILE_TEST
247 select GENERIC_PHY
248 select MFD_SYSCON
249 help
250 Enable this to support the HISILICON HI6220 USB PHY.
251
252 To compile this driver as a module, choose M here.
253
254config PHY_SUN4I_USB
255 tristate "Allwinner sunxi SoC USB PHY driver"
256 depends on ARCH_SUNXI && HAS_IOMEM && OF
257 depends on RESET_CONTROLLER
258 depends on EXTCON
259 depends on POWER_SUPPLY
260 depends on USB_SUPPORT
261 select GENERIC_PHY
262 select USB_COMMON
263 help
264 Enable this to support the transceiver that is part of Allwinner
265 sunxi SoCs.
266
267 This driver controls the entire USB PHY block, both the USB OTG
268 parts, as well as the 2 regular USB 2 host PHYs.
269
270config PHY_SUN9I_USB
271 tristate "Allwinner sun9i SoC USB PHY driver"
272 depends on ARCH_SUNXI && HAS_IOMEM && OF
273 depends on RESET_CONTROLLER
274 depends on USB_SUPPORT
275 select USB_COMMON
276 select GENERIC_PHY
277 help
278 Enable this to support the transceiver that is part of Allwinner
279 sun9i SoCs.
280
281 This driver controls each individual USB 2 host PHY.
282
283config PHY_SAMSUNG_USB2
284 tristate "Samsung USB 2.0 PHY driver"
285 depends on HAS_IOMEM
286 depends on USB_EHCI_EXYNOS || USB_OHCI_EXYNOS || USB_DWC2
287 select GENERIC_PHY
288 select MFD_SYSCON
289 default ARCH_EXYNOS
290 help
291 Enable this to support the Samsung USB 2.0 PHY driver for Samsung
292 SoCs. This driver provides the interface for USB 2.0 PHY. Support
293 for particular PHYs will be enabled based on the SoC type in addition
294 to this driver.
295
296config PHY_S5PV210_USB2
297 bool "Support for S5PV210"
298 depends on PHY_SAMSUNG_USB2
299 depends on ARCH_S5PV210
300 help
301 Enable USB PHY support for S5PV210. This option requires that Samsung
302 USB 2.0 PHY driver is enabled and means that support for this
303 particular SoC is compiled in the driver. In case of S5PV210 two phys
304 are available - device and host.
305
306config PHY_EXYNOS4210_USB2
307 bool
308 depends on PHY_SAMSUNG_USB2
309 default CPU_EXYNOS4210
310
311config PHY_EXYNOS4X12_USB2
312 bool
313 depends on PHY_SAMSUNG_USB2
314 default SOC_EXYNOS3250 || SOC_EXYNOS4212 || SOC_EXYNOS4412
315
316config PHY_EXYNOS5250_USB2
317 bool
318 depends on PHY_SAMSUNG_USB2
319 default SOC_EXYNOS5250 || SOC_EXYNOS5420
320
321config PHY_EXYNOS5_USBDRD
322 tristate "Exynos5 SoC series USB DRD PHY driver"
323 depends on ARCH_EXYNOS && OF
324 depends on HAS_IOMEM
325 depends on USB_DWC3_EXYNOS
326 select GENERIC_PHY
327 select MFD_SYSCON
328 default y
329 help
330 Enable USB DRD PHY support for Exynos 5 SoC series.
331 This driver provides PHY interface for USB 3.0 DRD controller
332 present on Exynos5 SoC series.
333
334config PHY_EXYNOS_PCIE
335 bool "Exynos PCIe PHY driver"
336 depends on OF && (ARCH_EXYNOS || COMPILE_TEST)
337 select GENERIC_PHY
338 help
339 Enable PCIe PHY support for Exynos SoC series.
340 This driver provides PHY interface for Exynos PCIe controller.
341
342config PHY_PISTACHIO_USB 37config PHY_PISTACHIO_USB
343 tristate "IMG Pistachio USB2.0 PHY driver" 38 tristate "IMG Pistachio USB2.0 PHY driver"
344 depends on MACH_PISTACHIO 39 depends on MACH_PISTACHIO
@@ -346,83 +41,6 @@ config PHY_PISTACHIO_USB
346 help 41 help
347 Enable this to support the USB2.0 PHY on the IMG Pistachio SoC. 42 Enable this to support the USB2.0 PHY on the IMG Pistachio SoC.
348 43
349config PHY_QCOM_APQ8064_SATA
350 tristate "Qualcomm APQ8064 SATA SerDes/PHY driver"
351 depends on ARCH_QCOM
352 depends on HAS_IOMEM
353 depends on OF
354 select GENERIC_PHY
355
356config PHY_QCOM_IPQ806X_SATA
357 tristate "Qualcomm IPQ806x SATA SerDes/PHY driver"
358 depends on ARCH_QCOM
359 depends on HAS_IOMEM
360 depends on OF
361 select GENERIC_PHY
362
363config PHY_ROCKCHIP_USB
364 tristate "Rockchip USB2 PHY Driver"
365 depends on ARCH_ROCKCHIP && OF
366 select GENERIC_PHY
367 help
368 Enable this to support the Rockchip USB 2.0 PHY.
369
370config PHY_ROCKCHIP_INNO_USB2
371 tristate "Rockchip INNO USB2PHY Driver"
372 depends on (ARCH_ROCKCHIP || COMPILE_TEST) && OF
373 depends on COMMON_CLK
374 depends on EXTCON
375 depends on USB_SUPPORT
376 select GENERIC_PHY
377 select USB_COMMON
378 help
379 Support for Rockchip USB2.0 PHY with Innosilicon IP block.
380
381config PHY_ROCKCHIP_EMMC
382 tristate "Rockchip EMMC PHY Driver"
383 depends on ARCH_ROCKCHIP && OF
384 select GENERIC_PHY
385 help
386 Enable this to support the Rockchip EMMC PHY.
387
388config PHY_ROCKCHIP_DP
389 tristate "Rockchip Display Port PHY Driver"
390 depends on ARCH_ROCKCHIP && OF
391 select GENERIC_PHY
392 help
393 Enable this to support the Rockchip Display Port PHY.
394
395config PHY_ROCKCHIP_PCIE
396 tristate "Rockchip PCIe PHY Driver"
397 depends on (ARCH_ROCKCHIP && OF) || COMPILE_TEST
398 select GENERIC_PHY
399 select MFD_SYSCON
400 help
401 Enable this to support the Rockchip PCIe PHY.
402
403config PHY_ROCKCHIP_TYPEC
404 tristate "Rockchip TYPEC PHY Driver"
405 depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)
406 select EXTCON
407 select GENERIC_PHY
408 select RESET_CONTROLLER
409 help
410 Enable this to support the Rockchip USB TYPEC PHY.
411
412config PHY_ST_SPEAR1310_MIPHY
413 tristate "ST SPEAR1310-MIPHY driver"
414 select GENERIC_PHY
415 depends on MACH_SPEAR1310 || COMPILE_TEST
416 help
417 Support for ST SPEAr1310 MIPHY which can be used for PCIe and SATA.
418
419config PHY_ST_SPEAR1340_MIPHY
420 tristate "ST SPEAR1340-MIPHY driver"
421 select GENERIC_PHY
422 depends on MACH_SPEAR1340 || COMPILE_TEST
423 help
424 Support for ST SPEAr1340 MIPHY which can be used for PCIe and SATA.
425
426config PHY_XGENE 44config PHY_XGENE
427 tristate "APM X-Gene 15Gbps PHY support" 45 tristate "APM X-Gene 15Gbps PHY support"
428 depends on HAS_IOMEM && OF && (ARM64 || COMPILE_TEST) 46 depends on HAS_IOMEM && OF && (ARM64 || COMPILE_TEST)
@@ -430,104 +48,17 @@ config PHY_XGENE
430 help 48 help
431 This option enables support for APM X-Gene SoC multi-purpose PHY. 49 This option enables support for APM X-Gene SoC multi-purpose PHY.
432 50
433config PHY_STIH407_USB 51source "drivers/phy/allwinner/Kconfig"
434 tristate "STMicroelectronics USB2 picoPHY driver for STiH407 family" 52source "drivers/phy/amlogic/Kconfig"
435 depends on RESET_CONTROLLER 53source "drivers/phy/broadcom/Kconfig"
436 depends on ARCH_STI || COMPILE_TEST 54source "drivers/phy/hisilicon/Kconfig"
437 select GENERIC_PHY 55source "drivers/phy/marvell/Kconfig"
438 help 56source "drivers/phy/qualcomm/Kconfig"
439 Enable this support to enable the picoPHY device used by USB2 57source "drivers/phy/renesas/Kconfig"
440 and USB3 controllers on STMicroelectronics STiH407 SoC families. 58source "drivers/phy/rockchip/Kconfig"
441 59source "drivers/phy/samsung/Kconfig"
442config PHY_QCOM_QMP 60source "drivers/phy/st/Kconfig"
443 tristate "Qualcomm QMP PHY Driver"
444 depends on OF && COMMON_CLK && (ARCH_QCOM || COMPILE_TEST)
445 select GENERIC_PHY
446 help
447 Enable this to support the QMP PHY transceiver that is used
448 with controllers such as PCIe, UFS, and USB on Qualcomm chips.
449
450config PHY_QCOM_QUSB2
451 tristate "Qualcomm QUSB2 PHY Driver"
452 depends on OF && (ARCH_QCOM || COMPILE_TEST)
453 depends on NVMEM || !NVMEM
454 select GENERIC_PHY
455 help
456 Enable this to support the HighSpeed QUSB2 PHY transceiver for USB
457 controllers on Qualcomm chips. This driver supports the high-speed
458 PHY which is usually paired with either the ChipIdea or Synopsys DWC3
459 USB IPs on MSM SOCs.
460
461config PHY_QCOM_UFS
462 tristate "Qualcomm UFS PHY driver"
463 depends on OF && ARCH_QCOM
464 select GENERIC_PHY
465 help
466 Support for UFS PHY on QCOM chipsets.
467
468config PHY_QCOM_USB_HS
469 tristate "Qualcomm USB HS PHY module"
470 depends on USB_ULPI_BUS
471 depends on EXTCON || !EXTCON # if EXTCON=m, this cannot be built-in
472 select GENERIC_PHY
473 help
474 Support for the USB high-speed ULPI compliant phy on Qualcomm
475 chipsets.
476
477config PHY_QCOM_USB_HSIC
478 tristate "Qualcomm USB HSIC ULPI PHY module"
479 depends on USB_ULPI_BUS
480 select GENERIC_PHY
481 help
482 Support for the USB HSIC ULPI compliant PHY on QCOM chipsets.
483
484config PHY_TUSB1210
485 tristate "TI TUSB1210 ULPI PHY module"
486 depends on USB_ULPI_BUS
487 select GENERIC_PHY
488 help
489 Support for TI TUSB1210 USB ULPI PHY.
490
491config PHY_BRCM_SATA
492 tristate "Broadcom SATA PHY driver"
493 depends on ARCH_BRCMSTB || ARCH_BCM_IPROC || BMIPS_GENERIC || COMPILE_TEST
494 depends on OF
495 select GENERIC_PHY
496 default ARCH_BCM_IPROC
497 help
498 Enable this to support the Broadcom SATA PHY.
499 If unsure, say N.
500
501config PHY_CYGNUS_PCIE
502 tristate "Broadcom Cygnus PCIe PHY driver"
503 depends on OF && (ARCH_BCM_CYGNUS || COMPILE_TEST)
504 select GENERIC_PHY
505 default ARCH_BCM_CYGNUS
506 help
507 Enable this to support the Broadcom Cygnus PCIe PHY.
508 If unsure, say N.
509
510source "drivers/phy/tegra/Kconfig" 61source "drivers/phy/tegra/Kconfig"
511 62source "drivers/phy/ti/Kconfig"
512config PHY_NS2_PCIE
513 tristate "Broadcom Northstar2 PCIe PHY driver"
514 depends on OF && MDIO_BUS_MUX_BCM_IPROC
515 select GENERIC_PHY
516 default ARCH_BCM_IPROC
517 help
518 Enable this to support the Broadcom Northstar2 PCIe PHY.
519 If unsure, say N.
520
521config PHY_MESON8B_USB2
522 tristate "Meson8b and GXBB USB2 PHY driver"
523 default ARCH_MESON
524 depends on OF && (ARCH_MESON || COMPILE_TEST)
525 depends on USB_SUPPORT
526 select USB_COMMON
527 select GENERIC_PHY
528 help
529 Enable this to support the Meson USB2 PHYs found in Meson8b
530 and GXBB SoCs.
531 If unsure, say N.
532 63
533endmenu 64endmenu
diff --git a/drivers/phy/Makefile b/drivers/phy/Makefile
index f8047b4639fa..c1bd1fa3c853 100644
--- a/drivers/phy/Makefile
+++ b/drivers/phy/Makefile
@@ -3,64 +3,20 @@
3# 3#
4 4
5obj-$(CONFIG_GENERIC_PHY) += phy-core.o 5obj-$(CONFIG_GENERIC_PHY) += phy-core.o
6obj-$(CONFIG_PHY_BCM_NS_USB2) += phy-bcm-ns-usb2.o
7obj-$(CONFIG_PHY_BCM_NS_USB3) += phy-bcm-ns-usb3.o
8obj-$(CONFIG_PHY_BERLIN_USB) += phy-berlin-usb.o
9obj-$(CONFIG_PHY_BERLIN_SATA) += phy-berlin-sata.o
10obj-$(CONFIG_PHY_DA8XX_USB) += phy-da8xx-usb.o
11obj-$(CONFIG_PHY_DM816X_USB) += phy-dm816x-usb.o
12obj-$(CONFIG_ARMADA375_USBCLUSTER_PHY) += phy-armada375-usb2.o
13obj-$(CONFIG_BCM_KONA_USB2_PHY) += phy-bcm-kona-usb2.o
14obj-$(CONFIG_PHY_EXYNOS_DP_VIDEO) += phy-exynos-dp-video.o
15obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO) += phy-exynos-mipi-video.o
16obj-$(CONFIG_PHY_LPC18XX_USB_OTG) += phy-lpc18xx-usb-otg.o 6obj-$(CONFIG_PHY_LPC18XX_USB_OTG) += phy-lpc18xx-usb-otg.o
17obj-$(CONFIG_PHY_PXA_28NM_USB2) += phy-pxa-28nm-usb2.o
18obj-$(CONFIG_PHY_PXA_28NM_HSIC) += phy-pxa-28nm-hsic.o
19obj-$(CONFIG_PHY_MVEBU_SATA) += phy-mvebu-sata.o
20obj-$(CONFIG_PHY_MIPHY28LP) += phy-miphy28lp.o
21obj-$(CONFIG_PHY_RCAR_GEN2) += phy-rcar-gen2.o
22obj-$(CONFIG_PHY_RCAR_GEN3_USB2) += phy-rcar-gen3-usb2.o
23obj-$(CONFIG_OMAP_CONTROL_PHY) += phy-omap-control.o
24obj-$(CONFIG_OMAP_USB2) += phy-omap-usb2.o
25obj-$(CONFIG_TI_PIPE3) += phy-ti-pipe3.o
26obj-$(CONFIG_TWL4030_USB) += phy-twl4030-usb.o
27obj-$(CONFIG_PHY_EXYNOS5250_SATA) += phy-exynos5250-sata.o
28obj-$(CONFIG_PHY_HIX5HD2_SATA) += phy-hix5hd2-sata.o
29obj-$(CONFIG_PHY_HI6220_USB) += phy-hi6220-usb.o
30obj-$(CONFIG_PHY_MT65XX_USB3) += phy-mt65xx-usb3.o 7obj-$(CONFIG_PHY_MT65XX_USB3) += phy-mt65xx-usb3.o
31obj-$(CONFIG_PHY_SUN4I_USB) += phy-sun4i-usb.o
32obj-$(CONFIG_PHY_SUN9I_USB) += phy-sun9i-usb.o
33obj-$(CONFIG_PHY_SAMSUNG_USB2) += phy-exynos-usb2.o
34phy-exynos-usb2-y += phy-samsung-usb2.o
35phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4210_USB2) += phy-exynos4210-usb2.o
36phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4X12_USB2) += phy-exynos4x12-usb2.o
37phy-exynos-usb2-$(CONFIG_PHY_EXYNOS5250_USB2) += phy-exynos5250-usb2.o
38phy-exynos-usb2-$(CONFIG_PHY_S5PV210_USB2) += phy-s5pv210-usb2.o
39obj-$(CONFIG_PHY_EXYNOS5_USBDRD) += phy-exynos5-usbdrd.o
40obj-$(CONFIG_PHY_EXYNOS_PCIE) += phy-exynos-pcie.o
41obj-$(CONFIG_PHY_QCOM_APQ8064_SATA) += phy-qcom-apq8064-sata.o
42obj-$(CONFIG_PHY_ROCKCHIP_USB) += phy-rockchip-usb.o
43obj-$(CONFIG_PHY_ROCKCHIP_INNO_USB2) += phy-rockchip-inno-usb2.o
44obj-$(CONFIG_PHY_ROCKCHIP_EMMC) += phy-rockchip-emmc.o
45obj-$(CONFIG_PHY_ROCKCHIP_PCIE) += phy-rockchip-pcie.o
46obj-$(CONFIG_PHY_ROCKCHIP_DP) += phy-rockchip-dp.o
47obj-$(CONFIG_PHY_ROCKCHIP_TYPEC) += phy-rockchip-typec.o
48obj-$(CONFIG_PHY_QCOM_IPQ806X_SATA) += phy-qcom-ipq806x-sata.o
49obj-$(CONFIG_PHY_ST_SPEAR1310_MIPHY) += phy-spear1310-miphy.o
50obj-$(CONFIG_PHY_ST_SPEAR1340_MIPHY) += phy-spear1340-miphy.o
51obj-$(CONFIG_PHY_XGENE) += phy-xgene.o 8obj-$(CONFIG_PHY_XGENE) += phy-xgene.o
52obj-$(CONFIG_PHY_STIH407_USB) += phy-stih407-usb.o
53obj-$(CONFIG_PHY_QCOM_QMP) += phy-qcom-qmp.o
54obj-$(CONFIG_PHY_QCOM_QUSB2) += phy-qcom-qusb2.o
55obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs.o
56obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs-qmp-20nm.o
57obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs-qmp-14nm.o
58obj-$(CONFIG_PHY_QCOM_USB_HS) += phy-qcom-usb-hs.o
59obj-$(CONFIG_PHY_QCOM_USB_HSIC) += phy-qcom-usb-hsic.o
60obj-$(CONFIG_PHY_TUSB1210) += phy-tusb1210.o
61obj-$(CONFIG_PHY_BRCM_SATA) += phy-brcm-sata.o
62obj-$(CONFIG_PHY_PISTACHIO_USB) += phy-pistachio-usb.o 9obj-$(CONFIG_PHY_PISTACHIO_USB) += phy-pistachio-usb.o
63obj-$(CONFIG_PHY_CYGNUS_PCIE) += phy-bcm-cygnus-pcie.o 10
64obj-$(CONFIG_ARCH_TEGRA) += tegra/ 11obj-$(CONFIG_ARCH_SUNXI) += allwinner/
65obj-$(CONFIG_PHY_NS2_PCIE) += phy-bcm-ns2-pcie.o 12obj-$(CONFIG_ARCH_MESON) += amlogic/
66obj-$(CONFIG_PHY_MESON8B_USB2) += phy-meson8b-usb2.o 13obj-$(CONFIG_ARCH_RENESAS) += renesas/
14obj-$(CONFIG_ARCH_ROCKCHIP) += rockchip/
15obj-$(CONFIG_ARCH_TEGRA) += tegra/
16obj-y += broadcom/ \
17 hisilicon/ \
18 marvell/ \
19 qualcomm/ \
20 samsung/ \
21 st/ \
22 ti/
diff --git a/drivers/phy/allwinner/Kconfig b/drivers/phy/allwinner/Kconfig
new file mode 100644
index 000000000000..cdc1e745ba47
--- /dev/null
+++ b/drivers/phy/allwinner/Kconfig
@@ -0,0 +1,31 @@
1#
2# Phy drivers for Allwinner platforms
3#
4config PHY_SUN4I_USB
5 tristate "Allwinner sunxi SoC USB PHY driver"
6 depends on ARCH_SUNXI && HAS_IOMEM && OF
7 depends on RESET_CONTROLLER
8 depends on EXTCON
9 depends on POWER_SUPPLY
10 depends on USB_SUPPORT
11 select GENERIC_PHY
12 select USB_COMMON
13 help
14 Enable this to support the transceiver that is part of Allwinner
15 sunxi SoCs.
16
17 This driver controls the entire USB PHY block, both the USB OTG
18 parts, as well as the 2 regular USB 2 host PHYs.
19
20config PHY_SUN9I_USB
21 tristate "Allwinner sun9i SoC USB PHY driver"
22 depends on ARCH_SUNXI && HAS_IOMEM && OF
23 depends on RESET_CONTROLLER
24 depends on USB_SUPPORT
25 select USB_COMMON
26 select GENERIC_PHY
27 help
28 Enable this to support the transceiver that is part of Allwinner
29 sun9i SoCs.
30
31 This driver controls each individual USB 2 host PHY.
diff --git a/drivers/phy/allwinner/Makefile b/drivers/phy/allwinner/Makefile
new file mode 100644
index 000000000000..8605529c01a1
--- /dev/null
+++ b/drivers/phy/allwinner/Makefile
@@ -0,0 +1,2 @@
1obj-$(CONFIG_PHY_SUN4I_USB) += phy-sun4i-usb.o
2obj-$(CONFIG_PHY_SUN9I_USB) += phy-sun9i-usb.o
diff --git a/drivers/phy/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c
index bbf06cfe5898..bbf06cfe5898 100644
--- a/drivers/phy/phy-sun4i-usb.c
+++ b/drivers/phy/allwinner/phy-sun4i-usb.c
diff --git a/drivers/phy/phy-sun9i-usb.c b/drivers/phy/allwinner/phy-sun9i-usb.c
index 28fce4bce638..28fce4bce638 100644
--- a/drivers/phy/phy-sun9i-usb.c
+++ b/drivers/phy/allwinner/phy-sun9i-usb.c
diff --git a/drivers/phy/amlogic/Kconfig b/drivers/phy/amlogic/Kconfig
new file mode 100644
index 000000000000..edcd5b65179f
--- /dev/null
+++ b/drivers/phy/amlogic/Kconfig
@@ -0,0 +1,14 @@
1#
2# Phy drivers for Amlogic platforms
3#
4config PHY_MESON8B_USB2
5 tristate "Meson8b and GXBB USB2 PHY driver"
6 default ARCH_MESON
7 depends on OF && (ARCH_MESON || COMPILE_TEST)
8 depends on USB_SUPPORT
9 select USB_COMMON
10 select GENERIC_PHY
11 help
12 Enable this to support the Meson USB2 PHYs found in Meson8b
13 and GXBB SoCs.
14 If unsure, say N.
diff --git a/drivers/phy/amlogic/Makefile b/drivers/phy/amlogic/Makefile
new file mode 100644
index 000000000000..47b6eecc3864
--- /dev/null
+++ b/drivers/phy/amlogic/Makefile
@@ -0,0 +1 @@
obj-$(CONFIG_PHY_MESON8B_USB2) += phy-meson8b-usb2.o
diff --git a/drivers/phy/phy-meson8b-usb2.c b/drivers/phy/amlogic/phy-meson8b-usb2.c
index 30f56a6a411f..30f56a6a411f 100644
--- a/drivers/phy/phy-meson8b-usb2.c
+++ b/drivers/phy/amlogic/phy-meson8b-usb2.c
diff --git a/drivers/phy/broadcom/Kconfig b/drivers/phy/broadcom/Kconfig
new file mode 100644
index 000000000000..d2d99023ec50
--- /dev/null
+++ b/drivers/phy/broadcom/Kconfig
@@ -0,0 +1,55 @@
1#
2# Phy drivers for Broadcom platforms
3#
4config PHY_CYGNUS_PCIE
5 tristate "Broadcom Cygnus PCIe PHY driver"
6 depends on OF && (ARCH_BCM_CYGNUS || COMPILE_TEST)
7 select GENERIC_PHY
8 default ARCH_BCM_CYGNUS
9 help
10 Enable this to support the Broadcom Cygnus PCIe PHY.
11 If unsure, say N.
12
13config BCM_KONA_USB2_PHY
14 tristate "Broadcom Kona USB2 PHY Driver"
15 depends on HAS_IOMEM
16 select GENERIC_PHY
17 help
18 Enable this to support the Broadcom Kona USB 2.0 PHY.
19
20config PHY_BCM_NS_USB2
21 tristate "Broadcom Northstar USB 2.0 PHY Driver"
22 depends on ARCH_BCM_IPROC || COMPILE_TEST
23 depends on HAS_IOMEM && OF
24 select GENERIC_PHY
25 help
26 Enable this to support Broadcom USB 2.0 PHY connected to the USB
27 controller on Northstar family.
28
29config PHY_BCM_NS_USB3
30 tristate "Broadcom Northstar USB 3.0 PHY Driver"
31 depends on ARCH_BCM_IPROC || COMPILE_TEST
32 depends on HAS_IOMEM && OF
33 select GENERIC_PHY
34 help
35 Enable this to support Broadcom USB 3.0 PHY connected to the USB
36 controller on Northstar family.
37
38config PHY_NS2_PCIE
39 tristate "Broadcom Northstar2 PCIe PHY driver"
40 depends on OF && MDIO_BUS_MUX_BCM_IPROC
41 select GENERIC_PHY
42 default ARCH_BCM_IPROC
43 help
44 Enable this to support the Broadcom Northstar2 PCIe PHY.
45 If unsure, say N.
46
47config PHY_BRCM_SATA
48 tristate "Broadcom SATA PHY driver"
49 depends on ARCH_BRCMSTB || ARCH_BCM_IPROC || BMIPS_GENERIC || COMPILE_TEST
50 depends on OF
51 select GENERIC_PHY
52 default ARCH_BCM_IPROC
53 help
54 Enable this to support the Broadcom SATA PHY.
55 If unsure, say N.
diff --git a/drivers/phy/broadcom/Makefile b/drivers/phy/broadcom/Makefile
new file mode 100644
index 000000000000..357a7d16529f
--- /dev/null
+++ b/drivers/phy/broadcom/Makefile
@@ -0,0 +1,6 @@
1obj-$(CONFIG_PHY_CYGNUS_PCIE) += phy-bcm-cygnus-pcie.o
2obj-$(CONFIG_BCM_KONA_USB2_PHY) += phy-bcm-kona-usb2.o
3obj-$(CONFIG_PHY_BCM_NS_USB2) += phy-bcm-ns-usb2.o
4obj-$(CONFIG_PHY_BCM_NS_USB3) += phy-bcm-ns-usb3.o
5obj-$(CONFIG_PHY_NS2_PCIE) += phy-bcm-ns2-pcie.o
6obj-$(CONFIG_PHY_BRCM_SATA) += phy-brcm-sata.o
diff --git a/drivers/phy/phy-bcm-cygnus-pcie.c b/drivers/phy/broadcom/phy-bcm-cygnus-pcie.c
index 0f4ac5d63cff..0f4ac5d63cff 100644
--- a/drivers/phy/phy-bcm-cygnus-pcie.c
+++ b/drivers/phy/broadcom/phy-bcm-cygnus-pcie.c
diff --git a/drivers/phy/phy-bcm-kona-usb2.c b/drivers/phy/broadcom/phy-bcm-kona-usb2.c
index 7b67fe49e30b..7b67fe49e30b 100644
--- a/drivers/phy/phy-bcm-kona-usb2.c
+++ b/drivers/phy/broadcom/phy-bcm-kona-usb2.c
diff --git a/drivers/phy/phy-bcm-ns-usb2.c b/drivers/phy/broadcom/phy-bcm-ns-usb2.c
index 58dff80e9386..58dff80e9386 100644
--- a/drivers/phy/phy-bcm-ns-usb2.c
+++ b/drivers/phy/broadcom/phy-bcm-ns-usb2.c
diff --git a/drivers/phy/phy-bcm-ns-usb3.c b/drivers/phy/broadcom/phy-bcm-ns-usb3.c
index 22b5e7047fa6..22b5e7047fa6 100644
--- a/drivers/phy/phy-bcm-ns-usb3.c
+++ b/drivers/phy/broadcom/phy-bcm-ns-usb3.c
diff --git a/drivers/phy/phy-bcm-ns2-pcie.c b/drivers/phy/broadcom/phy-bcm-ns2-pcie.c
index 4c7d11d2b378..4c7d11d2b378 100644
--- a/drivers/phy/phy-bcm-ns2-pcie.c
+++ b/drivers/phy/broadcom/phy-bcm-ns2-pcie.c
diff --git a/drivers/phy/phy-brcm-sata.c b/drivers/phy/broadcom/phy-brcm-sata.c
index ccbc3d994998..ccbc3d994998 100644
--- a/drivers/phy/phy-brcm-sata.c
+++ b/drivers/phy/broadcom/phy-brcm-sata.c
diff --git a/drivers/phy/hisilicon/Kconfig b/drivers/phy/hisilicon/Kconfig
new file mode 100644
index 000000000000..6164c4cd0f65
--- /dev/null
+++ b/drivers/phy/hisilicon/Kconfig
@@ -0,0 +1,20 @@
1#
2# Phy drivers for Hisilicon platforms
3#
4config PHY_HI6220_USB
5 tristate "hi6220 USB PHY support"
6 depends on (ARCH_HISI && ARM64) || COMPILE_TEST
7 select GENERIC_PHY
8 select MFD_SYSCON
9 help
10 Enable this to support the HISILICON HI6220 USB PHY.
11
12 To compile this driver as a module, choose M here.
13
14config PHY_HIX5HD2_SATA
15 tristate "HIX5HD2 SATA PHY Driver"
16 depends on ARCH_HIX5HD2 && OF && HAS_IOMEM
17 select GENERIC_PHY
18 select MFD_SYSCON
19 help
20 Support for SATA PHY on Hisilicon hix5hd2 Soc.
diff --git a/drivers/phy/hisilicon/Makefile b/drivers/phy/hisilicon/Makefile
new file mode 100644
index 000000000000..541b348187a8
--- /dev/null
+++ b/drivers/phy/hisilicon/Makefile
@@ -0,0 +1,2 @@
1obj-$(CONFIG_PHY_HI6220_USB) += phy-hi6220-usb.o
2obj-$(CONFIG_PHY_HIX5HD2_SATA) += phy-hix5hd2-sata.o
diff --git a/drivers/phy/phy-hi6220-usb.c b/drivers/phy/hisilicon/phy-hi6220-usb.c
index 398c1021deec..398c1021deec 100644
--- a/drivers/phy/phy-hi6220-usb.c
+++ b/drivers/phy/hisilicon/phy-hi6220-usb.c
diff --git a/drivers/phy/phy-hix5hd2-sata.c b/drivers/phy/hisilicon/phy-hix5hd2-sata.c
index e5ab3aa78b9d..e5ab3aa78b9d 100644
--- a/drivers/phy/phy-hix5hd2-sata.c
+++ b/drivers/phy/hisilicon/phy-hix5hd2-sata.c
diff --git a/drivers/phy/marvell/Kconfig b/drivers/phy/marvell/Kconfig
new file mode 100644
index 000000000000..048d8893bc2e
--- /dev/null
+++ b/drivers/phy/marvell/Kconfig
@@ -0,0 +1,50 @@
1#
2# Phy drivers for Marvell platforms
3#
4config ARMADA375_USBCLUSTER_PHY
5 def_bool y
6 depends on MACH_ARMADA_375 || COMPILE_TEST
7 depends on OF && HAS_IOMEM
8 select GENERIC_PHY
9
10config PHY_BERLIN_SATA
11 tristate "Marvell Berlin SATA PHY driver"
12 depends on ARCH_BERLIN && HAS_IOMEM && OF
13 select GENERIC_PHY
14 help
15 Enable this to support the SATA PHY on Marvell Berlin SoCs.
16
17config PHY_BERLIN_USB
18 tristate "Marvell Berlin USB PHY Driver"
19 depends on ARCH_BERLIN && RESET_CONTROLLER && HAS_IOMEM && OF
20 select GENERIC_PHY
21 help
22 Enable this to support the USB PHY on Marvell Berlin SoCs.
23
24config PHY_MVEBU_SATA
25 def_bool y
26 depends on ARCH_DOVE || MACH_DOVE || MACH_KIRKWOOD
27 depends on OF
28 select GENERIC_PHY
29
30config PHY_PXA_28NM_HSIC
31 tristate "Marvell USB HSIC 28nm PHY Driver"
32 depends on HAS_IOMEM
33 select GENERIC_PHY
34 help
35 Enable this to support Marvell USB HSIC PHY driver for Marvell
36 SoC. This driver will do the PHY initialization and shutdown.
37 The PHY driver will be used by Marvell ehci driver.
38
39 To compile this driver as a module, choose M here.
40
41config PHY_PXA_28NM_USB2
42 tristate "Marvell USB 2.0 28nm PHY Driver"
43 depends on HAS_IOMEM
44 select GENERIC_PHY
45 help
46 Enable this to support Marvell USB 2.0 PHY driver for Marvell
47 SoC. This driver will do the PHY initialization and shutdown.
48 The PHY driver will be used by Marvell udc/ehci/otg driver.
49
50 To compile this driver as a module, choose M here.
diff --git a/drivers/phy/marvell/Makefile b/drivers/phy/marvell/Makefile
new file mode 100644
index 000000000000..3fc188f59118
--- /dev/null
+++ b/drivers/phy/marvell/Makefile
@@ -0,0 +1,6 @@
1obj-$(CONFIG_ARMADA375_USBCLUSTER_PHY) += phy-armada375-usb2.o
2obj-$(CONFIG_PHY_BERLIN_SATA) += phy-berlin-sata.o
3obj-$(CONFIG_PHY_BERLIN_USB) += phy-berlin-usb.o
4obj-$(CONFIG_PHY_MVEBU_SATA) += phy-mvebu-sata.o
5obj-$(CONFIG_PHY_PXA_28NM_HSIC) += phy-pxa-28nm-hsic.o
6obj-$(CONFIG_PHY_PXA_28NM_USB2) += phy-pxa-28nm-usb2.o
diff --git a/drivers/phy/phy-armada375-usb2.c b/drivers/phy/marvell/phy-armada375-usb2.c
index 1a3db288c0a9..1a3db288c0a9 100644
--- a/drivers/phy/phy-armada375-usb2.c
+++ b/drivers/phy/marvell/phy-armada375-usb2.c
diff --git a/drivers/phy/phy-berlin-sata.c b/drivers/phy/marvell/phy-berlin-sata.c
index 2c7a57f2d595..2c7a57f2d595 100644
--- a/drivers/phy/phy-berlin-sata.c
+++ b/drivers/phy/marvell/phy-berlin-sata.c
diff --git a/drivers/phy/phy-berlin-usb.c b/drivers/phy/marvell/phy-berlin-usb.c
index 2017751ede26..2017751ede26 100644
--- a/drivers/phy/phy-berlin-usb.c
+++ b/drivers/phy/marvell/phy-berlin-usb.c
diff --git a/drivers/phy/phy-mvebu-sata.c b/drivers/phy/marvell/phy-mvebu-sata.c
index 768ce92e81ce..768ce92e81ce 100644
--- a/drivers/phy/phy-mvebu-sata.c
+++ b/drivers/phy/marvell/phy-mvebu-sata.c
diff --git a/drivers/phy/phy-pxa-28nm-hsic.c b/drivers/phy/marvell/phy-pxa-28nm-hsic.c
index 234aacf4db20..234aacf4db20 100644
--- a/drivers/phy/phy-pxa-28nm-hsic.c
+++ b/drivers/phy/marvell/phy-pxa-28nm-hsic.c
diff --git a/drivers/phy/phy-pxa-28nm-usb2.c b/drivers/phy/marvell/phy-pxa-28nm-usb2.c
index 37e9c8ca4983..37e9c8ca4983 100644
--- a/drivers/phy/phy-pxa-28nm-usb2.c
+++ b/drivers/phy/marvell/phy-pxa-28nm-usb2.c
diff --git a/drivers/phy/qualcomm/Kconfig b/drivers/phy/qualcomm/Kconfig
new file mode 100644
index 000000000000..7bfa64baf837
--- /dev/null
+++ b/drivers/phy/qualcomm/Kconfig
@@ -0,0 +1,58 @@
1#
2# Phy drivers for Qualcomm platforms
3#
4config PHY_QCOM_APQ8064_SATA
5 tristate "Qualcomm APQ8064 SATA SerDes/PHY driver"
6 depends on ARCH_QCOM
7 depends on HAS_IOMEM
8 depends on OF
9 select GENERIC_PHY
10
11config PHY_QCOM_IPQ806X_SATA
12 tristate "Qualcomm IPQ806x SATA SerDes/PHY driver"
13 depends on ARCH_QCOM
14 depends on HAS_IOMEM
15 depends on OF
16 select GENERIC_PHY
17
18config PHY_QCOM_QMP
19 tristate "Qualcomm QMP PHY Driver"
20 depends on OF && COMMON_CLK && (ARCH_QCOM || COMPILE_TEST)
21 select GENERIC_PHY
22 help
23 Enable this to support the QMP PHY transceiver that is used
24 with controllers such as PCIe, UFS, and USB on Qualcomm chips.
25
26config PHY_QCOM_QUSB2
27 tristate "Qualcomm QUSB2 PHY Driver"
28 depends on OF && (ARCH_QCOM || COMPILE_TEST)
29 depends on NVMEM || !NVMEM
30 select GENERIC_PHY
31 help
32 Enable this to support the HighSpeed QUSB2 PHY transceiver for USB
33 controllers on Qualcomm chips. This driver supports the high-speed
34 PHY which is usually paired with either the ChipIdea or Synopsys DWC3
35 USB IPs on MSM SOCs.
36
37config PHY_QCOM_UFS
38 tristate "Qualcomm UFS PHY driver"
39 depends on OF && ARCH_QCOM
40 select GENERIC_PHY
41 help
42 Support for UFS PHY on QCOM chipsets.
43
44config PHY_QCOM_USB_HS
45 tristate "Qualcomm USB HS PHY module"
46 depends on USB_ULPI_BUS
47 depends on EXTCON || !EXTCON # if EXTCON=m, this cannot be built-in
48 select GENERIC_PHY
49 help
50 Support for the USB high-speed ULPI compliant phy on Qualcomm
51 chipsets.
52
53config PHY_QCOM_USB_HSIC
54 tristate "Qualcomm USB HSIC ULPI PHY module"
55 depends on USB_ULPI_BUS
56 select GENERIC_PHY
57 help
58 Support for the USB HSIC ULPI compliant PHY on QCOM chipsets.
diff --git a/drivers/phy/qualcomm/Makefile b/drivers/phy/qualcomm/Makefile
new file mode 100644
index 000000000000..2e183d7695fd
--- /dev/null
+++ b/drivers/phy/qualcomm/Makefile
@@ -0,0 +1,9 @@
1obj-$(CONFIG_PHY_QCOM_APQ8064_SATA) += phy-qcom-apq8064-sata.o
2obj-$(CONFIG_PHY_QCOM_IPQ806X_SATA) += phy-qcom-ipq806x-sata.o
3obj-$(CONFIG_PHY_QCOM_QMP) += phy-qcom-qmp.o
4obj-$(CONFIG_PHY_QCOM_QUSB2) += phy-qcom-qusb2.o
5obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs.o
6obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs-qmp-14nm.o
7obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs-qmp-20nm.o
8obj-$(CONFIG_PHY_QCOM_USB_HS) += phy-qcom-usb-hs.o
9obj-$(CONFIG_PHY_QCOM_USB_HSIC) += phy-qcom-usb-hsic.o
diff --git a/drivers/phy/phy-qcom-apq8064-sata.c b/drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
index 69ce2afac015..69ce2afac015 100644
--- a/drivers/phy/phy-qcom-apq8064-sata.c
+++ b/drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
diff --git a/drivers/phy/phy-qcom-ipq806x-sata.c b/drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
index 0ad127cc9298..0ad127cc9298 100644
--- a/drivers/phy/phy-qcom-ipq806x-sata.c
+++ b/drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
diff --git a/drivers/phy/phy-qcom-qmp.c b/drivers/phy/qualcomm/phy-qcom-qmp.c
index 78ca62897784..78ca62897784 100644
--- a/drivers/phy/phy-qcom-qmp.c
+++ b/drivers/phy/qualcomm/phy-qcom-qmp.c
diff --git a/drivers/phy/phy-qcom-qusb2.c b/drivers/phy/qualcomm/phy-qcom-qusb2.c
index 6c575244c0fb..6c575244c0fb 100644
--- a/drivers/phy/phy-qcom-qusb2.c
+++ b/drivers/phy/qualcomm/phy-qcom-qusb2.c
diff --git a/drivers/phy/phy-qcom-ufs-i.h b/drivers/phy/qualcomm/phy-qcom-ufs-i.h
index 13b02b7de30b..13b02b7de30b 100644
--- a/drivers/phy/phy-qcom-ufs-i.h
+++ b/drivers/phy/qualcomm/phy-qcom-ufs-i.h
diff --git a/drivers/phy/phy-qcom-ufs-qmp-14nm.c b/drivers/phy/qualcomm/phy-qcom-ufs-qmp-14nm.c
index 12a1b498dc4b..12a1b498dc4b 100644
--- a/drivers/phy/phy-qcom-ufs-qmp-14nm.c
+++ b/drivers/phy/qualcomm/phy-qcom-ufs-qmp-14nm.c
diff --git a/drivers/phy/phy-qcom-ufs-qmp-14nm.h b/drivers/phy/qualcomm/phy-qcom-ufs-qmp-14nm.h
index 3aefdbacbcd0..3aefdbacbcd0 100644
--- a/drivers/phy/phy-qcom-ufs-qmp-14nm.h
+++ b/drivers/phy/qualcomm/phy-qcom-ufs-qmp-14nm.h
diff --git a/drivers/phy/phy-qcom-ufs-qmp-20nm.c b/drivers/phy/qualcomm/phy-qcom-ufs-qmp-20nm.c
index 4f68acb58b73..4f68acb58b73 100644
--- a/drivers/phy/phy-qcom-ufs-qmp-20nm.c
+++ b/drivers/phy/qualcomm/phy-qcom-ufs-qmp-20nm.c
diff --git a/drivers/phy/phy-qcom-ufs-qmp-20nm.h b/drivers/phy/qualcomm/phy-qcom-ufs-qmp-20nm.h
index 4f3076bb3d71..4f3076bb3d71 100644
--- a/drivers/phy/phy-qcom-ufs-qmp-20nm.h
+++ b/drivers/phy/qualcomm/phy-qcom-ufs-qmp-20nm.h
diff --git a/drivers/phy/phy-qcom-ufs.c b/drivers/phy/qualcomm/phy-qcom-ufs.c
index 43865ef340e2..43865ef340e2 100644
--- a/drivers/phy/phy-qcom-ufs.c
+++ b/drivers/phy/qualcomm/phy-qcom-ufs.c
diff --git a/drivers/phy/phy-qcom-usb-hs.c b/drivers/phy/qualcomm/phy-qcom-usb-hs.c
index 4b20abc3ae2f..4b20abc3ae2f 100644
--- a/drivers/phy/phy-qcom-usb-hs.c
+++ b/drivers/phy/qualcomm/phy-qcom-usb-hs.c
diff --git a/drivers/phy/phy-qcom-usb-hsic.c b/drivers/phy/qualcomm/phy-qcom-usb-hsic.c
index c110563a73cb..c110563a73cb 100644
--- a/drivers/phy/phy-qcom-usb-hsic.c
+++ b/drivers/phy/qualcomm/phy-qcom-usb-hsic.c
diff --git a/drivers/phy/renesas/Kconfig b/drivers/phy/renesas/Kconfig
new file mode 100644
index 000000000000..432e2715e9c4
--- /dev/null
+++ b/drivers/phy/renesas/Kconfig
@@ -0,0 +1,17 @@
1#
2# Phy drivers for Renesas platforms
3#
4config PHY_RCAR_GEN2
5 tristate "Renesas R-Car generation 2 USB PHY driver"
6 depends on ARCH_RENESAS
7 depends on GENERIC_PHY
8 help
9 Support for USB PHY found on Renesas R-Car generation 2 SoCs.
10
11config PHY_RCAR_GEN3_USB2
12 tristate "Renesas R-Car generation 3 USB 2.0 PHY driver"
13 depends on ARCH_RENESAS
14 depends on EXTCON
15 select GENERIC_PHY
16 help
17 Support for USB 2.0 PHY found on Renesas R-Car generation 3 SoCs.
diff --git a/drivers/phy/renesas/Makefile b/drivers/phy/renesas/Makefile
new file mode 100644
index 000000000000..695241aebf69
--- /dev/null
+++ b/drivers/phy/renesas/Makefile
@@ -0,0 +1,2 @@
1obj-$(CONFIG_PHY_RCAR_GEN2) += phy-rcar-gen2.o
2obj-$(CONFIG_PHY_RCAR_GEN3_USB2) += phy-rcar-gen3-usb2.o
diff --git a/drivers/phy/phy-rcar-gen2.c b/drivers/phy/renesas/phy-rcar-gen2.c
index 97d4dd6ea924..97d4dd6ea924 100644
--- a/drivers/phy/phy-rcar-gen2.c
+++ b/drivers/phy/renesas/phy-rcar-gen2.c
diff --git a/drivers/phy/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
index 54c34298a000..54c34298a000 100644
--- a/drivers/phy/phy-rcar-gen3-usb2.c
+++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
diff --git a/drivers/phy/rockchip/Kconfig b/drivers/phy/rockchip/Kconfig
new file mode 100644
index 000000000000..f5325b2b679e
--- /dev/null
+++ b/drivers/phy/rockchip/Kconfig
@@ -0,0 +1,51 @@
1#
2# Phy drivers for Rockchip platforms
3#
4config PHY_ROCKCHIP_DP
5 tristate "Rockchip Display Port PHY Driver"
6 depends on ARCH_ROCKCHIP && OF
7 select GENERIC_PHY
8 help
9 Enable this to support the Rockchip Display Port PHY.
10
11config PHY_ROCKCHIP_EMMC
12 tristate "Rockchip EMMC PHY Driver"
13 depends on ARCH_ROCKCHIP && OF
14 select GENERIC_PHY
15 help
16 Enable this to support the Rockchip EMMC PHY.
17
18config PHY_ROCKCHIP_INNO_USB2
19 tristate "Rockchip INNO USB2PHY Driver"
20 depends on (ARCH_ROCKCHIP || COMPILE_TEST) && OF
21 depends on COMMON_CLK
22 depends on EXTCON
23 depends on USB_SUPPORT
24 select GENERIC_PHY
25 select USB_COMMON
26 help
27 Support for Rockchip USB2.0 PHY with Innosilicon IP block.
28
29config PHY_ROCKCHIP_PCIE
30 tristate "Rockchip PCIe PHY Driver"
31 depends on (ARCH_ROCKCHIP && OF) || COMPILE_TEST
32 select GENERIC_PHY
33 select MFD_SYSCON
34 help
35 Enable this to support the Rockchip PCIe PHY.
36
37config PHY_ROCKCHIP_TYPEC
38 tristate "Rockchip TYPEC PHY Driver"
39 depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)
40 select EXTCON
41 select GENERIC_PHY
42 select RESET_CONTROLLER
43 help
44 Enable this to support the Rockchip USB TYPEC PHY.
45
46config PHY_ROCKCHIP_USB
47 tristate "Rockchip USB2 PHY Driver"
48 depends on ARCH_ROCKCHIP && OF
49 select GENERIC_PHY
50 help
51 Enable this to support the Rockchip USB 2.0 PHY.
diff --git a/drivers/phy/rockchip/Makefile b/drivers/phy/rockchip/Makefile
new file mode 100644
index 000000000000..bd0acdf38e0f
--- /dev/null
+++ b/drivers/phy/rockchip/Makefile
@@ -0,0 +1,6 @@
1obj-$(CONFIG_PHY_ROCKCHIP_DP) += phy-rockchip-dp.o
2obj-$(CONFIG_PHY_ROCKCHIP_EMMC) += phy-rockchip-emmc.o
3obj-$(CONFIG_PHY_ROCKCHIP_INNO_USB2) += phy-rockchip-inno-usb2.o
4obj-$(CONFIG_PHY_ROCKCHIP_PCIE) += phy-rockchip-pcie.o
5obj-$(CONFIG_PHY_ROCKCHIP_TYPEC) += phy-rockchip-typec.o
6obj-$(CONFIG_PHY_ROCKCHIP_USB) += phy-rockchip-usb.o
diff --git a/drivers/phy/phy-rockchip-dp.c b/drivers/phy/rockchip/phy-rockchip-dp.c
index 8b267a746576..8b267a746576 100644
--- a/drivers/phy/phy-rockchip-dp.c
+++ b/drivers/phy/rockchip/phy-rockchip-dp.c
diff --git a/drivers/phy/phy-rockchip-emmc.c b/drivers/phy/rockchip/phy-rockchip-emmc.c
index f1b24f18e9b2..f1b24f18e9b2 100644
--- a/drivers/phy/phy-rockchip-emmc.c
+++ b/drivers/phy/rockchip/phy-rockchip-emmc.c
diff --git a/drivers/phy/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
index 8efe78a49916..8efe78a49916 100644
--- a/drivers/phy/phy-rockchip-inno-usb2.c
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
diff --git a/drivers/phy/phy-rockchip-pcie.c b/drivers/phy/rockchip/phy-rockchip-pcie.c
index 6904633cad68..6904633cad68 100644
--- a/drivers/phy/phy-rockchip-pcie.c
+++ b/drivers/phy/rockchip/phy-rockchip-pcie.c
diff --git a/drivers/phy/phy-rockchip-typec.c b/drivers/phy/rockchip/phy-rockchip-typec.c
index 7cfb0f8995de..7cfb0f8995de 100644
--- a/drivers/phy/phy-rockchip-typec.c
+++ b/drivers/phy/rockchip/phy-rockchip-typec.c
diff --git a/drivers/phy/phy-rockchip-usb.c b/drivers/phy/rockchip/phy-rockchip-usb.c
index 3378eeb7a562..3378eeb7a562 100644
--- a/drivers/phy/phy-rockchip-usb.c
+++ b/drivers/phy/rockchip/phy-rockchip-usb.c
diff --git a/drivers/phy/samsung/Kconfig b/drivers/phy/samsung/Kconfig
new file mode 100644
index 000000000000..b7e0645a7bd9
--- /dev/null
+++ b/drivers/phy/samsung/Kconfig
@@ -0,0 +1,95 @@
1#
2# Phy drivers for Samsung platforms
3#
4config PHY_EXYNOS_DP_VIDEO
5 tristate "EXYNOS SoC series Display Port PHY driver"
6 depends on OF
7 depends on ARCH_EXYNOS || COMPILE_TEST
8 default ARCH_EXYNOS
9 select GENERIC_PHY
10 help
11 Support for Display Port PHY found on Samsung EXYNOS SoCs.
12
13config PHY_EXYNOS_MIPI_VIDEO
14 tristate "S5P/EXYNOS SoC series MIPI CSI-2/DSI PHY driver"
15 depends on HAS_IOMEM
16 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
17 select GENERIC_PHY
18 default y if ARCH_S5PV210 || ARCH_EXYNOS
19 help
20 Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P
21 and EXYNOS SoCs.
22
23config PHY_EXYNOS_PCIE
24 bool "Exynos PCIe PHY driver"
25 depends on OF && (ARCH_EXYNOS || COMPILE_TEST)
26 select GENERIC_PHY
27 help
28 Enable PCIe PHY support for Exynos SoC series.
29 This driver provides PHY interface for Exynos PCIe controller.
30
31config PHY_SAMSUNG_USB2
32 tristate "Samsung USB 2.0 PHY driver"
33 depends on HAS_IOMEM
34 depends on USB_EHCI_EXYNOS || USB_OHCI_EXYNOS || USB_DWC2
35 select GENERIC_PHY
36 select MFD_SYSCON
37 default ARCH_EXYNOS
38 help
39 Enable this to support the Samsung USB 2.0 PHY driver for Samsung
40 SoCs. This driver provides the interface for USB 2.0 PHY. Support
41 for particular PHYs will be enabled based on the SoC type in addition
42 to this driver.
43
44config PHY_EXYNOS4210_USB2
45 bool
46 depends on PHY_SAMSUNG_USB2
47 default CPU_EXYNOS4210
48
49config PHY_EXYNOS4X12_USB2
50 bool
51 depends on PHY_SAMSUNG_USB2
52 default SOC_EXYNOS3250 || SOC_EXYNOS4212 || SOC_EXYNOS4412
53
54config PHY_EXYNOS5250_USB2
55 bool
56 depends on PHY_SAMSUNG_USB2
57 default SOC_EXYNOS5250 || SOC_EXYNOS5420
58
59config PHY_S5PV210_USB2
60 bool "Support for S5PV210"
61 depends on PHY_SAMSUNG_USB2
62 depends on ARCH_S5PV210
63 help
64 Enable USB PHY support for S5PV210. This option requires that Samsung
65 USB 2.0 PHY driver is enabled and means that support for this
66 particular SoC is compiled in the driver. In case of S5PV210 two phys
67 are available - device and host.
68
69config PHY_EXYNOS5_USBDRD
70 tristate "Exynos5 SoC series USB DRD PHY driver"
71 depends on ARCH_EXYNOS && OF
72 depends on HAS_IOMEM
73 depends on USB_DWC3_EXYNOS
74 select GENERIC_PHY
75 select MFD_SYSCON
76 default y
77 help
78 Enable USB DRD PHY support for Exynos 5 SoC series.
79 This driver provides PHY interface for USB 3.0 DRD controller
80 present on Exynos5 SoC series.
81
82config PHY_EXYNOS5250_SATA
83 tristate "Exynos5250 Sata SerDes/PHY driver"
84 depends on SOC_EXYNOS5250
85 depends on HAS_IOMEM
86 depends on OF
87 select GENERIC_PHY
88 select I2C
89 select I2C_S3C2410
90 select MFD_SYSCON
91 help
92 Enable this to support SATA SerDes/Phy found on Samsung's
93 Exynos5250 based SoCs.This SerDes/Phy supports SATA 1.5 Gb/s,
94 SATA 3.0 Gb/s, SATA 6.0 Gb/s speeds. It supports one SATA host
95 port to accept one SATA device.
diff --git a/drivers/phy/samsung/Makefile b/drivers/phy/samsung/Makefile
new file mode 100644
index 000000000000..20d7f2424772
--- /dev/null
+++ b/drivers/phy/samsung/Makefile
@@ -0,0 +1,11 @@
1obj-$(CONFIG_PHY_EXYNOS_DP_VIDEO) += phy-exynos-dp-video.o
2obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO) += phy-exynos-mipi-video.o
3obj-$(CONFIG_PHY_EXYNOS_PCIE) += phy-exynos-pcie.o
4obj-$(CONFIG_PHY_SAMSUNG_USB2) += phy-exynos-usb2.o
5phy-exynos-usb2-y += phy-samsung-usb2.o
6phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4210_USB2) += phy-exynos4210-usb2.o
7phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4X12_USB2) += phy-exynos4x12-usb2.o
8phy-exynos-usb2-$(CONFIG_PHY_EXYNOS5250_USB2) += phy-exynos5250-usb2.o
9phy-exynos-usb2-$(CONFIG_PHY_S5PV210_USB2) += phy-s5pv210-usb2.o
10obj-$(CONFIG_PHY_EXYNOS5_USBDRD) += phy-exynos5-usbdrd.o
11obj-$(CONFIG_PHY_EXYNOS5250_SATA) += phy-exynos5250-sata.o
diff --git a/drivers/phy/phy-exynos-dp-video.c b/drivers/phy/samsung/phy-exynos-dp-video.c
index bb3279dbf88c..bb3279dbf88c 100644
--- a/drivers/phy/phy-exynos-dp-video.c
+++ b/drivers/phy/samsung/phy-exynos-dp-video.c
diff --git a/drivers/phy/phy-exynos-mipi-video.c b/drivers/phy/samsung/phy-exynos-mipi-video.c
index c198886f80a3..c198886f80a3 100644
--- a/drivers/phy/phy-exynos-mipi-video.c
+++ b/drivers/phy/samsung/phy-exynos-mipi-video.c
diff --git a/drivers/phy/phy-exynos-pcie.c b/drivers/phy/samsung/phy-exynos-pcie.c
index a89c12faff39..a89c12faff39 100644
--- a/drivers/phy/phy-exynos-pcie.c
+++ b/drivers/phy/samsung/phy-exynos-pcie.c
diff --git a/drivers/phy/phy-exynos4210-usb2.c b/drivers/phy/samsung/phy-exynos4210-usb2.c
index 1f50e1004828..1f50e1004828 100644
--- a/drivers/phy/phy-exynos4210-usb2.c
+++ b/drivers/phy/samsung/phy-exynos4210-usb2.c
diff --git a/drivers/phy/phy-exynos4x12-usb2.c b/drivers/phy/samsung/phy-exynos4x12-usb2.c
index 7f27a91acf87..7f27a91acf87 100644
--- a/drivers/phy/phy-exynos4x12-usb2.c
+++ b/drivers/phy/samsung/phy-exynos4x12-usb2.c
diff --git a/drivers/phy/phy-exynos5-usbdrd.c b/drivers/phy/samsung/phy-exynos5-usbdrd.c
index 7c41daa2c625..7c41daa2c625 100644
--- a/drivers/phy/phy-exynos5-usbdrd.c
+++ b/drivers/phy/samsung/phy-exynos5-usbdrd.c
diff --git a/drivers/phy/phy-exynos5250-sata.c b/drivers/phy/samsung/phy-exynos5250-sata.c
index 60e13afcd9b8..60e13afcd9b8 100644
--- a/drivers/phy/phy-exynos5250-sata.c
+++ b/drivers/phy/samsung/phy-exynos5250-sata.c
diff --git a/drivers/phy/phy-exynos5250-usb2.c b/drivers/phy/samsung/phy-exynos5250-usb2.c
index aad806272305..aad806272305 100644
--- a/drivers/phy/phy-exynos5250-usb2.c
+++ b/drivers/phy/samsung/phy-exynos5250-usb2.c
diff --git a/drivers/phy/phy-s5pv210-usb2.c b/drivers/phy/samsung/phy-s5pv210-usb2.c
index f6f72339bbc3..f6f72339bbc3 100644
--- a/drivers/phy/phy-s5pv210-usb2.c
+++ b/drivers/phy/samsung/phy-s5pv210-usb2.c
diff --git a/drivers/phy/phy-samsung-usb2.c b/drivers/phy/samsung/phy-samsung-usb2.c
index 1d22d93b552d..1d22d93b552d 100644
--- a/drivers/phy/phy-samsung-usb2.c
+++ b/drivers/phy/samsung/phy-samsung-usb2.c
diff --git a/drivers/phy/phy-samsung-usb2.h b/drivers/phy/samsung/phy-samsung-usb2.h
index 6563e7ca0ac4..6563e7ca0ac4 100644
--- a/drivers/phy/phy-samsung-usb2.h
+++ b/drivers/phy/samsung/phy-samsung-usb2.h
diff --git a/drivers/phy/st/Kconfig b/drivers/phy/st/Kconfig
new file mode 100644
index 000000000000..0814d3f87ec6
--- /dev/null
+++ b/drivers/phy/st/Kconfig
@@ -0,0 +1,33 @@
1#
2# Phy drivers for STMicro platforms
3#
4config PHY_MIPHY28LP
5 tristate "STMicroelectronics MIPHY28LP PHY driver for STiH407"
6 depends on ARCH_STI
7 select GENERIC_PHY
8 help
9 Enable this to support the miphy transceiver (for SATA/PCIE/USB3)
10 that is part of STMicroelectronics STiH407 SoC.
11
12config PHY_ST_SPEAR1310_MIPHY
13 tristate "ST SPEAR1310-MIPHY driver"
14 select GENERIC_PHY
15 depends on MACH_SPEAR1310 || COMPILE_TEST
16 help
17 Support for ST SPEAr1310 MIPHY which can be used for PCIe and SATA.
18
19config PHY_ST_SPEAR1340_MIPHY
20 tristate "ST SPEAR1340-MIPHY driver"
21 select GENERIC_PHY
22 depends on MACH_SPEAR1340 || COMPILE_TEST
23 help
24 Support for ST SPEAr1340 MIPHY which can be used for PCIe and SATA.
25
26config PHY_STIH407_USB
27 tristate "STMicroelectronics USB2 picoPHY driver for STiH407 family"
28 depends on RESET_CONTROLLER
29 depends on ARCH_STI || COMPILE_TEST
30 select GENERIC_PHY
31 help
32 Enable this support to enable the picoPHY device used by USB2
33 and USB3 controllers on STMicroelectronics STiH407 SoC families.
diff --git a/drivers/phy/st/Makefile b/drivers/phy/st/Makefile
new file mode 100644
index 000000000000..e2adfe2166d2
--- /dev/null
+++ b/drivers/phy/st/Makefile
@@ -0,0 +1,4 @@
1obj-$(CONFIG_PHY_MIPHY28LP) += phy-miphy28lp.o
2obj-$(CONFIG_PHY_ST_SPEAR1310_MIPHY) += phy-spear1310-miphy.o
3obj-$(CONFIG_PHY_ST_SPEAR1340_MIPHY) += phy-spear1340-miphy.o
4obj-$(CONFIG_PHY_STIH407_USB) += phy-stih407-usb.o
diff --git a/drivers/phy/phy-miphy28lp.c b/drivers/phy/st/phy-miphy28lp.c
index 213e2e15339c..213e2e15339c 100644
--- a/drivers/phy/phy-miphy28lp.c
+++ b/drivers/phy/st/phy-miphy28lp.c
diff --git a/drivers/phy/phy-spear1310-miphy.c b/drivers/phy/st/phy-spear1310-miphy.c
index ed67e98e54ca..ed67e98e54ca 100644
--- a/drivers/phy/phy-spear1310-miphy.c
+++ b/drivers/phy/st/phy-spear1310-miphy.c
diff --git a/drivers/phy/phy-spear1340-miphy.c b/drivers/phy/st/phy-spear1340-miphy.c
index 97280c0cf612..97280c0cf612 100644
--- a/drivers/phy/phy-spear1340-miphy.c
+++ b/drivers/phy/st/phy-spear1340-miphy.c
diff --git a/drivers/phy/phy-stih407-usb.c b/drivers/phy/st/phy-stih407-usb.c
index b1f44ab669fb..b1f44ab669fb 100644
--- a/drivers/phy/phy-stih407-usb.c
+++ b/drivers/phy/st/phy-stih407-usb.c
diff --git a/drivers/phy/ti/Kconfig b/drivers/phy/ti/Kconfig
new file mode 100644
index 000000000000..20503562666c
--- /dev/null
+++ b/drivers/phy/ti/Kconfig
@@ -0,0 +1,78 @@
1#
2# Phy drivers for TI platforms
3#
4config PHY_DA8XX_USB
5 tristate "TI DA8xx USB PHY Driver"
6 depends on ARCH_DAVINCI_DA8XX
7 select GENERIC_PHY
8 select MFD_SYSCON
9 help
10 Enable this to support the USB PHY on DA8xx SoCs.
11
12 This driver controls both the USB 1.1 PHY and the USB 2.0 PHY.
13
14config PHY_DM816X_USB
15 tristate "TI dm816x USB PHY driver"
16 depends on ARCH_OMAP2PLUS
17 depends on USB_SUPPORT
18 select GENERIC_PHY
19 select USB_PHY
20 help
21 Enable this for dm816x USB to work.
22
23config OMAP_CONTROL_PHY
24 tristate "OMAP CONTROL PHY Driver"
25 depends on ARCH_OMAP2PLUS || COMPILE_TEST
26 help
27 Enable this to add support for the PHY part present in the control
28 module. This driver has API to power on the USB2 PHY and to write to
29 the mailbox. The mailbox is present only in omap4 and the register to
30 power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an
31 additional register to power on USB3 PHY/SATA PHY/PCIE PHY
32 (PIPE3 PHY).
33
34config OMAP_USB2
35 tristate "OMAP USB2 PHY Driver"
36 depends on ARCH_OMAP2PLUS
37 depends on USB_SUPPORT
38 select GENERIC_PHY
39 select USB_PHY
40 select OMAP_CONTROL_PHY
41 depends on OMAP_OCP2SCP
42 help
43 Enable this to support the transceiver that is part of SOC. This
44 driver takes care of all the PHY functionality apart from comparator.
45 The USB OTG controller communicates with the comparator using this
46 driver.
47
48config TI_PIPE3
49 tristate "TI PIPE3 PHY Driver"
50 depends on ARCH_OMAP2PLUS || COMPILE_TEST
51 select GENERIC_PHY
52 select OMAP_CONTROL_PHY
53 depends on OMAP_OCP2SCP
54 help
55 Enable this to support the PIPE3 PHY that is part of TI SOCs. This
56 driver takes care of all the PHY functionality apart from comparator.
57 This driver interacts with the "OMAP Control PHY Driver" to power
58 on/off the PHY.
59
60config PHY_TUSB1210
61 tristate "TI TUSB1210 ULPI PHY module"
62 depends on USB_ULPI_BUS
63 select GENERIC_PHY
64 help
65 Support for TI TUSB1210 USB ULPI PHY.
66
67config TWL4030_USB
68 tristate "TWL4030 USB Transceiver Driver"
69 depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
70 depends on USB_SUPPORT
71 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't 'y'
72 select GENERIC_PHY
73 select USB_PHY
74 help
75 Enable this to support the USB OTG transceiver on TWL4030
76 family chips (including the TWL5030 and TPS659x0 devices).
77 This transceiver supports high and full speed devices plus,
78 in host mode, low speed.
diff --git a/drivers/phy/ti/Makefile b/drivers/phy/ti/Makefile
new file mode 100644
index 000000000000..0cc3a1a557a3
--- /dev/null
+++ b/drivers/phy/ti/Makefile
@@ -0,0 +1,7 @@
1obj-$(CONFIG_PHY_DA8XX_USB) += phy-da8xx-usb.o
2obj-$(CONFIG_PHY_DM816X_USB) += phy-dm816x-usb.o
3obj-$(CONFIG_OMAP_CONTROL_PHY) += phy-omap-control.o
4obj-$(CONFIG_OMAP_USB2) += phy-omap-usb2.o
5obj-$(CONFIG_TI_PIPE3) += phy-ti-pipe3.o
6obj-$(CONFIG_PHY_TUSB1210) += phy-tusb1210.o
7obj-$(CONFIG_TWL4030_USB) += phy-twl4030-usb.o
diff --git a/drivers/phy/phy-da8xx-usb.c b/drivers/phy/ti/phy-da8xx-usb.c
index 1b82bff6330f..1b82bff6330f 100644
--- a/drivers/phy/phy-da8xx-usb.c
+++ b/drivers/phy/ti/phy-da8xx-usb.c
diff --git a/drivers/phy/phy-dm816x-usb.c b/drivers/phy/ti/phy-dm816x-usb.c
index cbcce7cf0028..cbcce7cf0028 100644
--- a/drivers/phy/phy-dm816x-usb.c
+++ b/drivers/phy/ti/phy-dm816x-usb.c
diff --git a/drivers/phy/phy-omap-control.c b/drivers/phy/ti/phy-omap-control.c
index e9c41b3fa0ee..e9c41b3fa0ee 100644
--- a/drivers/phy/phy-omap-control.c
+++ b/drivers/phy/ti/phy-omap-control.c
diff --git a/drivers/phy/phy-omap-usb2.c b/drivers/phy/ti/phy-omap-usb2.c
index fe909fd8144f..fe909fd8144f 100644
--- a/drivers/phy/phy-omap-usb2.c
+++ b/drivers/phy/ti/phy-omap-usb2.c
diff --git a/drivers/phy/phy-ti-pipe3.c b/drivers/phy/ti/phy-ti-pipe3.c
index 9c84d32c6f60..9c84d32c6f60 100644
--- a/drivers/phy/phy-ti-pipe3.c
+++ b/drivers/phy/ti/phy-ti-pipe3.c
diff --git a/drivers/phy/phy-tusb1210.c b/drivers/phy/ti/phy-tusb1210.c
index bb3fb031c478..bb3fb031c478 100644
--- a/drivers/phy/phy-tusb1210.c
+++ b/drivers/phy/ti/phy-tusb1210.c
diff --git a/drivers/phy/phy-twl4030-usb.c b/drivers/phy/ti/phy-twl4030-usb.c
index 2990b3965460..2990b3965460 100644
--- a/drivers/phy/phy-twl4030-usb.c
+++ b/drivers/phy/ti/phy-twl4030-usb.c