* [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-01 11:29 ` Vivek Gautam
0 siblings, 0 replies; 40+ messages in thread
From: Vivek Gautam @ 2016-04-01 11:29 UTC (permalink / raw)
To: vireshk, shiraz.linux.kernel, kishon, heiko, maxime.ripard, wens
Cc: linux, gautam.vivek, linux-arm-kernel, spear-devel, linux-kernel,
linux-rockchip, linux-usb, linux-samsung-soc, linux-omap, cpgs
Adding vendor specific directories in phy to group
phy drivers under their respective vendor umbrella.
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
---
With growing number of phy drivers, it makes sense to
group these drivers under their respective vendor/platform
umbrella directory.
Build-tested 'multi_v7_defconfig'.
drivers/phy/Kconfig | 386 +---------------------
drivers/phy/Makefile | 57 +---
drivers/phy/bcom/Kconfig | 27 ++
drivers/phy/bcom/Makefile | 3 +
drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c | 0
drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c | 0
drivers/phy/{ => bcom}/phy-brcmstb-sata.c | 0
drivers/phy/hisi/Kconfig | 20 ++
drivers/phy/hisi/Makefile | 2 +
drivers/phy/{ => hisi}/phy-hi6220-usb.c | 0
drivers/phy/{ => hisi}/phy-hix5hd2-sata.c | 0
drivers/phy/marvell/Kconfig | 50 +++
drivers/phy/marvell/Makefile | 6 +
drivers/phy/{ => marvell}/phy-armada375-usb2.c | 0
drivers/phy/{ => marvell}/phy-berlin-sata.c | 0
drivers/phy/{ => marvell}/phy-berlin-usb.c | 0
drivers/phy/{ => marvell}/phy-mvebu-sata.c | 0
drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c | 0
drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c | 0
drivers/phy/qcom/Kconfig | 23 ++
drivers/phy/qcom/Makefile | 5 +
drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c | 0
drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c | 0
drivers/phy/{ => qcom}/phy-qcom-ufs-i.h | 0
drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c | 0
drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h | 0
drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c | 0
drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h | 0
drivers/phy/{ => qcom}/phy-qcom-ufs.c | 0
drivers/phy/rcar/Kconfig | 16 +
drivers/phy/rcar/Makefile | 2 +
drivers/phy/{ => rcar}/phy-rcar-gen2.c | 0
drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c | 0
drivers/phy/rockchip/Kconfig | 23 ++
drivers/phy/rockchip/Makefile | 3 +
drivers/phy/{ => rockchip}/phy-rockchip-dp.c | 0
drivers/phy/{ => rockchip}/phy-rockchip-emmc.c | 0
drivers/phy/{ => rockchip}/phy-rockchip-usb.c | 0
drivers/phy/samsung/Kconfig | 87 +++++
drivers/phy/samsung/Makefile | 10 +
drivers/phy/{ => samsung}/phy-exynos-dp-video.c | 0
drivers/phy/{ => samsung}/phy-exynos-mipi-video.c | 0
drivers/phy/{ => samsung}/phy-exynos4210-usb2.c | 0
drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c | 0
drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c | 0
drivers/phy/{ => samsung}/phy-exynos5250-sata.c | 0
drivers/phy/{ => samsung}/phy-exynos5250-usb2.c | 0
drivers/phy/{ => samsung}/phy-s5pv210-usb2.c | 0
drivers/phy/{ => samsung}/phy-samsung-usb2.c | 0
drivers/phy/{ => samsung}/phy-samsung-usb2.h | 0
drivers/phy/st/Kconfig | 51 +++
drivers/phy/st/Makefile | 6 +
drivers/phy/{ => st}/phy-miphy28lp.c | 0
drivers/phy/{ => st}/phy-miphy365x.c | 0
drivers/phy/{ => st}/phy-spear1310-miphy.c | 0
drivers/phy/{ => st}/phy-spear1340-miphy.c | 0
drivers/phy/{ => st}/phy-stih407-usb.c | 0
drivers/phy/{ => st}/phy-stih41x-usb.c | 0
drivers/phy/sunxi/Kconfig | 28 ++
drivers/phy/sunxi/Makefile | 2 +
drivers/phy/{ => sunxi}/phy-sun4i-usb.c | 0
drivers/phy/{ => sunxi}/phy-sun9i-usb.c | 0
drivers/phy/ti/Kconfig | 67 ++++
drivers/phy/ti/Makefile | 6 +
drivers/phy/{ => ti}/phy-dm816x-usb.c | 0
drivers/phy/{ => ti}/phy-omap-control.c | 0
drivers/phy/{ => ti}/phy-omap-usb2.c | 0
drivers/phy/{ => ti}/phy-ti-pipe3.c | 0
drivers/phy/{ => ti}/phy-tusb1210.c | 0
drivers/phy/{ => ti}/phy-twl4030-usb.c | 0
drivers/phy/{ => ti}/ulpi_phy.h | 0
71 files changed, 464 insertions(+), 416 deletions(-)
create mode 100644 drivers/phy/bcom/Kconfig
create mode 100644 drivers/phy/bcom/Makefile
rename drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c (100%)
rename drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c (100%)
rename drivers/phy/{ => bcom}/phy-brcmstb-sata.c (100%)
create mode 100644 drivers/phy/hisi/Kconfig
create mode 100644 drivers/phy/hisi/Makefile
rename drivers/phy/{ => hisi}/phy-hi6220-usb.c (100%)
rename drivers/phy/{ => hisi}/phy-hix5hd2-sata.c (100%)
create mode 100644 drivers/phy/marvell/Kconfig
create mode 100644 drivers/phy/marvell/Makefile
rename drivers/phy/{ => marvell}/phy-armada375-usb2.c (100%)
rename drivers/phy/{ => marvell}/phy-berlin-sata.c (100%)
rename drivers/phy/{ => marvell}/phy-berlin-usb.c (100%)
rename drivers/phy/{ => marvell}/phy-mvebu-sata.c (100%)
rename drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c (100%)
rename drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c (100%)
create mode 100644 drivers/phy/qcom/Kconfig
create mode 100644 drivers/phy/qcom/Makefile
rename drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c (100%)
rename drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c (100%)
rename drivers/phy/{ => qcom}/phy-qcom-ufs-i.h (100%)
rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c (100%)
rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h (100%)
rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c (100%)
rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h (100%)
rename drivers/phy/{ => qcom}/phy-qcom-ufs.c (100%)
create mode 100644 drivers/phy/rcar/Kconfig
create mode 100644 drivers/phy/rcar/Makefile
rename drivers/phy/{ => rcar}/phy-rcar-gen2.c (100%)
rename drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c (100%)
create mode 100644 drivers/phy/rockchip/Kconfig
create mode 100644 drivers/phy/rockchip/Makefile
rename drivers/phy/{ => rockchip}/phy-rockchip-dp.c (100%)
rename drivers/phy/{ => rockchip}/phy-rockchip-emmc.c (100%)
rename drivers/phy/{ => rockchip}/phy-rockchip-usb.c (100%)
create mode 100644 drivers/phy/samsung/Kconfig
create mode 100644 drivers/phy/samsung/Makefile
rename drivers/phy/{ => samsung}/phy-exynos-dp-video.c (100%)
rename drivers/phy/{ => samsung}/phy-exynos-mipi-video.c (100%)
rename drivers/phy/{ => samsung}/phy-exynos4210-usb2.c (100%)
rename drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c (100%)
rename drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c (100%)
rename drivers/phy/{ => samsung}/phy-exynos5250-sata.c (100%)
rename drivers/phy/{ => samsung}/phy-exynos5250-usb2.c (100%)
rename drivers/phy/{ => samsung}/phy-s5pv210-usb2.c (100%)
rename drivers/phy/{ => samsung}/phy-samsung-usb2.c (100%)
rename drivers/phy/{ => samsung}/phy-samsung-usb2.h (100%)
create mode 100644 drivers/phy/st/Kconfig
create mode 100644 drivers/phy/st/Makefile
rename drivers/phy/{ => st}/phy-miphy28lp.c (100%)
rename drivers/phy/{ => st}/phy-miphy365x.c (100%)
rename drivers/phy/{ => st}/phy-spear1310-miphy.c (100%)
rename drivers/phy/{ => st}/phy-spear1340-miphy.c (100%)
rename drivers/phy/{ => st}/phy-stih407-usb.c (100%)
rename drivers/phy/{ => st}/phy-stih41x-usb.c (100%)
create mode 100644 drivers/phy/sunxi/Kconfig
create mode 100644 drivers/phy/sunxi/Makefile
rename drivers/phy/{ => sunxi}/phy-sun4i-usb.c (100%)
rename drivers/phy/{ => sunxi}/phy-sun9i-usb.c (100%)
create mode 100644 drivers/phy/ti/Kconfig
create mode 100644 drivers/phy/ti/Makefile
rename drivers/phy/{ => ti}/phy-dm816x-usb.c (100%)
rename drivers/phy/{ => ti}/phy-omap-control.c (100%)
rename drivers/phy/{ => ti}/phy-omap-usb2.c (100%)
rename drivers/phy/{ => ti}/phy-ti-pipe3.c (100%)
rename drivers/phy/{ => ti}/phy-tusb1210.c (100%)
rename drivers/phy/{ => ti}/phy-twl4030-usb.c (100%)
rename drivers/phy/{ => ti}/ulpi_phy.h (100%)
diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
index 26566db..80c8c68 100644
--- a/drivers/phy/Kconfig
+++ b/drivers/phy/Kconfig
@@ -15,45 +15,6 @@ config GENERIC_PHY
phy users can obtain reference to the PHY. All the users of this
framework should select this config.
-config PHY_BERLIN_USB
- tristate "Marvell Berlin USB PHY Driver"
- depends on ARCH_BERLIN && RESET_CONTROLLER && HAS_IOMEM && OF
- select GENERIC_PHY
- help
- Enable this to support the USB PHY on Marvell Berlin SoCs.
-
-config PHY_BERLIN_SATA
- tristate "Marvell Berlin SATA PHY driver"
- depends on ARCH_BERLIN && HAS_IOMEM && OF
- select GENERIC_PHY
- help
- Enable this to support the SATA PHY on Marvell Berlin SoCs.
-
-config ARMADA375_USBCLUSTER_PHY
- def_bool y
- depends on MACH_ARMADA_375 || COMPILE_TEST
- depends on OF && HAS_IOMEM
- select GENERIC_PHY
-
-config PHY_DM816X_USB
- tristate "TI dm816x USB PHY driver"
- depends on ARCH_OMAP2PLUS
- depends on USB_SUPPORT
- select GENERIC_PHY
- select USB_PHY
- help
- Enable this for dm816x USB to work.
-
-config PHY_EXYNOS_MIPI_VIDEO
- tristate "S5P/EXYNOS SoC series MIPI CSI-2/DSI PHY driver"
- depends on HAS_IOMEM
- depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
- select GENERIC_PHY
- default y if ARCH_S5PV210 || ARCH_EXYNOS
- help
- Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P
- and EXYNOS SoCs.
-
config PHY_LPC18XX_USB_OTG
tristate "NXP LPC18xx/43xx SoC USB OTG PHY driver"
depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
@@ -65,154 +26,6 @@ config PHY_LPC18XX_USB_OTG
This driver is need for USB0 support on LPC18xx/43xx and takes
care of enabling and clock setup.
-config PHY_PXA_28NM_HSIC
- tristate "Marvell USB HSIC 28nm PHY Driver"
- depends on HAS_IOMEM
- select GENERIC_PHY
- help
- Enable this to support Marvell USB HSIC PHY driver for Marvell
- SoC. This driver will do the PHY initialization and shutdown.
- The PHY driver will be used by Marvell ehci driver.
-
- To compile this driver as a module, choose M here.
-
-config PHY_PXA_28NM_USB2
- tristate "Marvell USB 2.0 28nm PHY Driver"
- depends on HAS_IOMEM
- select GENERIC_PHY
- help
- Enable this to support Marvell USB 2.0 PHY driver for Marvell
- SoC. This driver will do the PHY initialization and shutdown.
- The PHY driver will be used by Marvell udc/ehci/otg driver.
-
- To compile this driver as a module, choose M here.
-
-config PHY_MVEBU_SATA
- def_bool y
- depends on ARCH_DOVE || MACH_DOVE || MACH_KIRKWOOD
- depends on OF
- select GENERIC_PHY
-
-config PHY_MIPHY28LP
- tristate "STMicroelectronics MIPHY28LP PHY driver for STiH407"
- depends on ARCH_STI
- select GENERIC_PHY
- help
- Enable this to support the miphy transceiver (for SATA/PCIE/USB3)
- that is part of STMicroelectronics STiH407 SoC.
-
-config PHY_MIPHY365X
- tristate "STMicroelectronics MIPHY365X PHY driver for STiH41x series"
- depends on ARCH_STI
- depends on HAS_IOMEM
- depends on OF
- select GENERIC_PHY
- help
- Enable this to support the miphy transceiver (for SATA/PCIE)
- that is part of STMicroelectronics STiH41x SoC series.
-
-config PHY_RCAR_GEN2
- tristate "Renesas R-Car generation 2 USB PHY driver"
- depends on ARCH_SHMOBILE
- depends on GENERIC_PHY
- help
- Support for USB PHY found on Renesas R-Car generation 2 SoCs.
-
-config PHY_RCAR_GEN3_USB2
- tristate "Renesas R-Car generation 3 USB 2.0 PHY driver"
- depends on OF && ARCH_SHMOBILE
- select GENERIC_PHY
- help
- Support for USB 2.0 PHY found on Renesas R-Car generation 3 SoCs.
-
-config OMAP_CONTROL_PHY
- tristate "OMAP CONTROL PHY Driver"
- depends on ARCH_OMAP2PLUS || COMPILE_TEST
- help
- Enable this to add support for the PHY part present in the control
- module. This driver has API to power on the USB2 PHY and to write to
- the mailbox. The mailbox is present only in omap4 and the register to
- power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an
- additional register to power on USB3 PHY/SATA PHY/PCIE PHY
- (PIPE3 PHY).
-
-config OMAP_USB2
- tristate "OMAP USB2 PHY Driver"
- depends on ARCH_OMAP2PLUS
- depends on USB_SUPPORT
- select GENERIC_PHY
- select USB_PHY
- select OMAP_CONTROL_PHY
- depends on OMAP_OCP2SCP
- help
- Enable this to support the transceiver that is part of SOC. This
- driver takes care of all the PHY functionality apart from comparator.
- The USB OTG controller communicates with the comparator using this
- driver.
-
-config TI_PIPE3
- tristate "TI PIPE3 PHY Driver"
- depends on ARCH_OMAP2PLUS || COMPILE_TEST
- select GENERIC_PHY
- select OMAP_CONTROL_PHY
- depends on OMAP_OCP2SCP
- help
- Enable this to support the PIPE3 PHY that is part of TI SOCs. This
- driver takes care of all the PHY functionality apart from comparator.
- This driver interacts with the "OMAP Control PHY Driver" to power
- on/off the PHY.
-
-config TWL4030_USB
- tristate "TWL4030 USB Transceiver Driver"
- depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
- depends on USB_SUPPORT
- select GENERIC_PHY
- select USB_PHY
- help
- Enable this to support the USB OTG transceiver on TWL4030
- family chips (including the TWL5030 and TPS659x0 devices).
- This transceiver supports high and full speed devices plus,
- in host mode, low speed.
-
-config PHY_EXYNOS_DP_VIDEO
- tristate "EXYNOS SoC series Display Port PHY driver"
- depends on OF
- depends on ARCH_EXYNOS || COMPILE_TEST
- default ARCH_EXYNOS
- select GENERIC_PHY
- help
- Support for Display Port PHY found on Samsung EXYNOS SoCs.
-
-config BCM_KONA_USB2_PHY
- tristate "Broadcom Kona USB2 PHY Driver"
- depends on HAS_IOMEM
- select GENERIC_PHY
- help
- Enable this to support the Broadcom Kona USB 2.0 PHY.
-
-config PHY_EXYNOS5250_SATA
- tristate "Exynos5250 Sata SerDes/PHY driver"
- depends on SOC_EXYNOS5250
- depends on HAS_IOMEM
- depends on OF
- select GENERIC_PHY
- select I2C
- select I2C_S3C2410
- select MFD_SYSCON
- help
- Enable this to support SATA SerDes/Phy found on Samsung's
- Exynos5250 based SoCs.This SerDes/Phy supports SATA 1.5 Gb/s,
- SATA 3.0 Gb/s, SATA 6.0 Gb/s speeds. It supports one SATA host
- port to accept one SATA device.
-
-config PHY_HIX5HD2_SATA
- tristate "HIX5HD2 SATA PHY Driver"
- depends on ARCH_HIX5HD2 && OF && HAS_IOMEM
- select GENERIC_PHY
- select MFD_SYSCON
- help
- Support for SATA PHY on Hisilicon hix5hd2 Soc.
-
config PHY_MT65XX_USB3
tristate "Mediatek USB3.0 PHY Driver"
depends on ARCH_MEDIATEK && OF
@@ -222,93 +35,6 @@ config PHY_MT65XX_USB3
for mt65xx SoCs. it supports two usb2.0 ports and
one usb3.0 port.
-config PHY_HI6220_USB
- tristate "hi6220 USB PHY support"
- depends on (ARCH_HISI && ARM64) || COMPILE_TEST
- select GENERIC_PHY
- select MFD_SYSCON
- help
- Enable this to support the HISILICON HI6220 USB PHY.
-
- To compile this driver as a module, choose M here.
-
-config PHY_SUN4I_USB
- tristate "Allwinner sunxi SoC USB PHY driver"
- depends on ARCH_SUNXI && HAS_IOMEM && OF
- depends on RESET_CONTROLLER
- depends on EXTCON
- depends on POWER_SUPPLY
- select GENERIC_PHY
- help
- Enable this to support the transceiver that is part of Allwinner
- sunxi SoCs.
-
- This driver controls the entire USB PHY block, both the USB OTG
- parts, as well as the 2 regular USB 2 host PHYs.
-
-config PHY_SUN9I_USB
- tristate "Allwinner sun9i SoC USB PHY driver"
- depends on ARCH_SUNXI && HAS_IOMEM && OF
- depends on RESET_CONTROLLER
- depends on USB_COMMON
- select GENERIC_PHY
- help
- Enable this to support the transceiver that is part of Allwinner
- sun9i SoCs.
-
- This driver controls each individual USB 2 host PHY.
-
-config PHY_SAMSUNG_USB2
- tristate "Samsung USB 2.0 PHY driver"
- depends on HAS_IOMEM
- depends on USB_EHCI_EXYNOS || USB_OHCI_EXYNOS || USB_DWC2
- select GENERIC_PHY
- select MFD_SYSCON
- default ARCH_EXYNOS
- help
- Enable this to support the Samsung USB 2.0 PHY driver for Samsung
- SoCs. This driver provides the interface for USB 2.0 PHY. Support
- for particular PHYs will be enabled based on the SoC type in addition
- to this driver.
-
-config PHY_S5PV210_USB2
- bool "Support for S5PV210"
- depends on PHY_SAMSUNG_USB2
- depends on ARCH_S5PV210
- help
- Enable USB PHY support for S5PV210. This option requires that Samsung
- USB 2.0 PHY driver is enabled and means that support for this
- particular SoC is compiled in the driver. In case of S5PV210 two phys
- are available - device and host.
-
-config PHY_EXYNOS4210_USB2
- bool
- depends on PHY_SAMSUNG_USB2
- default CPU_EXYNOS4210
-
-config PHY_EXYNOS4X12_USB2
- bool
- depends on PHY_SAMSUNG_USB2
- default SOC_EXYNOS3250 || SOC_EXYNOS4212 || SOC_EXYNOS4412
-
-config PHY_EXYNOS5250_USB2
- bool
- depends on PHY_SAMSUNG_USB2
- default SOC_EXYNOS5250 || SOC_EXYNOS5420
-
-config PHY_EXYNOS5_USBDRD
- tristate "Exynos5 SoC series USB DRD PHY driver"
- depends on ARCH_EXYNOS && OF
- depends on HAS_IOMEM
- depends on USB_DWC3_EXYNOS
- select GENERIC_PHY
- select MFD_SYSCON
- default y
- help
- Enable USB DRD PHY support for Exynos 5 SoC series.
- This driver provides PHY interface for USB 3.0 DRD controller
- present on Exynos5 SoC series.
-
config PHY_PISTACHIO_USB
tristate "IMG Pistachio USB2.0 PHY driver"
depends on MACH_PISTACHIO
@@ -316,55 +42,6 @@ config PHY_PISTACHIO_USB
help
Enable this to support the USB2.0 PHY on the IMG Pistachio SoC.
-config PHY_QCOM_APQ8064_SATA
- tristate "Qualcomm APQ8064 SATA SerDes/PHY driver"
- depends on ARCH_QCOM
- depends on HAS_IOMEM
- depends on OF
- select GENERIC_PHY
-
-config PHY_QCOM_IPQ806X_SATA
- tristate "Qualcomm IPQ806x SATA SerDes/PHY driver"
- depends on ARCH_QCOM
- depends on HAS_IOMEM
- depends on OF
- select GENERIC_PHY
-
-config PHY_ROCKCHIP_USB
- tristate "Rockchip USB2 PHY Driver"
- depends on ARCH_ROCKCHIP && OF
- select GENERIC_PHY
- help
- Enable this to support the Rockchip USB 2.0 PHY.
-
-config PHY_ROCKCHIP_EMMC
- tristate "Rockchip EMMC PHY Driver"
- depends on ARCH_ROCKCHIP && OF
- select GENERIC_PHY
- help
- Enable this to support the Rockchip EMMC PHY.
-
-config PHY_ROCKCHIP_DP
- tristate "Rockchip Display Port PHY Driver"
- depends on ARCH_ROCKCHIP && OF
- select GENERIC_PHY
- help
- Enable this to support the Rockchip Display Port PHY.
-
-config PHY_ST_SPEAR1310_MIPHY
- tristate "ST SPEAR1310-MIPHY driver"
- select GENERIC_PHY
- depends on MACH_SPEAR1310 || COMPILE_TEST
- help
- Support for ST SPEAr1310 MIPHY which can be used for PCIe and SATA.
-
-config PHY_ST_SPEAR1340_MIPHY
- tristate "ST SPEAR1340-MIPHY driver"
- select GENERIC_PHY
- depends on MACH_SPEAR1340 || COMPILE_TEST
- help
- Support for ST SPEAr1340 MIPHY which can be used for PCIe and SATA.
-
config PHY_XGENE
tristate "APM X-Gene 15Gbps PHY support"
depends on HAS_IOMEM && OF && (ARM64 || COMPILE_TEST)
@@ -372,53 +49,20 @@ config PHY_XGENE
help
This option enables support for APM X-Gene SoC multi-purpose PHY.
-config PHY_STIH407_USB
- tristate "STMicroelectronics USB2 picoPHY driver for STiH407 family"
- depends on RESET_CONTROLLER
- depends on ARCH_STI || COMPILE_TEST
- select GENERIC_PHY
- help
- Enable this support to enable the picoPHY device used by USB2
- and USB3 controllers on STMicroelectronics STiH407 SoC families.
-
-config PHY_STIH41X_USB
- tristate "STMicroelectronics USB2 PHY driver for STiH41x series"
- depends on ARCH_STI
- select GENERIC_PHY
- help
- Enable this to support the USB transceiver that is part of
- STMicroelectronics STiH41x SoC series.
-
-config PHY_QCOM_UFS
- tristate "Qualcomm UFS PHY driver"
- depends on OF && ARCH_QCOM
- select GENERIC_PHY
- help
- Support for UFS PHY on QCOM chipsets.
-
-config PHY_TUSB1210
- tristate "TI TUSB1210 ULPI PHY module"
- depends on USB_ULPI_BUS
- select GENERIC_PHY
- help
- Support for TI TUSB1210 USB ULPI PHY.
-
-config PHY_BRCMSTB_SATA
- tristate "Broadcom STB SATA PHY driver"
- depends on ARCH_BRCMSTB || BMIPS_GENERIC
- depends on OF
- select GENERIC_PHY
- help
- Enable this to support the SATA3 PHY on 28nm or 40nm Broadcom STB SoCs.
- Likely useful only with CONFIG_SATA_BRCMSTB enabled.
-
-config PHY_CYGNUS_PCIE
- tristate "Broadcom Cygnus PCIe PHY driver"
- depends on OF && (ARCH_BCM_CYGNUS || COMPILE_TEST)
- select GENERIC_PHY
- default ARCH_BCM_CYGNUS
- help
- Enable this to support the Broadcom Cygnus PCIe PHY.
- If unsure, say N.
+menuconfig PHY_PLAT
+ bool "Platform Phy drivers"
+
+if PHY_PLAT
+source "drivers/phy/bcom/Kconfig"
+source "drivers/phy/hisi/Kconfig"
+source "drivers/phy/marvell/Kconfig"
+source "drivers/phy/qcom/Kconfig"
+source "drivers/phy/rcar/Kconfig"
+source "drivers/phy/rockchip/Kconfig"
+source "drivers/phy/samsung/Kconfig"
+source "drivers/phy/st/Kconfig"
+source "drivers/phy/sunxi/Kconfig"
+source "drivers/phy/ti/Kconfig"
+endif
endmenu
diff --git a/drivers/phy/Makefile b/drivers/phy/Makefile
index 24596a9..73d563b 100644
--- a/drivers/phy/Makefile
+++ b/drivers/phy/Makefile
@@ -3,52 +3,19 @@
#
obj-$(CONFIG_GENERIC_PHY) += phy-core.o
-obj-$(CONFIG_PHY_BERLIN_USB) += phy-berlin-usb.o
-obj-$(CONFIG_PHY_BERLIN_SATA) += phy-berlin-sata.o
-obj-$(CONFIG_PHY_DM816X_USB) += phy-dm816x-usb.o
-obj-$(CONFIG_ARMADA375_USBCLUSTER_PHY) += phy-armada375-usb2.o
-obj-$(CONFIG_BCM_KONA_USB2_PHY) += phy-bcm-kona-usb2.o
-obj-$(CONFIG_PHY_EXYNOS_DP_VIDEO) += phy-exynos-dp-video.o
-obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO) += phy-exynos-mipi-video.o
obj-$(CONFIG_PHY_LPC18XX_USB_OTG) += phy-lpc18xx-usb-otg.o
-obj-$(CONFIG_PHY_PXA_28NM_USB2) += phy-pxa-28nm-usb2.o
-obj-$(CONFIG_PHY_PXA_28NM_HSIC) += phy-pxa-28nm-hsic.o
-obj-$(CONFIG_PHY_MVEBU_SATA) += phy-mvebu-sata.o
-obj-$(CONFIG_PHY_MIPHY28LP) += phy-miphy28lp.o
-obj-$(CONFIG_PHY_MIPHY365X) += phy-miphy365x.o
-obj-$(CONFIG_PHY_RCAR_GEN2) += phy-rcar-gen2.o
-obj-$(CONFIG_PHY_RCAR_GEN3_USB2) += phy-rcar-gen3-usb2.o
-obj-$(CONFIG_OMAP_CONTROL_PHY) += phy-omap-control.o
-obj-$(CONFIG_OMAP_USB2) += phy-omap-usb2.o
-obj-$(CONFIG_TI_PIPE3) += phy-ti-pipe3.o
-obj-$(CONFIG_TWL4030_USB) += phy-twl4030-usb.o
-obj-$(CONFIG_PHY_EXYNOS5250_SATA) += phy-exynos5250-sata.o
-obj-$(CONFIG_PHY_HIX5HD2_SATA) += phy-hix5hd2-sata.o
-obj-$(CONFIG_PHY_HI6220_USB) += phy-hi6220-usb.o
obj-$(CONFIG_PHY_MT65XX_USB3) += phy-mt65xx-usb3.o
-obj-$(CONFIG_PHY_SUN4I_USB) += phy-sun4i-usb.o
-obj-$(CONFIG_PHY_SUN9I_USB) += phy-sun9i-usb.o
-obj-$(CONFIG_PHY_SAMSUNG_USB2) += phy-exynos-usb2.o
-phy-exynos-usb2-y += phy-samsung-usb2.o
-phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4210_USB2) += phy-exynos4210-usb2.o
-phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4X12_USB2) += phy-exynos4x12-usb2.o
-phy-exynos-usb2-$(CONFIG_PHY_EXYNOS5250_USB2) += phy-exynos5250-usb2.o
-phy-exynos-usb2-$(CONFIG_PHY_S5PV210_USB2) += phy-s5pv210-usb2.o
-obj-$(CONFIG_PHY_EXYNOS5_USBDRD) += phy-exynos5-usbdrd.o
-obj-$(CONFIG_PHY_QCOM_APQ8064_SATA) += phy-qcom-apq8064-sata.o
-obj-$(CONFIG_PHY_ROCKCHIP_USB) += phy-rockchip-usb.o
-obj-$(CONFIG_PHY_ROCKCHIP_EMMC) += phy-rockchip-emmc.o
-obj-$(CONFIG_PHY_ROCKCHIP_DP) += phy-rockchip-dp.o
-obj-$(CONFIG_PHY_QCOM_IPQ806X_SATA) += phy-qcom-ipq806x-sata.o
-obj-$(CONFIG_PHY_ST_SPEAR1310_MIPHY) += phy-spear1310-miphy.o
-obj-$(CONFIG_PHY_ST_SPEAR1340_MIPHY) += phy-spear1340-miphy.o
obj-$(CONFIG_PHY_XGENE) += phy-xgene.o
-obj-$(CONFIG_PHY_STIH407_USB) += phy-stih407-usb.o
-obj-$(CONFIG_PHY_STIH41X_USB) += phy-stih41x-usb.o
-obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs.o
-obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs-qmp-20nm.o
-obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs-qmp-14nm.o
-obj-$(CONFIG_PHY_TUSB1210) += phy-tusb1210.o
-obj-$(CONFIG_PHY_BRCMSTB_SATA) += phy-brcmstb-sata.o
obj-$(CONFIG_PHY_PISTACHIO_USB) += phy-pistachio-usb.o
-obj-$(CONFIG_PHY_CYGNUS_PCIE) += phy-bcm-cygnus-pcie.o
+
+# Phy drivers for different platforms.
+obj-$(CONFIG_PHY_PLAT) += bcom/ \
+ hisi/ \
+ marvell/ \
+ qcom/ \
+ rcar/ \
+ rockchip/ \
+ samsung/ \
+ st/ \
+ sunxi/ \
+ ti/
diff --git a/drivers/phy/bcom/Kconfig b/drivers/phy/bcom/Kconfig
new file mode 100644
index 0000000..8243372
--- /dev/null
+++ b/drivers/phy/bcom/Kconfig
@@ -0,0 +1,27 @@
+#
+# PHY drivers for Broadcom platforms
+#
+config PHY_CYGNUS_PCIE
+ tristate "Broadcom Cygnus PCIe PHY driver"
+ depends on OF && (ARCH_BCM_CYGNUS || COMPILE_TEST)
+ select GENERIC_PHY
+ default ARCH_BCM_CYGNUS
+ help
+ Enable this to support the Broadcom Cygnus PCIe PHY.
+ If unsure, say N.
+
+config BCM_KONA_USB2_PHY
+ tristate "Broadcom Kona USB2 PHY Driver"
+ depends on HAS_IOMEM
+ select GENERIC_PHY
+ help
+ Enable this to support the Broadcom Kona USB 2.0 PHY.
+
+config PHY_BRCMSTB_SATA
+ tristate "Broadcom STB SATA PHY driver"
+ depends on ARCH_BRCMSTB || BMIPS_GENERIC
+ depends on OF
+ select GENERIC_PHY
+ help
+ Enable this to support the SATA3 PHY on 28nm or 40nm Broadcom STB SoCs.
+ Likely useful only with CONFIG_SATA_BRCMSTB enabled.
diff --git a/drivers/phy/bcom/Makefile b/drivers/phy/bcom/Makefile
new file mode 100644
index 0000000..f30fa76
--- /dev/null
+++ b/drivers/phy/bcom/Makefile
@@ -0,0 +1,3 @@
+obj-$(CONFIG_PHY_CYGNUS_PCIE) += phy-bcm-cygnus-pcie.o
+obj-$(CONFIG_BCM_KONA_USB2_PHY) += phy-bcm-kona-usb2.o
+obj-$(CONFIG_PHY_BRCMSTB_SATA) += phy-brcmstb-sata.o
diff --git a/drivers/phy/phy-bcm-cygnus-pcie.c b/drivers/phy/bcom/phy-bcm-cygnus-pcie.c
similarity index 100%
rename from drivers/phy/phy-bcm-cygnus-pcie.c
rename to drivers/phy/bcom/phy-bcm-cygnus-pcie.c
diff --git a/drivers/phy/phy-bcm-kona-usb2.c b/drivers/phy/bcom/phy-bcm-kona-usb2.c
similarity index 100%
rename from drivers/phy/phy-bcm-kona-usb2.c
rename to drivers/phy/bcom/phy-bcm-kona-usb2.c
diff --git a/drivers/phy/phy-brcmstb-sata.c b/drivers/phy/bcom/phy-brcmstb-sata.c
similarity index 100%
rename from drivers/phy/phy-brcmstb-sata.c
rename to drivers/phy/bcom/phy-brcmstb-sata.c
diff --git a/drivers/phy/hisi/Kconfig b/drivers/phy/hisi/Kconfig
new file mode 100644
index 0000000..affa9ed
--- /dev/null
+++ b/drivers/phy/hisi/Kconfig
@@ -0,0 +1,20 @@
+#
+# PHY drivers for HiSilicon platforms
+#
+config PHY_HIX5HD2_SATA
+ tristate "HIX5HD2 SATA PHY Driver"
+ depends on ARCH_HIX5HD2 && OF && HAS_IOMEM
+ select GENERIC_PHY
+ select MFD_SYSCON
+ help
+ Support for SATA PHY on Hisilicon hix5hd2 Soc.
+
+config PHY_HI6220_USB
+ tristate "hi6220 USB PHY support"
+ depends on (ARCH_HISI && ARM64) || COMPILE_TEST
+ select GENERIC_PHY
+ select MFD_SYSCON
+ help
+ Enable this to support the HISILICON HI6220 USB PHY.
+
+ To compile this driver as a module, choose M here.
diff --git a/drivers/phy/hisi/Makefile b/drivers/phy/hisi/Makefile
new file mode 100644
index 0000000..6059ed8
--- /dev/null
+++ b/drivers/phy/hisi/Makefile
@@ -0,0 +1,2 @@
+obj-$(CONFIG_PHY_HIX5HD2_SATA) += phy-hix5hd2-sata.o
+obj-$(CONFIG_PHY_HI6220_USB) += phy-hi6220-usb.o
diff --git a/drivers/phy/phy-hi6220-usb.c b/drivers/phy/hisi/phy-hi6220-usb.c
similarity index 100%
rename from drivers/phy/phy-hi6220-usb.c
rename to drivers/phy/hisi/phy-hi6220-usb.c
diff --git a/drivers/phy/phy-hix5hd2-sata.c b/drivers/phy/hisi/phy-hix5hd2-sata.c
similarity index 100%
rename from drivers/phy/phy-hix5hd2-sata.c
rename to drivers/phy/hisi/phy-hix5hd2-sata.c
diff --git a/drivers/phy/marvell/Kconfig b/drivers/phy/marvell/Kconfig
new file mode 100644
index 0000000..6c1576c
--- /dev/null
+++ b/drivers/phy/marvell/Kconfig
@@ -0,0 +1,50 @@
+#
+# PHY drivers for Marvell platforms
+#
+config ARMADA375_USBCLUSTER_PHY
+ def_bool y
+ depends on MACH_ARMADA_375 || COMPILE_TEST
+ depends on OF && HAS_IOMEM
+ select GENERIC_PHY
+
+config PHY_BERLIN_USB
+ tristate "Marvell Berlin USB PHY Driver"
+ depends on ARCH_BERLIN && RESET_CONTROLLER && HAS_IOMEM && OF
+ select GENERIC_PHY
+ help
+ Enable this to support the USB PHY on Marvell Berlin SoCs.
+
+config PHY_BERLIN_SATA
+ tristate "Marvell Berlin SATA PHY driver"
+ depends on ARCH_BERLIN && HAS_IOMEM && OF
+ select GENERIC_PHY
+ help
+ Enable this to support the SATA PHY on Marvell Berlin SoCs.
+
+config PHY_MVEBU_SATA
+ def_bool y
+ depends on ARCH_DOVE || MACH_DOVE || MACH_KIRKWOOD
+ depends on OF
+ select GENERIC_PHY
+
+config PHY_PXA_28NM_HSIC
+ tristate "Marvell USB HSIC 28nm PHY Driver"
+ depends on HAS_IOMEM
+ select GENERIC_PHY
+ help
+ Enable this to support Marvell USB HSIC PHY driver for Marvell
+ SoC. This driver will do the PHY initialization and shutdown.
+ The PHY driver will be used by Marvell ehci driver.
+
+ To compile this driver as a module, choose M here.
+
+config PHY_PXA_28NM_USB2
+ tristate "Marvell USB 2.0 28nm PHY Driver"
+ depends on HAS_IOMEM
+ select GENERIC_PHY
+ help
+ Enable this to support Marvell USB 2.0 PHY driver for Marvell
+ SoC. This driver will do the PHY initialization and shutdown.
+ The PHY driver will be used by Marvell udc/ehci/otg driver.
+
+ 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 0000000..f4fa255
--- /dev/null
+++ b/drivers/phy/marvell/Makefile
@@ -0,0 +1,6 @@
+obj-$(CONFIG_ARMADA375_USBCLUSTER_PHY) += phy-armada375-usb2.o
+obj-$(CONFIG_PHY_BERLIN_USB) += phy-berlin-usb.o
+obj-$(CONFIG_PHY_BERLIN_SATA) += phy-berlin-sata.o
+obj-$(CONFIG_PHY_MVEBU_SATA) += phy-mvebu-sata.o
+obj-$(CONFIG_PHY_PXA_28NM_USB2) += phy-pxa-28nm-usb2.o
+obj-$(CONFIG_PHY_PXA_28NM_HSIC) += phy-pxa-28nm-hsic.o
diff --git a/drivers/phy/phy-armada375-usb2.c b/drivers/phy/marvell/phy-armada375-usb2.c
similarity index 100%
rename from drivers/phy/phy-armada375-usb2.c
rename to drivers/phy/marvell/phy-armada375-usb2.c
diff --git a/drivers/phy/phy-berlin-sata.c b/drivers/phy/marvell/phy-berlin-sata.c
similarity index 100%
rename from drivers/phy/phy-berlin-sata.c
rename to drivers/phy/marvell/phy-berlin-sata.c
diff --git a/drivers/phy/phy-berlin-usb.c b/drivers/phy/marvell/phy-berlin-usb.c
similarity index 100%
rename from drivers/phy/phy-berlin-usb.c
rename to drivers/phy/marvell/phy-berlin-usb.c
diff --git a/drivers/phy/phy-mvebu-sata.c b/drivers/phy/marvell/phy-mvebu-sata.c
similarity index 100%
rename from drivers/phy/phy-mvebu-sata.c
rename to 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
similarity index 100%
rename from drivers/phy/phy-pxa-28nm-hsic.c
rename to 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
similarity index 100%
rename from drivers/phy/phy-pxa-28nm-usb2.c
rename to drivers/phy/marvell/phy-pxa-28nm-usb2.c
diff --git a/drivers/phy/qcom/Kconfig b/drivers/phy/qcom/Kconfig
new file mode 100644
index 0000000..9718d01
--- /dev/null
+++ b/drivers/phy/qcom/Kconfig
@@ -0,0 +1,23 @@
+#
+# PHY drivers for Qualcomm platforms
+#
+config PHY_QCOM_APQ8064_SATA
+ tristate "Qualcomm APQ8064 SATA SerDes/PHY driver"
+ depends on ARCH_QCOM
+ depends on HAS_IOMEM
+ depends on OF
+ select GENERIC_PHY
+
+config PHY_QCOM_IPQ806X_SATA
+ tristate "Qualcomm IPQ806x SATA SerDes/PHY driver"
+ depends on ARCH_QCOM
+ depends on HAS_IOMEM
+ depends on OF
+ select GENERIC_PHY
+
+config PHY_QCOM_UFS
+ tristate "Qualcomm UFS PHY driver"
+ depends on OF && ARCH_QCOM
+ select GENERIC_PHY
+ help
+ Support for UFS PHY on QCOM chipsets.
diff --git a/drivers/phy/qcom/Makefile b/drivers/phy/qcom/Makefile
new file mode 100644
index 0000000..2db3e77
--- /dev/null
+++ b/drivers/phy/qcom/Makefile
@@ -0,0 +1,5 @@
+obj-$(CONFIG_PHY_QCOM_APQ8064_SATA) += phy-qcom-apq8064-sata.o
+obj-$(CONFIG_PHY_QCOM_IPQ806X_SATA) += phy-qcom-ipq806x-sata.o
+obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs.o \
+ += phy-qcom-ufs-qmp-20nm.o \
+ += phy-qcom-ufs-qmp-14nm.o
diff --git a/drivers/phy/phy-qcom-apq8064-sata.c b/drivers/phy/qcom/phy-qcom-apq8064-sata.c
similarity index 100%
rename from drivers/phy/phy-qcom-apq8064-sata.c
rename to drivers/phy/qcom/phy-qcom-apq8064-sata.c
diff --git a/drivers/phy/phy-qcom-ipq806x-sata.c b/drivers/phy/qcom/phy-qcom-ipq806x-sata.c
similarity index 100%
rename from drivers/phy/phy-qcom-ipq806x-sata.c
rename to drivers/phy/qcom/phy-qcom-ipq806x-sata.c
diff --git a/drivers/phy/phy-qcom-ufs-i.h b/drivers/phy/qcom/phy-qcom-ufs-i.h
similarity index 100%
rename from drivers/phy/phy-qcom-ufs-i.h
rename to drivers/phy/qcom/phy-qcom-ufs-i.h
diff --git a/drivers/phy/phy-qcom-ufs-qmp-14nm.c b/drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.c
similarity index 100%
rename from drivers/phy/phy-qcom-ufs-qmp-14nm.c
rename to drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.c
diff --git a/drivers/phy/phy-qcom-ufs-qmp-14nm.h b/drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.h
similarity index 100%
rename from drivers/phy/phy-qcom-ufs-qmp-14nm.h
rename to drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.h
diff --git a/drivers/phy/phy-qcom-ufs-qmp-20nm.c b/drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.c
similarity index 100%
rename from drivers/phy/phy-qcom-ufs-qmp-20nm.c
rename to drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.c
diff --git a/drivers/phy/phy-qcom-ufs-qmp-20nm.h b/drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.h
similarity index 100%
rename from drivers/phy/phy-qcom-ufs-qmp-20nm.h
rename to drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.h
diff --git a/drivers/phy/phy-qcom-ufs.c b/drivers/phy/qcom/phy-qcom-ufs.c
similarity index 100%
rename from drivers/phy/phy-qcom-ufs.c
rename to drivers/phy/qcom/phy-qcom-ufs.c
diff --git a/drivers/phy/rcar/Kconfig b/drivers/phy/rcar/Kconfig
new file mode 100644
index 0000000..169b5e2
--- /dev/null
+++ b/drivers/phy/rcar/Kconfig
@@ -0,0 +1,16 @@
+#
+# PHY drivers for Renesas's r-car platforms
+#
+config PHY_RCAR_GEN2
+ tristate "Renesas R-Car generation 2 USB PHY driver"
+ depends on ARCH_SHMOBILE
+ depends on GENERIC_PHY
+ help
+ Support for USB PHY found on Renesas R-Car generation 2 SoCs.
+
+config PHY_RCAR_GEN3_USB2
+ tristate "Renesas R-Car generation 3 USB 2.0 PHY driver"
+ depends on OF && ARCH_SHMOBILE
+ select GENERIC_PHY
+ help
+ Support for USB 2.0 PHY found on Renesas R-Car generation 3 SoCs.
diff --git a/drivers/phy/rcar/Makefile b/drivers/phy/rcar/Makefile
new file mode 100644
index 0000000..695241a
--- /dev/null
+++ b/drivers/phy/rcar/Makefile
@@ -0,0 +1,2 @@
+obj-$(CONFIG_PHY_RCAR_GEN2) += phy-rcar-gen2.o
+obj-$(CONFIG_PHY_RCAR_GEN3_USB2) += phy-rcar-gen3-usb2.o
diff --git a/drivers/phy/phy-rcar-gen2.c b/drivers/phy/rcar/phy-rcar-gen2.c
similarity index 100%
rename from drivers/phy/phy-rcar-gen2.c
rename to drivers/phy/rcar/phy-rcar-gen2.c
diff --git a/drivers/phy/phy-rcar-gen3-usb2.c b/drivers/phy/rcar/phy-rcar-gen3-usb2.c
similarity index 100%
rename from drivers/phy/phy-rcar-gen3-usb2.c
rename to drivers/phy/rcar/phy-rcar-gen3-usb2.c
diff --git a/drivers/phy/rockchip/Kconfig b/drivers/phy/rockchip/Kconfig
new file mode 100644
index 0000000..c575d1e
--- /dev/null
+++ b/drivers/phy/rockchip/Kconfig
@@ -0,0 +1,23 @@
+#
+# PHY drivers for Rockchip platforms
+#
+config PHY_ROCKCHIP_USB
+ tristate "Rockchip USB2 PHY Driver"
+ depends on ARCH_ROCKCHIP && OF
+ select GENERIC_PHY
+ help
+ Enable this to support the Rockchip USB 2.0 PHY.
+
+config PHY_ROCKCHIP_EMMC
+ tristate "Rockchip EMMC PHY Driver"
+ depends on ARCH_ROCKCHIP && OF
+ select GENERIC_PHY
+ help
+ Enable this to support the Rockchip EMMC PHY.
+
+config PHY_ROCKCHIP_DP
+ tristate "Rockchip Display Port PHY Driver"
+ depends on ARCH_ROCKCHIP && OF
+ select GENERIC_PHY
+ help
+ Enable this to support the Rockchip Display Port PHY.
diff --git a/drivers/phy/rockchip/Makefile b/drivers/phy/rockchip/Makefile
new file mode 100644
index 0000000..c15acc1
--- /dev/null
+++ b/drivers/phy/rockchip/Makefile
@@ -0,0 +1,3 @@
+obj-$(CONFIG_PHY_ROCKCHIP_DP) += phy-rockchip-dp.o
+obj-$(CONFIG_PHY_ROCKCHIP_EMMC) += phy-rockchip-emmc.o
+obj-$(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
similarity index 100%
rename from drivers/phy/phy-rockchip-dp.c
rename to drivers/phy/rockchip/phy-rockchip-dp.c
diff --git a/drivers/phy/phy-rockchip-emmc.c b/drivers/phy/rockchip/phy-rockchip-emmc.c
similarity index 100%
rename from drivers/phy/phy-rockchip-emmc.c
rename to drivers/phy/rockchip/phy-rockchip-emmc.c
diff --git a/drivers/phy/phy-rockchip-usb.c b/drivers/phy/rockchip/phy-rockchip-usb.c
similarity index 100%
rename from drivers/phy/phy-rockchip-usb.c
rename to drivers/phy/rockchip/phy-rockchip-usb.c
diff --git a/drivers/phy/samsung/Kconfig b/drivers/phy/samsung/Kconfig
new file mode 100644
index 0000000..80bdea7
--- /dev/null
+++ b/drivers/phy/samsung/Kconfig
@@ -0,0 +1,87 @@
+#
+# PHY drivers for Samsung platforms
+#
+config PHY_SAMSUNG_USB2
+ tristate "Samsung USB 2.0 PHY driver"
+ depends on HAS_IOMEM
+ depends on USB_EHCI_EXYNOS || USB_OHCI_EXYNOS || USB_DWC2
+ select GENERIC_PHY
+ select MFD_SYSCON
+ default ARCH_EXYNOS
+ help
+ Enable this to support the Samsung USB 2.0 PHY driver for Samsung
+ SoCs. This driver provides the interface for USB 2.0 PHY. Support
+ for particular PHYs will be enabled based on the SoC type in addition
+ to this driver.
+
+config PHY_S5PV210_USB2
+ bool "Support for S5PV210"
+ depends on PHY_SAMSUNG_USB2
+ depends on ARCH_S5PV210
+ help
+ Enable USB PHY support for S5PV210. This option requires that Samsung
+ USB 2.0 PHY driver is enabled and means that support for this
+ particular SoC is compiled in the driver. In case of S5PV210 two phys
+ are available - device and host.
+
+config PHY_EXYNOS4210_USB2
+ bool
+ depends on PHY_SAMSUNG_USB2
+ default CPU_EXYNOS4210
+
+config PHY_EXYNOS4X12_USB2
+ bool
+ depends on PHY_SAMSUNG_USB2
+ default SOC_EXYNOS3250 || SOC_EXYNOS4212 || SOC_EXYNOS4412
+
+config PHY_EXYNOS5250_USB2
+ bool
+ depends on PHY_SAMSUNG_USB2
+ default SOC_EXYNOS5250 || SOC_EXYNOS5420
+
+config PHY_EXYNOS5_USBDRD
+ tristate "Exynos5 SoC series USB DRD PHY driver"
+ depends on ARCH_EXYNOS && OF
+ depends on HAS_IOMEM
+ depends on USB_DWC3_EXYNOS
+ select GENERIC_PHY
+ select MFD_SYSCON
+ default y
+ help
+ Enable USB DRD PHY support for Exynos 5 SoC series.
+ This driver provides PHY interface for USB 3.0 DRD controller
+ present on Exynos5 SoC series.
+
+config PHY_EXYNOS_DP_VIDEO
+ tristate "EXYNOS SoC series Display Port PHY driver"
+ depends on OF
+ depends on ARCH_EXYNOS || COMPILE_TEST
+ default ARCH_EXYNOS
+ select GENERIC_PHY
+ help
+ Support for Display Port PHY found on Samsung EXYNOS SoCs.
+
+config PHY_EXYNOS_MIPI_VIDEO
+ tristate "S5P/EXYNOS SoC series MIPI CSI-2/DSI PHY driver"
+ depends on HAS_IOMEM
+ depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
+ select GENERIC_PHY
+ default y if ARCH_S5PV210 || ARCH_EXYNOS
+ help
+ Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P
+ and EXYNOS SoCs.
+
+config PHY_EXYNOS5250_SATA
+ tristate "Exynos5250 Sata SerDes/PHY driver"
+ depends on SOC_EXYNOS5250
+ depends on HAS_IOMEM
+ depends on OF
+ select GENERIC_PHY
+ select I2C
+ select I2C_S3C2410
+ select MFD_SYSCON
+ help
+ Enable this to support SATA SerDes/Phy found on Samsung's
+ Exynos5250 based SoCs.This SerDes/Phy supports SATA 1.5 Gb/s,
+ SATA 3.0 Gb/s, SATA 6.0 Gb/s speeds. It supports one SATA host
+ port to accept one SATA device.
diff --git a/drivers/phy/samsung/Makefile b/drivers/phy/samsung/Makefile
new file mode 100644
index 0000000..585dbd7
--- /dev/null
+++ b/drivers/phy/samsung/Makefile
@@ -0,0 +1,10 @@
+obj-$(CONFIG_PHY_SAMSUNG_USB2) += phy-exynos-usb2.o
+phy-exynos-usb2-y += phy-samsung-usb2.o
+phy-exynos-usb2-$(CONFIG_PHY_S5PV210_USB2) += phy-s5pv210-usb2.o
+phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4210_USB2) += phy-exynos4210-usb2.o
+phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4X12_USB2) += phy-exynos4x12-usb2.o
+phy-exynos-usb2-$(CONFIG_PHY_EXYNOS5250_USB2) += phy-exynos5250-usb2.o
+obj-$(CONFIG_PHY_EXYNOS5_USBDRD) += phy-exynos5-usbdrd.o
+obj-$(CONFIG_PHY_EXYNOS_DP_VIDEO) += phy-exynos-dp-video.o
+obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO) += phy-exynos-mipi-video.o
+obj-$(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
similarity index 100%
rename from drivers/phy/phy-exynos-dp-video.c
rename to 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
similarity index 100%
rename from drivers/phy/phy-exynos-mipi-video.c
rename to drivers/phy/samsung/phy-exynos-mipi-video.c
diff --git a/drivers/phy/phy-exynos4210-usb2.c b/drivers/phy/samsung/phy-exynos4210-usb2.c
similarity index 100%
rename from drivers/phy/phy-exynos4210-usb2.c
rename to drivers/phy/samsung/phy-exynos4210-usb2.c
diff --git a/drivers/phy/phy-exynos4x12-usb2.c b/drivers/phy/samsung/phy-exynos4x12-usb2.c
similarity index 100%
rename from drivers/phy/phy-exynos4x12-usb2.c
rename to drivers/phy/samsung/phy-exynos4x12-usb2.c
diff --git a/drivers/phy/phy-exynos5-usbdrd.c b/drivers/phy/samsung/phy-exynos5-usbdrd.c
similarity index 100%
rename from drivers/phy/phy-exynos5-usbdrd.c
rename to drivers/phy/samsung/phy-exynos5-usbdrd.c
diff --git a/drivers/phy/phy-exynos5250-sata.c b/drivers/phy/samsung/phy-exynos5250-sata.c
similarity index 100%
rename from drivers/phy/phy-exynos5250-sata.c
rename to drivers/phy/samsung/phy-exynos5250-sata.c
diff --git a/drivers/phy/phy-exynos5250-usb2.c b/drivers/phy/samsung/phy-exynos5250-usb2.c
similarity index 100%
rename from drivers/phy/phy-exynos5250-usb2.c
rename to drivers/phy/samsung/phy-exynos5250-usb2.c
diff --git a/drivers/phy/phy-s5pv210-usb2.c b/drivers/phy/samsung/phy-s5pv210-usb2.c
similarity index 100%
rename from drivers/phy/phy-s5pv210-usb2.c
rename to drivers/phy/samsung/phy-s5pv210-usb2.c
diff --git a/drivers/phy/phy-samsung-usb2.c b/drivers/phy/samsung/phy-samsung-usb2.c
similarity index 100%
rename from drivers/phy/phy-samsung-usb2.c
rename to drivers/phy/samsung/phy-samsung-usb2.c
diff --git a/drivers/phy/phy-samsung-usb2.h b/drivers/phy/samsung/phy-samsung-usb2.h
similarity index 100%
rename from drivers/phy/phy-samsung-usb2.h
rename to drivers/phy/samsung/phy-samsung-usb2.h
diff --git a/drivers/phy/st/Kconfig b/drivers/phy/st/Kconfig
new file mode 100644
index 0000000..651b2bf
--- /dev/null
+++ b/drivers/phy/st/Kconfig
@@ -0,0 +1,51 @@
+#
+# PHY drivers for ST Micro platforms
+#
+config PHY_MIPHY28LP
+ tristate "STMicroelectronics MIPHY28LP PHY driver for STiH407"
+ depends on ARCH_STI
+ select GENERIC_PHY
+ help
+ Enable this to support the miphy transceiver (for SATA/PCIE/USB3)
+ that is part of STMicroelectronics STiH407 SoC.
+
+config PHY_MIPHY365X
+ tristate "STMicroelectronics MIPHY365X PHY driver for STiH41x series"
+ depends on ARCH_STI
+ depends on HAS_IOMEM
+ depends on OF
+ select GENERIC_PHY
+ help
+ Enable this to support the miphy transceiver (for SATA/PCIE)
+ that is part of STMicroelectronics STiH41x SoC series.
+
+config PHY_ST_SPEAR1310_MIPHY
+ tristate "ST SPEAR1310-MIPHY driver"
+ select GENERIC_PHY
+ depends on MACH_SPEAR1310 || COMPILE_TEST
+ help
+ Support for ST SPEAr1310 MIPHY which can be used for PCIe and SATA.
+
+config PHY_ST_SPEAR1340_MIPHY
+ tristate "ST SPEAR1340-MIPHY driver"
+ select GENERIC_PHY
+ depends on MACH_SPEAR1340 || COMPILE_TEST
+ help
+ Support for ST SPEAr1340 MIPHY which can be used for PCIe and SATA.
+
+config PHY_STIH407_USB
+ tristate "STMicroelectronics USB2 picoPHY driver for STiH407 family"
+ depends on RESET_CONTROLLER
+ depends on ARCH_STI || COMPILE_TEST
+ select GENERIC_PHY
+ help
+ Enable this support to enable the picoPHY device used by USB2
+ and USB3 controllers on STMicroelectronics STiH407 SoC families.
+
+config PHY_STIH41X_USB
+ tristate "STMicroelectronics USB2 PHY driver for STiH41x series"
+ depends on ARCH_STI
+ select GENERIC_PHY
+ help
+ Enable this to support the USB transceiver that is part of
+ STMicroelectronics STiH41x SoC series.
diff --git a/drivers/phy/st/Makefile b/drivers/phy/st/Makefile
new file mode 100644
index 0000000..907561b
--- /dev/null
+++ b/drivers/phy/st/Makefile
@@ -0,0 +1,6 @@
+obj-$(CONFIG_PHY_MIPHY28LP) += phy-miphy28lp.o
+obj-$(CONFIG_PHY_MIPHY365X) += phy-miphy365x.o
+obj-$(CONFIG_PHY_ST_SPEAR1310_MIPHY) += phy-spear1310-miphy.o
+obj-$(CONFIG_PHY_ST_SPEAR1340_MIPHY) += phy-spear1340-miphy.o
+obj-$(CONFIG_PHY_STIH407_USB) += phy-stih407-usb.o
+obj-$(CONFIG_PHY_STIH41X_USB) += phy-stih41x-usb.o
diff --git a/drivers/phy/phy-miphy28lp.c b/drivers/phy/st/phy-miphy28lp.c
similarity index 100%
rename from drivers/phy/phy-miphy28lp.c
rename to drivers/phy/st/phy-miphy28lp.c
diff --git a/drivers/phy/phy-miphy365x.c b/drivers/phy/st/phy-miphy365x.c
similarity index 100%
rename from drivers/phy/phy-miphy365x.c
rename to drivers/phy/st/phy-miphy365x.c
diff --git a/drivers/phy/phy-spear1310-miphy.c b/drivers/phy/st/phy-spear1310-miphy.c
similarity index 100%
rename from drivers/phy/phy-spear1310-miphy.c
rename to drivers/phy/st/phy-spear1310-miphy.c
diff --git a/drivers/phy/phy-spear1340-miphy.c b/drivers/phy/st/phy-spear1340-miphy.c
similarity index 100%
rename from drivers/phy/phy-spear1340-miphy.c
rename to drivers/phy/st/phy-spear1340-miphy.c
diff --git a/drivers/phy/phy-stih407-usb.c b/drivers/phy/st/phy-stih407-usb.c
similarity index 100%
rename from drivers/phy/phy-stih407-usb.c
rename to drivers/phy/st/phy-stih407-usb.c
diff --git a/drivers/phy/phy-stih41x-usb.c b/drivers/phy/st/phy-stih41x-usb.c
similarity index 100%
rename from drivers/phy/phy-stih41x-usb.c
rename to drivers/phy/st/phy-stih41x-usb.c
diff --git a/drivers/phy/sunxi/Kconfig b/drivers/phy/sunxi/Kconfig
new file mode 100644
index 0000000..eb06427
--- /dev/null
+++ b/drivers/phy/sunxi/Kconfig
@@ -0,0 +1,28 @@
+#
+# PHY drivers for Allwinner's sunxi platforms
+#
+config PHY_SUN4I_USB
+ tristate "Allwinner sunxi SoC USB PHY driver"
+ depends on ARCH_SUNXI && HAS_IOMEM && OF
+ depends on RESET_CONTROLLER
+ depends on EXTCON
+ depends on POWER_SUPPLY
+ select GENERIC_PHY
+ help
+ Enable this to support the transceiver that is part of Allwinner
+ sunxi SoCs.
+
+ This driver controls the entire USB PHY block, both the USB OTG
+ parts, as well as the 2 regular USB 2 host PHYs.
+
+config PHY_SUN9I_USB
+ tristate "Allwinner sun9i SoC USB PHY driver"
+ depends on ARCH_SUNXI && HAS_IOMEM && OF
+ depends on RESET_CONTROLLER
+ depends on USB_COMMON
+ select GENERIC_PHY
+ help
+ Enable this to support the transceiver that is part of Allwinner
+ sun9i SoCs.
+
+ This driver controls each individual USB 2 host PHY.
diff --git a/drivers/phy/sunxi/Makefile b/drivers/phy/sunxi/Makefile
new file mode 100644
index 0000000..8605529c
--- /dev/null
+++ b/drivers/phy/sunxi/Makefile
@@ -0,0 +1,2 @@
+obj-$(CONFIG_PHY_SUN4I_USB) += phy-sun4i-usb.o
+obj-$(CONFIG_PHY_SUN9I_USB) += phy-sun9i-usb.o
diff --git a/drivers/phy/phy-sun4i-usb.c b/drivers/phy/sunxi/phy-sun4i-usb.c
similarity index 100%
rename from drivers/phy/phy-sun4i-usb.c
rename to drivers/phy/sunxi/phy-sun4i-usb.c
diff --git a/drivers/phy/phy-sun9i-usb.c b/drivers/phy/sunxi/phy-sun9i-usb.c
similarity index 100%
rename from drivers/phy/phy-sun9i-usb.c
rename to drivers/phy/sunxi/phy-sun9i-usb.c
diff --git a/drivers/phy/ti/Kconfig b/drivers/phy/ti/Kconfig
new file mode 100644
index 0000000..1e3e307
--- /dev/null
+++ b/drivers/phy/ti/Kconfig
@@ -0,0 +1,67 @@
+#
+# PHY drivers for TI platforms
+#
+config PHY_DM816X_USB
+ tristate "TI dm816x USB PHY driver"
+ depends on ARCH_OMAP2PLUS
+ depends on USB_SUPPORT
+ select GENERIC_PHY
+ select USB_PHY
+ help
+ Enable this for dm816x USB to work.
+
+config OMAP_CONTROL_PHY
+ tristate "OMAP CONTROL PHY Driver"
+ depends on ARCH_OMAP2PLUS || COMPILE_TEST
+ help
+ Enable this to add support for the PHY part present in the control
+ module. This driver has API to power on the USB2 PHY and to write to
+ the mailbox. The mailbox is present only in omap4 and the register to
+ power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an
+ additional register to power on USB3 PHY/SATA PHY/PCIE PHY
+ (PIPE3 PHY).
+
+config OMAP_USB2
+ tristate "OMAP USB2 PHY Driver"
+ depends on ARCH_OMAP2PLUS
+ depends on USB_SUPPORT
+ select GENERIC_PHY
+ select USB_PHY
+ select OMAP_CONTROL_PHY
+ depends on OMAP_OCP2SCP
+ help
+ Enable this to support the transceiver that is part of SOC. This
+ driver takes care of all the PHY functionality apart from comparator.
+ The USB OTG controller communicates with the comparator using this
+ driver.
+
+config TI_PIPE3
+ tristate "TI PIPE3 PHY Driver"
+ depends on ARCH_OMAP2PLUS || COMPILE_TEST
+ select GENERIC_PHY
+ select OMAP_CONTROL_PHY
+ depends on OMAP_OCP2SCP
+ help
+ Enable this to support the PIPE3 PHY that is part of TI SOCs. This
+ driver takes care of all the PHY functionality apart from comparator.
+ This driver interacts with the "OMAP Control PHY Driver" to power
+ on/off the PHY.
+
+config PHY_TUSB1210
+ tristate "TI TUSB1210 ULPI PHY module"
+ depends on USB_ULPI_BUS
+ select GENERIC_PHY
+ help
+ Support for TI TUSB1210 USB ULPI PHY.
+
+config TWL4030_USB
+ tristate "TWL4030 USB Transceiver Driver"
+ depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
+ depends on USB_SUPPORT
+ select GENERIC_PHY
+ select USB_PHY
+ help
+ Enable this to support the USB OTG transceiver on TWL4030
+ family chips (including the TWL5030 and TPS659x0 devices).
+ This transceiver supports high and full speed devices plus,
+ in host mode, low speed.
diff --git a/drivers/phy/ti/Makefile b/drivers/phy/ti/Makefile
new file mode 100644
index 0000000..2d16f77
--- /dev/null
+++ b/drivers/phy/ti/Makefile
@@ -0,0 +1,6 @@
+obj-$(CONFIG_PHY_DM816X_USB) += phy-dm816x-usb.o
+obj-$(CONFIG_OMAP_CONTROL_PHY) += phy-omap-control.o
+obj-$(CONFIG_OMAP_USB2) += phy-omap-usb2.o
+obj-$(CONFIG_TI_PIPE3) += phy-ti-pipe3.o
+obj-$(CONFIG_PHY_TUSB1210) += phy-tusb1210.o
+obj-$(CONFIG_TWL4030_USB) += phy-twl4030-usb.o
diff --git a/drivers/phy/phy-dm816x-usb.c b/drivers/phy/ti/phy-dm816x-usb.c
similarity index 100%
rename from drivers/phy/phy-dm816x-usb.c
rename to drivers/phy/ti/phy-dm816x-usb.c
diff --git a/drivers/phy/phy-omap-control.c b/drivers/phy/ti/phy-omap-control.c
similarity index 100%
rename from drivers/phy/phy-omap-control.c
rename to drivers/phy/ti/phy-omap-control.c
diff --git a/drivers/phy/phy-omap-usb2.c b/drivers/phy/ti/phy-omap-usb2.c
similarity index 100%
rename from drivers/phy/phy-omap-usb2.c
rename to drivers/phy/ti/phy-omap-usb2.c
diff --git a/drivers/phy/phy-ti-pipe3.c b/drivers/phy/ti/phy-ti-pipe3.c
similarity index 100%
rename from drivers/phy/phy-ti-pipe3.c
rename to drivers/phy/ti/phy-ti-pipe3.c
diff --git a/drivers/phy/phy-tusb1210.c b/drivers/phy/ti/phy-tusb1210.c
similarity index 100%
rename from drivers/phy/phy-tusb1210.c
rename to drivers/phy/ti/phy-tusb1210.c
diff --git a/drivers/phy/phy-twl4030-usb.c b/drivers/phy/ti/phy-twl4030-usb.c
similarity index 100%
rename from drivers/phy/phy-twl4030-usb.c
rename to drivers/phy/ti/phy-twl4030-usb.c
diff --git a/drivers/phy/ulpi_phy.h b/drivers/phy/ti/ulpi_phy.h
similarity index 100%
rename from drivers/phy/ulpi_phy.h
rename to drivers/phy/ti/ulpi_phy.h
--
1.9.1
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-01 11:29 ` Vivek Gautam
0 siblings, 0 replies; 40+ messages in thread
From: Vivek Gautam @ 2016-04-01 11:29 UTC (permalink / raw)
To: vireshk-DgEjT+Ai2ygdnm+yROfE0A,
shiraz.linux.kernel-Re5JQEeQqe8AvxtiuMwx3w, kishon-l0cyMroinI0,
heiko-4mtYJXux2i+zQB+pC5nmwQ,
maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8, wens-jdAy2FN1RRM
Cc: linux-lFZ/pmaqli7XmaaqVzeoHQ,
gautam.vivek-Sze3O3UU22JBDgjK7y7TUQ,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
spear-devel-nkJGhpqTU55BDgjK7y7TUQ,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-usb-u79uwXL29TY76Z2rM5mHXA,
linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA,
linux-omap-u79uwXL29TY76Z2rM5mHXA, cpgs-Sze3O3UU22JBDgjK7y7TUQ
Adding vendor specific directories in phy to group
phy drivers under their respective vendor umbrella.
Signed-off-by: Vivek Gautam <gautam.vivek-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
---
With growing number of phy drivers, it makes sense to
group these drivers under their respective vendor/platform
umbrella directory.
Build-tested 'multi_v7_defconfig'.
drivers/phy/Kconfig | 386 +---------------------
drivers/phy/Makefile | 57 +---
drivers/phy/bcom/Kconfig | 27 ++
drivers/phy/bcom/Makefile | 3 +
drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c | 0
drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c | 0
drivers/phy/{ => bcom}/phy-brcmstb-sata.c | 0
drivers/phy/hisi/Kconfig | 20 ++
drivers/phy/hisi/Makefile | 2 +
drivers/phy/{ => hisi}/phy-hi6220-usb.c | 0
drivers/phy/{ => hisi}/phy-hix5hd2-sata.c | 0
drivers/phy/marvell/Kconfig | 50 +++
drivers/phy/marvell/Makefile | 6 +
drivers/phy/{ => marvell}/phy-armada375-usb2.c | 0
drivers/phy/{ => marvell}/phy-berlin-sata.c | 0
drivers/phy/{ => marvell}/phy-berlin-usb.c | 0
drivers/phy/{ => marvell}/phy-mvebu-sata.c | 0
drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c | 0
drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c | 0
drivers/phy/qcom/Kconfig | 23 ++
drivers/phy/qcom/Makefile | 5 +
drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c | 0
drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c | 0
drivers/phy/{ => qcom}/phy-qcom-ufs-i.h | 0
drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c | 0
drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h | 0
drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c | 0
drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h | 0
drivers/phy/{ => qcom}/phy-qcom-ufs.c | 0
drivers/phy/rcar/Kconfig | 16 +
drivers/phy/rcar/Makefile | 2 +
drivers/phy/{ => rcar}/phy-rcar-gen2.c | 0
drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c | 0
drivers/phy/rockchip/Kconfig | 23 ++
drivers/phy/rockchip/Makefile | 3 +
drivers/phy/{ => rockchip}/phy-rockchip-dp.c | 0
drivers/phy/{ => rockchip}/phy-rockchip-emmc.c | 0
drivers/phy/{ => rockchip}/phy-rockchip-usb.c | 0
drivers/phy/samsung/Kconfig | 87 +++++
drivers/phy/samsung/Makefile | 10 +
drivers/phy/{ => samsung}/phy-exynos-dp-video.c | 0
drivers/phy/{ => samsung}/phy-exynos-mipi-video.c | 0
drivers/phy/{ => samsung}/phy-exynos4210-usb2.c | 0
drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c | 0
drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c | 0
drivers/phy/{ => samsung}/phy-exynos5250-sata.c | 0
drivers/phy/{ => samsung}/phy-exynos5250-usb2.c | 0
drivers/phy/{ => samsung}/phy-s5pv210-usb2.c | 0
drivers/phy/{ => samsung}/phy-samsung-usb2.c | 0
drivers/phy/{ => samsung}/phy-samsung-usb2.h | 0
drivers/phy/st/Kconfig | 51 +++
drivers/phy/st/Makefile | 6 +
drivers/phy/{ => st}/phy-miphy28lp.c | 0
drivers/phy/{ => st}/phy-miphy365x.c | 0
drivers/phy/{ => st}/phy-spear1310-miphy.c | 0
drivers/phy/{ => st}/phy-spear1340-miphy.c | 0
drivers/phy/{ => st}/phy-stih407-usb.c | 0
drivers/phy/{ => st}/phy-stih41x-usb.c | 0
drivers/phy/sunxi/Kconfig | 28 ++
drivers/phy/sunxi/Makefile | 2 +
drivers/phy/{ => sunxi}/phy-sun4i-usb.c | 0
drivers/phy/{ => sunxi}/phy-sun9i-usb.c | 0
drivers/phy/ti/Kconfig | 67 ++++
drivers/phy/ti/Makefile | 6 +
drivers/phy/{ => ti}/phy-dm816x-usb.c | 0
drivers/phy/{ => ti}/phy-omap-control.c | 0
drivers/phy/{ => ti}/phy-omap-usb2.c | 0
drivers/phy/{ => ti}/phy-ti-pipe3.c | 0
drivers/phy/{ => ti}/phy-tusb1210.c | 0
drivers/phy/{ => ti}/phy-twl4030-usb.c | 0
drivers/phy/{ => ti}/ulpi_phy.h | 0
71 files changed, 464 insertions(+), 416 deletions(-)
create mode 100644 drivers/phy/bcom/Kconfig
create mode 100644 drivers/phy/bcom/Makefile
rename drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c (100%)
rename drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c (100%)
rename drivers/phy/{ => bcom}/phy-brcmstb-sata.c (100%)
create mode 100644 drivers/phy/hisi/Kconfig
create mode 100644 drivers/phy/hisi/Makefile
rename drivers/phy/{ => hisi}/phy-hi6220-usb.c (100%)
rename drivers/phy/{ => hisi}/phy-hix5hd2-sata.c (100%)
create mode 100644 drivers/phy/marvell/Kconfig
create mode 100644 drivers/phy/marvell/Makefile
rename drivers/phy/{ => marvell}/phy-armada375-usb2.c (100%)
rename drivers/phy/{ => marvell}/phy-berlin-sata.c (100%)
rename drivers/phy/{ => marvell}/phy-berlin-usb.c (100%)
rename drivers/phy/{ => marvell}/phy-mvebu-sata.c (100%)
rename drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c (100%)
rename drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c (100%)
create mode 100644 drivers/phy/qcom/Kconfig
create mode 100644 drivers/phy/qcom/Makefile
rename drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c (100%)
rename drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c (100%)
rename drivers/phy/{ => qcom}/phy-qcom-ufs-i.h (100%)
rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c (100%)
rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h (100%)
rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c (100%)
rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h (100%)
rename drivers/phy/{ => qcom}/phy-qcom-ufs.c (100%)
create mode 100644 drivers/phy/rcar/Kconfig
create mode 100644 drivers/phy/rcar/Makefile
rename drivers/phy/{ => rcar}/phy-rcar-gen2.c (100%)
rename drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c (100%)
create mode 100644 drivers/phy/rockchip/Kconfig
create mode 100644 drivers/phy/rockchip/Makefile
rename drivers/phy/{ => rockchip}/phy-rockchip-dp.c (100%)
rename drivers/phy/{ => rockchip}/phy-rockchip-emmc.c (100%)
rename drivers/phy/{ => rockchip}/phy-rockchip-usb.c (100%)
create mode 100644 drivers/phy/samsung/Kconfig
create mode 100644 drivers/phy/samsung/Makefile
rename drivers/phy/{ => samsung}/phy-exynos-dp-video.c (100%)
rename drivers/phy/{ => samsung}/phy-exynos-mipi-video.c (100%)
rename drivers/phy/{ => samsung}/phy-exynos4210-usb2.c (100%)
rename drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c (100%)
rename drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c (100%)
rename drivers/phy/{ => samsung}/phy-exynos5250-sata.c (100%)
rename drivers/phy/{ => samsung}/phy-exynos5250-usb2.c (100%)
rename drivers/phy/{ => samsung}/phy-s5pv210-usb2.c (100%)
rename drivers/phy/{ => samsung}/phy-samsung-usb2.c (100%)
rename drivers/phy/{ => samsung}/phy-samsung-usb2.h (100%)
create mode 100644 drivers/phy/st/Kconfig
create mode 100644 drivers/phy/st/Makefile
rename drivers/phy/{ => st}/phy-miphy28lp.c (100%)
rename drivers/phy/{ => st}/phy-miphy365x.c (100%)
rename drivers/phy/{ => st}/phy-spear1310-miphy.c (100%)
rename drivers/phy/{ => st}/phy-spear1340-miphy.c (100%)
rename drivers/phy/{ => st}/phy-stih407-usb.c (100%)
rename drivers/phy/{ => st}/phy-stih41x-usb.c (100%)
create mode 100644 drivers/phy/sunxi/Kconfig
create mode 100644 drivers/phy/sunxi/Makefile
rename drivers/phy/{ => sunxi}/phy-sun4i-usb.c (100%)
rename drivers/phy/{ => sunxi}/phy-sun9i-usb.c (100%)
create mode 100644 drivers/phy/ti/Kconfig
create mode 100644 drivers/phy/ti/Makefile
rename drivers/phy/{ => ti}/phy-dm816x-usb.c (100%)
rename drivers/phy/{ => ti}/phy-omap-control.c (100%)
rename drivers/phy/{ => ti}/phy-omap-usb2.c (100%)
rename drivers/phy/{ => ti}/phy-ti-pipe3.c (100%)
rename drivers/phy/{ => ti}/phy-tusb1210.c (100%)
rename drivers/phy/{ => ti}/phy-twl4030-usb.c (100%)
rename drivers/phy/{ => ti}/ulpi_phy.h (100%)
diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
index 26566db..80c8c68 100644
--- a/drivers/phy/Kconfig
+++ b/drivers/phy/Kconfig
@@ -15,45 +15,6 @@ config GENERIC_PHY
phy users can obtain reference to the PHY. All the users of this
framework should select this config.
-config PHY_BERLIN_USB
- tristate "Marvell Berlin USB PHY Driver"
- depends on ARCH_BERLIN && RESET_CONTROLLER && HAS_IOMEM && OF
- select GENERIC_PHY
- help
- Enable this to support the USB PHY on Marvell Berlin SoCs.
-
-config PHY_BERLIN_SATA
- tristate "Marvell Berlin SATA PHY driver"
- depends on ARCH_BERLIN && HAS_IOMEM && OF
- select GENERIC_PHY
- help
- Enable this to support the SATA PHY on Marvell Berlin SoCs.
-
-config ARMADA375_USBCLUSTER_PHY
- def_bool y
- depends on MACH_ARMADA_375 || COMPILE_TEST
- depends on OF && HAS_IOMEM
- select GENERIC_PHY
-
-config PHY_DM816X_USB
- tristate "TI dm816x USB PHY driver"
- depends on ARCH_OMAP2PLUS
- depends on USB_SUPPORT
- select GENERIC_PHY
- select USB_PHY
- help
- Enable this for dm816x USB to work.
-
-config PHY_EXYNOS_MIPI_VIDEO
- tristate "S5P/EXYNOS SoC series MIPI CSI-2/DSI PHY driver"
- depends on HAS_IOMEM
- depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
- select GENERIC_PHY
- default y if ARCH_S5PV210 || ARCH_EXYNOS
- help
- Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P
- and EXYNOS SoCs.
-
config PHY_LPC18XX_USB_OTG
tristate "NXP LPC18xx/43xx SoC USB OTG PHY driver"
depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
@@ -65,154 +26,6 @@ config PHY_LPC18XX_USB_OTG
This driver is need for USB0 support on LPC18xx/43xx and takes
care of enabling and clock setup.
-config PHY_PXA_28NM_HSIC
- tristate "Marvell USB HSIC 28nm PHY Driver"
- depends on HAS_IOMEM
- select GENERIC_PHY
- help
- Enable this to support Marvell USB HSIC PHY driver for Marvell
- SoC. This driver will do the PHY initialization and shutdown.
- The PHY driver will be used by Marvell ehci driver.
-
- To compile this driver as a module, choose M here.
-
-config PHY_PXA_28NM_USB2
- tristate "Marvell USB 2.0 28nm PHY Driver"
- depends on HAS_IOMEM
- select GENERIC_PHY
- help
- Enable this to support Marvell USB 2.0 PHY driver for Marvell
- SoC. This driver will do the PHY initialization and shutdown.
- The PHY driver will be used by Marvell udc/ehci/otg driver.
-
- To compile this driver as a module, choose M here.
-
-config PHY_MVEBU_SATA
- def_bool y
- depends on ARCH_DOVE || MACH_DOVE || MACH_KIRKWOOD
- depends on OF
- select GENERIC_PHY
-
-config PHY_MIPHY28LP
- tristate "STMicroelectronics MIPHY28LP PHY driver for STiH407"
- depends on ARCH_STI
- select GENERIC_PHY
- help
- Enable this to support the miphy transceiver (for SATA/PCIE/USB3)
- that is part of STMicroelectronics STiH407 SoC.
-
-config PHY_MIPHY365X
- tristate "STMicroelectronics MIPHY365X PHY driver for STiH41x series"
- depends on ARCH_STI
- depends on HAS_IOMEM
- depends on OF
- select GENERIC_PHY
- help
- Enable this to support the miphy transceiver (for SATA/PCIE)
- that is part of STMicroelectronics STiH41x SoC series.
-
-config PHY_RCAR_GEN2
- tristate "Renesas R-Car generation 2 USB PHY driver"
- depends on ARCH_SHMOBILE
- depends on GENERIC_PHY
- help
- Support for USB PHY found on Renesas R-Car generation 2 SoCs.
-
-config PHY_RCAR_GEN3_USB2
- tristate "Renesas R-Car generation 3 USB 2.0 PHY driver"
- depends on OF && ARCH_SHMOBILE
- select GENERIC_PHY
- help
- Support for USB 2.0 PHY found on Renesas R-Car generation 3 SoCs.
-
-config OMAP_CONTROL_PHY
- tristate "OMAP CONTROL PHY Driver"
- depends on ARCH_OMAP2PLUS || COMPILE_TEST
- help
- Enable this to add support for the PHY part present in the control
- module. This driver has API to power on the USB2 PHY and to write to
- the mailbox. The mailbox is present only in omap4 and the register to
- power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an
- additional register to power on USB3 PHY/SATA PHY/PCIE PHY
- (PIPE3 PHY).
-
-config OMAP_USB2
- tristate "OMAP USB2 PHY Driver"
- depends on ARCH_OMAP2PLUS
- depends on USB_SUPPORT
- select GENERIC_PHY
- select USB_PHY
- select OMAP_CONTROL_PHY
- depends on OMAP_OCP2SCP
- help
- Enable this to support the transceiver that is part of SOC. This
- driver takes care of all the PHY functionality apart from comparator.
- The USB OTG controller communicates with the comparator using this
- driver.
-
-config TI_PIPE3
- tristate "TI PIPE3 PHY Driver"
- depends on ARCH_OMAP2PLUS || COMPILE_TEST
- select GENERIC_PHY
- select OMAP_CONTROL_PHY
- depends on OMAP_OCP2SCP
- help
- Enable this to support the PIPE3 PHY that is part of TI SOCs. This
- driver takes care of all the PHY functionality apart from comparator.
- This driver interacts with the "OMAP Control PHY Driver" to power
- on/off the PHY.
-
-config TWL4030_USB
- tristate "TWL4030 USB Transceiver Driver"
- depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
- depends on USB_SUPPORT
- select GENERIC_PHY
- select USB_PHY
- help
- Enable this to support the USB OTG transceiver on TWL4030
- family chips (including the TWL5030 and TPS659x0 devices).
- This transceiver supports high and full speed devices plus,
- in host mode, low speed.
-
-config PHY_EXYNOS_DP_VIDEO
- tristate "EXYNOS SoC series Display Port PHY driver"
- depends on OF
- depends on ARCH_EXYNOS || COMPILE_TEST
- default ARCH_EXYNOS
- select GENERIC_PHY
- help
- Support for Display Port PHY found on Samsung EXYNOS SoCs.
-
-config BCM_KONA_USB2_PHY
- tristate "Broadcom Kona USB2 PHY Driver"
- depends on HAS_IOMEM
- select GENERIC_PHY
- help
- Enable this to support the Broadcom Kona USB 2.0 PHY.
-
-config PHY_EXYNOS5250_SATA
- tristate "Exynos5250 Sata SerDes/PHY driver"
- depends on SOC_EXYNOS5250
- depends on HAS_IOMEM
- depends on OF
- select GENERIC_PHY
- select I2C
- select I2C_S3C2410
- select MFD_SYSCON
- help
- Enable this to support SATA SerDes/Phy found on Samsung's
- Exynos5250 based SoCs.This SerDes/Phy supports SATA 1.5 Gb/s,
- SATA 3.0 Gb/s, SATA 6.0 Gb/s speeds. It supports one SATA host
- port to accept one SATA device.
-
-config PHY_HIX5HD2_SATA
- tristate "HIX5HD2 SATA PHY Driver"
- depends on ARCH_HIX5HD2 && OF && HAS_IOMEM
- select GENERIC_PHY
- select MFD_SYSCON
- help
- Support for SATA PHY on Hisilicon hix5hd2 Soc.
-
config PHY_MT65XX_USB3
tristate "Mediatek USB3.0 PHY Driver"
depends on ARCH_MEDIATEK && OF
@@ -222,93 +35,6 @@ config PHY_MT65XX_USB3
for mt65xx SoCs. it supports two usb2.0 ports and
one usb3.0 port.
-config PHY_HI6220_USB
- tristate "hi6220 USB PHY support"
- depends on (ARCH_HISI && ARM64) || COMPILE_TEST
- select GENERIC_PHY
- select MFD_SYSCON
- help
- Enable this to support the HISILICON HI6220 USB PHY.
-
- To compile this driver as a module, choose M here.
-
-config PHY_SUN4I_USB
- tristate "Allwinner sunxi SoC USB PHY driver"
- depends on ARCH_SUNXI && HAS_IOMEM && OF
- depends on RESET_CONTROLLER
- depends on EXTCON
- depends on POWER_SUPPLY
- select GENERIC_PHY
- help
- Enable this to support the transceiver that is part of Allwinner
- sunxi SoCs.
-
- This driver controls the entire USB PHY block, both the USB OTG
- parts, as well as the 2 regular USB 2 host PHYs.
-
-config PHY_SUN9I_USB
- tristate "Allwinner sun9i SoC USB PHY driver"
- depends on ARCH_SUNXI && HAS_IOMEM && OF
- depends on RESET_CONTROLLER
- depends on USB_COMMON
- select GENERIC_PHY
- help
- Enable this to support the transceiver that is part of Allwinner
- sun9i SoCs.
-
- This driver controls each individual USB 2 host PHY.
-
-config PHY_SAMSUNG_USB2
- tristate "Samsung USB 2.0 PHY driver"
- depends on HAS_IOMEM
- depends on USB_EHCI_EXYNOS || USB_OHCI_EXYNOS || USB_DWC2
- select GENERIC_PHY
- select MFD_SYSCON
- default ARCH_EXYNOS
- help
- Enable this to support the Samsung USB 2.0 PHY driver for Samsung
- SoCs. This driver provides the interface for USB 2.0 PHY. Support
- for particular PHYs will be enabled based on the SoC type in addition
- to this driver.
-
-config PHY_S5PV210_USB2
- bool "Support for S5PV210"
- depends on PHY_SAMSUNG_USB2
- depends on ARCH_S5PV210
- help
- Enable USB PHY support for S5PV210. This option requires that Samsung
- USB 2.0 PHY driver is enabled and means that support for this
- particular SoC is compiled in the driver. In case of S5PV210 two phys
- are available - device and host.
-
-config PHY_EXYNOS4210_USB2
- bool
- depends on PHY_SAMSUNG_USB2
- default CPU_EXYNOS4210
-
-config PHY_EXYNOS4X12_USB2
- bool
- depends on PHY_SAMSUNG_USB2
- default SOC_EXYNOS3250 || SOC_EXYNOS4212 || SOC_EXYNOS4412
-
-config PHY_EXYNOS5250_USB2
- bool
- depends on PHY_SAMSUNG_USB2
- default SOC_EXYNOS5250 || SOC_EXYNOS5420
-
-config PHY_EXYNOS5_USBDRD
- tristate "Exynos5 SoC series USB DRD PHY driver"
- depends on ARCH_EXYNOS && OF
- depends on HAS_IOMEM
- depends on USB_DWC3_EXYNOS
- select GENERIC_PHY
- select MFD_SYSCON
- default y
- help
- Enable USB DRD PHY support for Exynos 5 SoC series.
- This driver provides PHY interface for USB 3.0 DRD controller
- present on Exynos5 SoC series.
-
config PHY_PISTACHIO_USB
tristate "IMG Pistachio USB2.0 PHY driver"
depends on MACH_PISTACHIO
@@ -316,55 +42,6 @@ config PHY_PISTACHIO_USB
help
Enable this to support the USB2.0 PHY on the IMG Pistachio SoC.
-config PHY_QCOM_APQ8064_SATA
- tristate "Qualcomm APQ8064 SATA SerDes/PHY driver"
- depends on ARCH_QCOM
- depends on HAS_IOMEM
- depends on OF
- select GENERIC_PHY
-
-config PHY_QCOM_IPQ806X_SATA
- tristate "Qualcomm IPQ806x SATA SerDes/PHY driver"
- depends on ARCH_QCOM
- depends on HAS_IOMEM
- depends on OF
- select GENERIC_PHY
-
-config PHY_ROCKCHIP_USB
- tristate "Rockchip USB2 PHY Driver"
- depends on ARCH_ROCKCHIP && OF
- select GENERIC_PHY
- help
- Enable this to support the Rockchip USB 2.0 PHY.
-
-config PHY_ROCKCHIP_EMMC
- tristate "Rockchip EMMC PHY Driver"
- depends on ARCH_ROCKCHIP && OF
- select GENERIC_PHY
- help
- Enable this to support the Rockchip EMMC PHY.
-
-config PHY_ROCKCHIP_DP
- tristate "Rockchip Display Port PHY Driver"
- depends on ARCH_ROCKCHIP && OF
- select GENERIC_PHY
- help
- Enable this to support the Rockchip Display Port PHY.
-
-config PHY_ST_SPEAR1310_MIPHY
- tristate "ST SPEAR1310-MIPHY driver"
- select GENERIC_PHY
- depends on MACH_SPEAR1310 || COMPILE_TEST
- help
- Support for ST SPEAr1310 MIPHY which can be used for PCIe and SATA.
-
-config PHY_ST_SPEAR1340_MIPHY
- tristate "ST SPEAR1340-MIPHY driver"
- select GENERIC_PHY
- depends on MACH_SPEAR1340 || COMPILE_TEST
- help
- Support for ST SPEAr1340 MIPHY which can be used for PCIe and SATA.
-
config PHY_XGENE
tristate "APM X-Gene 15Gbps PHY support"
depends on HAS_IOMEM && OF && (ARM64 || COMPILE_TEST)
@@ -372,53 +49,20 @@ config PHY_XGENE
help
This option enables support for APM X-Gene SoC multi-purpose PHY.
-config PHY_STIH407_USB
- tristate "STMicroelectronics USB2 picoPHY driver for STiH407 family"
- depends on RESET_CONTROLLER
- depends on ARCH_STI || COMPILE_TEST
- select GENERIC_PHY
- help
- Enable this support to enable the picoPHY device used by USB2
- and USB3 controllers on STMicroelectronics STiH407 SoC families.
-
-config PHY_STIH41X_USB
- tristate "STMicroelectronics USB2 PHY driver for STiH41x series"
- depends on ARCH_STI
- select GENERIC_PHY
- help
- Enable this to support the USB transceiver that is part of
- STMicroelectronics STiH41x SoC series.
-
-config PHY_QCOM_UFS
- tristate "Qualcomm UFS PHY driver"
- depends on OF && ARCH_QCOM
- select GENERIC_PHY
- help
- Support for UFS PHY on QCOM chipsets.
-
-config PHY_TUSB1210
- tristate "TI TUSB1210 ULPI PHY module"
- depends on USB_ULPI_BUS
- select GENERIC_PHY
- help
- Support for TI TUSB1210 USB ULPI PHY.
-
-config PHY_BRCMSTB_SATA
- tristate "Broadcom STB SATA PHY driver"
- depends on ARCH_BRCMSTB || BMIPS_GENERIC
- depends on OF
- select GENERIC_PHY
- help
- Enable this to support the SATA3 PHY on 28nm or 40nm Broadcom STB SoCs.
- Likely useful only with CONFIG_SATA_BRCMSTB enabled.
-
-config PHY_CYGNUS_PCIE
- tristate "Broadcom Cygnus PCIe PHY driver"
- depends on OF && (ARCH_BCM_CYGNUS || COMPILE_TEST)
- select GENERIC_PHY
- default ARCH_BCM_CYGNUS
- help
- Enable this to support the Broadcom Cygnus PCIe PHY.
- If unsure, say N.
+menuconfig PHY_PLAT
+ bool "Platform Phy drivers"
+
+if PHY_PLAT
+source "drivers/phy/bcom/Kconfig"
+source "drivers/phy/hisi/Kconfig"
+source "drivers/phy/marvell/Kconfig"
+source "drivers/phy/qcom/Kconfig"
+source "drivers/phy/rcar/Kconfig"
+source "drivers/phy/rockchip/Kconfig"
+source "drivers/phy/samsung/Kconfig"
+source "drivers/phy/st/Kconfig"
+source "drivers/phy/sunxi/Kconfig"
+source "drivers/phy/ti/Kconfig"
+endif
endmenu
diff --git a/drivers/phy/Makefile b/drivers/phy/Makefile
index 24596a9..73d563b 100644
--- a/drivers/phy/Makefile
+++ b/drivers/phy/Makefile
@@ -3,52 +3,19 @@
#
obj-$(CONFIG_GENERIC_PHY) += phy-core.o
-obj-$(CONFIG_PHY_BERLIN_USB) += phy-berlin-usb.o
-obj-$(CONFIG_PHY_BERLIN_SATA) += phy-berlin-sata.o
-obj-$(CONFIG_PHY_DM816X_USB) += phy-dm816x-usb.o
-obj-$(CONFIG_ARMADA375_USBCLUSTER_PHY) += phy-armada375-usb2.o
-obj-$(CONFIG_BCM_KONA_USB2_PHY) += phy-bcm-kona-usb2.o
-obj-$(CONFIG_PHY_EXYNOS_DP_VIDEO) += phy-exynos-dp-video.o
-obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO) += phy-exynos-mipi-video.o
obj-$(CONFIG_PHY_LPC18XX_USB_OTG) += phy-lpc18xx-usb-otg.o
-obj-$(CONFIG_PHY_PXA_28NM_USB2) += phy-pxa-28nm-usb2.o
-obj-$(CONFIG_PHY_PXA_28NM_HSIC) += phy-pxa-28nm-hsic.o
-obj-$(CONFIG_PHY_MVEBU_SATA) += phy-mvebu-sata.o
-obj-$(CONFIG_PHY_MIPHY28LP) += phy-miphy28lp.o
-obj-$(CONFIG_PHY_MIPHY365X) += phy-miphy365x.o
-obj-$(CONFIG_PHY_RCAR_GEN2) += phy-rcar-gen2.o
-obj-$(CONFIG_PHY_RCAR_GEN3_USB2) += phy-rcar-gen3-usb2.o
-obj-$(CONFIG_OMAP_CONTROL_PHY) += phy-omap-control.o
-obj-$(CONFIG_OMAP_USB2) += phy-omap-usb2.o
-obj-$(CONFIG_TI_PIPE3) += phy-ti-pipe3.o
-obj-$(CONFIG_TWL4030_USB) += phy-twl4030-usb.o
-obj-$(CONFIG_PHY_EXYNOS5250_SATA) += phy-exynos5250-sata.o
-obj-$(CONFIG_PHY_HIX5HD2_SATA) += phy-hix5hd2-sata.o
-obj-$(CONFIG_PHY_HI6220_USB) += phy-hi6220-usb.o
obj-$(CONFIG_PHY_MT65XX_USB3) += phy-mt65xx-usb3.o
-obj-$(CONFIG_PHY_SUN4I_USB) += phy-sun4i-usb.o
-obj-$(CONFIG_PHY_SUN9I_USB) += phy-sun9i-usb.o
-obj-$(CONFIG_PHY_SAMSUNG_USB2) += phy-exynos-usb2.o
-phy-exynos-usb2-y += phy-samsung-usb2.o
-phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4210_USB2) += phy-exynos4210-usb2.o
-phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4X12_USB2) += phy-exynos4x12-usb2.o
-phy-exynos-usb2-$(CONFIG_PHY_EXYNOS5250_USB2) += phy-exynos5250-usb2.o
-phy-exynos-usb2-$(CONFIG_PHY_S5PV210_USB2) += phy-s5pv210-usb2.o
-obj-$(CONFIG_PHY_EXYNOS5_USBDRD) += phy-exynos5-usbdrd.o
-obj-$(CONFIG_PHY_QCOM_APQ8064_SATA) += phy-qcom-apq8064-sata.o
-obj-$(CONFIG_PHY_ROCKCHIP_USB) += phy-rockchip-usb.o
-obj-$(CONFIG_PHY_ROCKCHIP_EMMC) += phy-rockchip-emmc.o
-obj-$(CONFIG_PHY_ROCKCHIP_DP) += phy-rockchip-dp.o
-obj-$(CONFIG_PHY_QCOM_IPQ806X_SATA) += phy-qcom-ipq806x-sata.o
-obj-$(CONFIG_PHY_ST_SPEAR1310_MIPHY) += phy-spear1310-miphy.o
-obj-$(CONFIG_PHY_ST_SPEAR1340_MIPHY) += phy-spear1340-miphy.o
obj-$(CONFIG_PHY_XGENE) += phy-xgene.o
-obj-$(CONFIG_PHY_STIH407_USB) += phy-stih407-usb.o
-obj-$(CONFIG_PHY_STIH41X_USB) += phy-stih41x-usb.o
-obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs.o
-obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs-qmp-20nm.o
-obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs-qmp-14nm.o
-obj-$(CONFIG_PHY_TUSB1210) += phy-tusb1210.o
-obj-$(CONFIG_PHY_BRCMSTB_SATA) += phy-brcmstb-sata.o
obj-$(CONFIG_PHY_PISTACHIO_USB) += phy-pistachio-usb.o
-obj-$(CONFIG_PHY_CYGNUS_PCIE) += phy-bcm-cygnus-pcie.o
+
+# Phy drivers for different platforms.
+obj-$(CONFIG_PHY_PLAT) += bcom/ \
+ hisi/ \
+ marvell/ \
+ qcom/ \
+ rcar/ \
+ rockchip/ \
+ samsung/ \
+ st/ \
+ sunxi/ \
+ ti/
diff --git a/drivers/phy/bcom/Kconfig b/drivers/phy/bcom/Kconfig
new file mode 100644
index 0000000..8243372
--- /dev/null
+++ b/drivers/phy/bcom/Kconfig
@@ -0,0 +1,27 @@
+#
+# PHY drivers for Broadcom platforms
+#
+config PHY_CYGNUS_PCIE
+ tristate "Broadcom Cygnus PCIe PHY driver"
+ depends on OF && (ARCH_BCM_CYGNUS || COMPILE_TEST)
+ select GENERIC_PHY
+ default ARCH_BCM_CYGNUS
+ help
+ Enable this to support the Broadcom Cygnus PCIe PHY.
+ If unsure, say N.
+
+config BCM_KONA_USB2_PHY
+ tristate "Broadcom Kona USB2 PHY Driver"
+ depends on HAS_IOMEM
+ select GENERIC_PHY
+ help
+ Enable this to support the Broadcom Kona USB 2.0 PHY.
+
+config PHY_BRCMSTB_SATA
+ tristate "Broadcom STB SATA PHY driver"
+ depends on ARCH_BRCMSTB || BMIPS_GENERIC
+ depends on OF
+ select GENERIC_PHY
+ help
+ Enable this to support the SATA3 PHY on 28nm or 40nm Broadcom STB SoCs.
+ Likely useful only with CONFIG_SATA_BRCMSTB enabled.
diff --git a/drivers/phy/bcom/Makefile b/drivers/phy/bcom/Makefile
new file mode 100644
index 0000000..f30fa76
--- /dev/null
+++ b/drivers/phy/bcom/Makefile
@@ -0,0 +1,3 @@
+obj-$(CONFIG_PHY_CYGNUS_PCIE) += phy-bcm-cygnus-pcie.o
+obj-$(CONFIG_BCM_KONA_USB2_PHY) += phy-bcm-kona-usb2.o
+obj-$(CONFIG_PHY_BRCMSTB_SATA) += phy-brcmstb-sata.o
diff --git a/drivers/phy/phy-bcm-cygnus-pcie.c b/drivers/phy/bcom/phy-bcm-cygnus-pcie.c
similarity index 100%
rename from drivers/phy/phy-bcm-cygnus-pcie.c
rename to drivers/phy/bcom/phy-bcm-cygnus-pcie.c
diff --git a/drivers/phy/phy-bcm-kona-usb2.c b/drivers/phy/bcom/phy-bcm-kona-usb2.c
similarity index 100%
rename from drivers/phy/phy-bcm-kona-usb2.c
rename to drivers/phy/bcom/phy-bcm-kona-usb2.c
diff --git a/drivers/phy/phy-brcmstb-sata.c b/drivers/phy/bcom/phy-brcmstb-sata.c
similarity index 100%
rename from drivers/phy/phy-brcmstb-sata.c
rename to drivers/phy/bcom/phy-brcmstb-sata.c
diff --git a/drivers/phy/hisi/Kconfig b/drivers/phy/hisi/Kconfig
new file mode 100644
index 0000000..affa9ed
--- /dev/null
+++ b/drivers/phy/hisi/Kconfig
@@ -0,0 +1,20 @@
+#
+# PHY drivers for HiSilicon platforms
+#
+config PHY_HIX5HD2_SATA
+ tristate "HIX5HD2 SATA PHY Driver"
+ depends on ARCH_HIX5HD2 && OF && HAS_IOMEM
+ select GENERIC_PHY
+ select MFD_SYSCON
+ help
+ Support for SATA PHY on Hisilicon hix5hd2 Soc.
+
+config PHY_HI6220_USB
+ tristate "hi6220 USB PHY support"
+ depends on (ARCH_HISI && ARM64) || COMPILE_TEST
+ select GENERIC_PHY
+ select MFD_SYSCON
+ help
+ Enable this to support the HISILICON HI6220 USB PHY.
+
+ To compile this driver as a module, choose M here.
diff --git a/drivers/phy/hisi/Makefile b/drivers/phy/hisi/Makefile
new file mode 100644
index 0000000..6059ed8
--- /dev/null
+++ b/drivers/phy/hisi/Makefile
@@ -0,0 +1,2 @@
+obj-$(CONFIG_PHY_HIX5HD2_SATA) += phy-hix5hd2-sata.o
+obj-$(CONFIG_PHY_HI6220_USB) += phy-hi6220-usb.o
diff --git a/drivers/phy/phy-hi6220-usb.c b/drivers/phy/hisi/phy-hi6220-usb.c
similarity index 100%
rename from drivers/phy/phy-hi6220-usb.c
rename to drivers/phy/hisi/phy-hi6220-usb.c
diff --git a/drivers/phy/phy-hix5hd2-sata.c b/drivers/phy/hisi/phy-hix5hd2-sata.c
similarity index 100%
rename from drivers/phy/phy-hix5hd2-sata.c
rename to drivers/phy/hisi/phy-hix5hd2-sata.c
diff --git a/drivers/phy/marvell/Kconfig b/drivers/phy/marvell/Kconfig
new file mode 100644
index 0000000..6c1576c
--- /dev/null
+++ b/drivers/phy/marvell/Kconfig
@@ -0,0 +1,50 @@
+#
+# PHY drivers for Marvell platforms
+#
+config ARMADA375_USBCLUSTER_PHY
+ def_bool y
+ depends on MACH_ARMADA_375 || COMPILE_TEST
+ depends on OF && HAS_IOMEM
+ select GENERIC_PHY
+
+config PHY_BERLIN_USB
+ tristate "Marvell Berlin USB PHY Driver"
+ depends on ARCH_BERLIN && RESET_CONTROLLER && HAS_IOMEM && OF
+ select GENERIC_PHY
+ help
+ Enable this to support the USB PHY on Marvell Berlin SoCs.
+
+config PHY_BERLIN_SATA
+ tristate "Marvell Berlin SATA PHY driver"
+ depends on ARCH_BERLIN && HAS_IOMEM && OF
+ select GENERIC_PHY
+ help
+ Enable this to support the SATA PHY on Marvell Berlin SoCs.
+
+config PHY_MVEBU_SATA
+ def_bool y
+ depends on ARCH_DOVE || MACH_DOVE || MACH_KIRKWOOD
+ depends on OF
+ select GENERIC_PHY
+
+config PHY_PXA_28NM_HSIC
+ tristate "Marvell USB HSIC 28nm PHY Driver"
+ depends on HAS_IOMEM
+ select GENERIC_PHY
+ help
+ Enable this to support Marvell USB HSIC PHY driver for Marvell
+ SoC. This driver will do the PHY initialization and shutdown.
+ The PHY driver will be used by Marvell ehci driver.
+
+ To compile this driver as a module, choose M here.
+
+config PHY_PXA_28NM_USB2
+ tristate "Marvell USB 2.0 28nm PHY Driver"
+ depends on HAS_IOMEM
+ select GENERIC_PHY
+ help
+ Enable this to support Marvell USB 2.0 PHY driver for Marvell
+ SoC. This driver will do the PHY initialization and shutdown.
+ The PHY driver will be used by Marvell udc/ehci/otg driver.
+
+ 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 0000000..f4fa255
--- /dev/null
+++ b/drivers/phy/marvell/Makefile
@@ -0,0 +1,6 @@
+obj-$(CONFIG_ARMADA375_USBCLUSTER_PHY) += phy-armada375-usb2.o
+obj-$(CONFIG_PHY_BERLIN_USB) += phy-berlin-usb.o
+obj-$(CONFIG_PHY_BERLIN_SATA) += phy-berlin-sata.o
+obj-$(CONFIG_PHY_MVEBU_SATA) += phy-mvebu-sata.o
+obj-$(CONFIG_PHY_PXA_28NM_USB2) += phy-pxa-28nm-usb2.o
+obj-$(CONFIG_PHY_PXA_28NM_HSIC) += phy-pxa-28nm-hsic.o
diff --git a/drivers/phy/phy-armada375-usb2.c b/drivers/phy/marvell/phy-armada375-usb2.c
similarity index 100%
rename from drivers/phy/phy-armada375-usb2.c
rename to drivers/phy/marvell/phy-armada375-usb2.c
diff --git a/drivers/phy/phy-berlin-sata.c b/drivers/phy/marvell/phy-berlin-sata.c
similarity index 100%
rename from drivers/phy/phy-berlin-sata.c
rename to drivers/phy/marvell/phy-berlin-sata.c
diff --git a/drivers/phy/phy-berlin-usb.c b/drivers/phy/marvell/phy-berlin-usb.c
similarity index 100%
rename from drivers/phy/phy-berlin-usb.c
rename to drivers/phy/marvell/phy-berlin-usb.c
diff --git a/drivers/phy/phy-mvebu-sata.c b/drivers/phy/marvell/phy-mvebu-sata.c
similarity index 100%
rename from drivers/phy/phy-mvebu-sata.c
rename to 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
similarity index 100%
rename from drivers/phy/phy-pxa-28nm-hsic.c
rename to 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
similarity index 100%
rename from drivers/phy/phy-pxa-28nm-usb2.c
rename to drivers/phy/marvell/phy-pxa-28nm-usb2.c
diff --git a/drivers/phy/qcom/Kconfig b/drivers/phy/qcom/Kconfig
new file mode 100644
index 0000000..9718d01
--- /dev/null
+++ b/drivers/phy/qcom/Kconfig
@@ -0,0 +1,23 @@
+#
+# PHY drivers for Qualcomm platforms
+#
+config PHY_QCOM_APQ8064_SATA
+ tristate "Qualcomm APQ8064 SATA SerDes/PHY driver"
+ depends on ARCH_QCOM
+ depends on HAS_IOMEM
+ depends on OF
+ select GENERIC_PHY
+
+config PHY_QCOM_IPQ806X_SATA
+ tristate "Qualcomm IPQ806x SATA SerDes/PHY driver"
+ depends on ARCH_QCOM
+ depends on HAS_IOMEM
+ depends on OF
+ select GENERIC_PHY
+
+config PHY_QCOM_UFS
+ tristate "Qualcomm UFS PHY driver"
+ depends on OF && ARCH_QCOM
+ select GENERIC_PHY
+ help
+ Support for UFS PHY on QCOM chipsets.
diff --git a/drivers/phy/qcom/Makefile b/drivers/phy/qcom/Makefile
new file mode 100644
index 0000000..2db3e77
--- /dev/null
+++ b/drivers/phy/qcom/Makefile
@@ -0,0 +1,5 @@
+obj-$(CONFIG_PHY_QCOM_APQ8064_SATA) += phy-qcom-apq8064-sata.o
+obj-$(CONFIG_PHY_QCOM_IPQ806X_SATA) += phy-qcom-ipq806x-sata.o
+obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs.o \
+ += phy-qcom-ufs-qmp-20nm.o \
+ += phy-qcom-ufs-qmp-14nm.o
diff --git a/drivers/phy/phy-qcom-apq8064-sata.c b/drivers/phy/qcom/phy-qcom-apq8064-sata.c
similarity index 100%
rename from drivers/phy/phy-qcom-apq8064-sata.c
rename to drivers/phy/qcom/phy-qcom-apq8064-sata.c
diff --git a/drivers/phy/phy-qcom-ipq806x-sata.c b/drivers/phy/qcom/phy-qcom-ipq806x-sata.c
similarity index 100%
rename from drivers/phy/phy-qcom-ipq806x-sata.c
rename to drivers/phy/qcom/phy-qcom-ipq806x-sata.c
diff --git a/drivers/phy/phy-qcom-ufs-i.h b/drivers/phy/qcom/phy-qcom-ufs-i.h
similarity index 100%
rename from drivers/phy/phy-qcom-ufs-i.h
rename to drivers/phy/qcom/phy-qcom-ufs-i.h
diff --git a/drivers/phy/phy-qcom-ufs-qmp-14nm.c b/drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.c
similarity index 100%
rename from drivers/phy/phy-qcom-ufs-qmp-14nm.c
rename to drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.c
diff --git a/drivers/phy/phy-qcom-ufs-qmp-14nm.h b/drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.h
similarity index 100%
rename from drivers/phy/phy-qcom-ufs-qmp-14nm.h
rename to drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.h
diff --git a/drivers/phy/phy-qcom-ufs-qmp-20nm.c b/drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.c
similarity index 100%
rename from drivers/phy/phy-qcom-ufs-qmp-20nm.c
rename to drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.c
diff --git a/drivers/phy/phy-qcom-ufs-qmp-20nm.h b/drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.h
similarity index 100%
rename from drivers/phy/phy-qcom-ufs-qmp-20nm.h
rename to drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.h
diff --git a/drivers/phy/phy-qcom-ufs.c b/drivers/phy/qcom/phy-qcom-ufs.c
similarity index 100%
rename from drivers/phy/phy-qcom-ufs.c
rename to drivers/phy/qcom/phy-qcom-ufs.c
diff --git a/drivers/phy/rcar/Kconfig b/drivers/phy/rcar/Kconfig
new file mode 100644
index 0000000..169b5e2
--- /dev/null
+++ b/drivers/phy/rcar/Kconfig
@@ -0,0 +1,16 @@
+#
+# PHY drivers for Renesas's r-car platforms
+#
+config PHY_RCAR_GEN2
+ tristate "Renesas R-Car generation 2 USB PHY driver"
+ depends on ARCH_SHMOBILE
+ depends on GENERIC_PHY
+ help
+ Support for USB PHY found on Renesas R-Car generation 2 SoCs.
+
+config PHY_RCAR_GEN3_USB2
+ tristate "Renesas R-Car generation 3 USB 2.0 PHY driver"
+ depends on OF && ARCH_SHMOBILE
+ select GENERIC_PHY
+ help
+ Support for USB 2.0 PHY found on Renesas R-Car generation 3 SoCs.
diff --git a/drivers/phy/rcar/Makefile b/drivers/phy/rcar/Makefile
new file mode 100644
index 0000000..695241a
--- /dev/null
+++ b/drivers/phy/rcar/Makefile
@@ -0,0 +1,2 @@
+obj-$(CONFIG_PHY_RCAR_GEN2) += phy-rcar-gen2.o
+obj-$(CONFIG_PHY_RCAR_GEN3_USB2) += phy-rcar-gen3-usb2.o
diff --git a/drivers/phy/phy-rcar-gen2.c b/drivers/phy/rcar/phy-rcar-gen2.c
similarity index 100%
rename from drivers/phy/phy-rcar-gen2.c
rename to drivers/phy/rcar/phy-rcar-gen2.c
diff --git a/drivers/phy/phy-rcar-gen3-usb2.c b/drivers/phy/rcar/phy-rcar-gen3-usb2.c
similarity index 100%
rename from drivers/phy/phy-rcar-gen3-usb2.c
rename to drivers/phy/rcar/phy-rcar-gen3-usb2.c
diff --git a/drivers/phy/rockchip/Kconfig b/drivers/phy/rockchip/Kconfig
new file mode 100644
index 0000000..c575d1e
--- /dev/null
+++ b/drivers/phy/rockchip/Kconfig
@@ -0,0 +1,23 @@
+#
+# PHY drivers for Rockchip platforms
+#
+config PHY_ROCKCHIP_USB
+ tristate "Rockchip USB2 PHY Driver"
+ depends on ARCH_ROCKCHIP && OF
+ select GENERIC_PHY
+ help
+ Enable this to support the Rockchip USB 2.0 PHY.
+
+config PHY_ROCKCHIP_EMMC
+ tristate "Rockchip EMMC PHY Driver"
+ depends on ARCH_ROCKCHIP && OF
+ select GENERIC_PHY
+ help
+ Enable this to support the Rockchip EMMC PHY.
+
+config PHY_ROCKCHIP_DP
+ tristate "Rockchip Display Port PHY Driver"
+ depends on ARCH_ROCKCHIP && OF
+ select GENERIC_PHY
+ help
+ Enable this to support the Rockchip Display Port PHY.
diff --git a/drivers/phy/rockchip/Makefile b/drivers/phy/rockchip/Makefile
new file mode 100644
index 0000000..c15acc1
--- /dev/null
+++ b/drivers/phy/rockchip/Makefile
@@ -0,0 +1,3 @@
+obj-$(CONFIG_PHY_ROCKCHIP_DP) += phy-rockchip-dp.o
+obj-$(CONFIG_PHY_ROCKCHIP_EMMC) += phy-rockchip-emmc.o
+obj-$(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
similarity index 100%
rename from drivers/phy/phy-rockchip-dp.c
rename to drivers/phy/rockchip/phy-rockchip-dp.c
diff --git a/drivers/phy/phy-rockchip-emmc.c b/drivers/phy/rockchip/phy-rockchip-emmc.c
similarity index 100%
rename from drivers/phy/phy-rockchip-emmc.c
rename to drivers/phy/rockchip/phy-rockchip-emmc.c
diff --git a/drivers/phy/phy-rockchip-usb.c b/drivers/phy/rockchip/phy-rockchip-usb.c
similarity index 100%
rename from drivers/phy/phy-rockchip-usb.c
rename to drivers/phy/rockchip/phy-rockchip-usb.c
diff --git a/drivers/phy/samsung/Kconfig b/drivers/phy/samsung/Kconfig
new file mode 100644
index 0000000..80bdea7
--- /dev/null
+++ b/drivers/phy/samsung/Kconfig
@@ -0,0 +1,87 @@
+#
+# PHY drivers for Samsung platforms
+#
+config PHY_SAMSUNG_USB2
+ tristate "Samsung USB 2.0 PHY driver"
+ depends on HAS_IOMEM
+ depends on USB_EHCI_EXYNOS || USB_OHCI_EXYNOS || USB_DWC2
+ select GENERIC_PHY
+ select MFD_SYSCON
+ default ARCH_EXYNOS
+ help
+ Enable this to support the Samsung USB 2.0 PHY driver for Samsung
+ SoCs. This driver provides the interface for USB 2.0 PHY. Support
+ for particular PHYs will be enabled based on the SoC type in addition
+ to this driver.
+
+config PHY_S5PV210_USB2
+ bool "Support for S5PV210"
+ depends on PHY_SAMSUNG_USB2
+ depends on ARCH_S5PV210
+ help
+ Enable USB PHY support for S5PV210. This option requires that Samsung
+ USB 2.0 PHY driver is enabled and means that support for this
+ particular SoC is compiled in the driver. In case of S5PV210 two phys
+ are available - device and host.
+
+config PHY_EXYNOS4210_USB2
+ bool
+ depends on PHY_SAMSUNG_USB2
+ default CPU_EXYNOS4210
+
+config PHY_EXYNOS4X12_USB2
+ bool
+ depends on PHY_SAMSUNG_USB2
+ default SOC_EXYNOS3250 || SOC_EXYNOS4212 || SOC_EXYNOS4412
+
+config PHY_EXYNOS5250_USB2
+ bool
+ depends on PHY_SAMSUNG_USB2
+ default SOC_EXYNOS5250 || SOC_EXYNOS5420
+
+config PHY_EXYNOS5_USBDRD
+ tristate "Exynos5 SoC series USB DRD PHY driver"
+ depends on ARCH_EXYNOS && OF
+ depends on HAS_IOMEM
+ depends on USB_DWC3_EXYNOS
+ select GENERIC_PHY
+ select MFD_SYSCON
+ default y
+ help
+ Enable USB DRD PHY support for Exynos 5 SoC series.
+ This driver provides PHY interface for USB 3.0 DRD controller
+ present on Exynos5 SoC series.
+
+config PHY_EXYNOS_DP_VIDEO
+ tristate "EXYNOS SoC series Display Port PHY driver"
+ depends on OF
+ depends on ARCH_EXYNOS || COMPILE_TEST
+ default ARCH_EXYNOS
+ select GENERIC_PHY
+ help
+ Support for Display Port PHY found on Samsung EXYNOS SoCs.
+
+config PHY_EXYNOS_MIPI_VIDEO
+ tristate "S5P/EXYNOS SoC series MIPI CSI-2/DSI PHY driver"
+ depends on HAS_IOMEM
+ depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
+ select GENERIC_PHY
+ default y if ARCH_S5PV210 || ARCH_EXYNOS
+ help
+ Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P
+ and EXYNOS SoCs.
+
+config PHY_EXYNOS5250_SATA
+ tristate "Exynos5250 Sata SerDes/PHY driver"
+ depends on SOC_EXYNOS5250
+ depends on HAS_IOMEM
+ depends on OF
+ select GENERIC_PHY
+ select I2C
+ select I2C_S3C2410
+ select MFD_SYSCON
+ help
+ Enable this to support SATA SerDes/Phy found on Samsung's
+ Exynos5250 based SoCs.This SerDes/Phy supports SATA 1.5 Gb/s,
+ SATA 3.0 Gb/s, SATA 6.0 Gb/s speeds. It supports one SATA host
+ port to accept one SATA device.
diff --git a/drivers/phy/samsung/Makefile b/drivers/phy/samsung/Makefile
new file mode 100644
index 0000000..585dbd7
--- /dev/null
+++ b/drivers/phy/samsung/Makefile
@@ -0,0 +1,10 @@
+obj-$(CONFIG_PHY_SAMSUNG_USB2) += phy-exynos-usb2.o
+phy-exynos-usb2-y += phy-samsung-usb2.o
+phy-exynos-usb2-$(CONFIG_PHY_S5PV210_USB2) += phy-s5pv210-usb2.o
+phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4210_USB2) += phy-exynos4210-usb2.o
+phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4X12_USB2) += phy-exynos4x12-usb2.o
+phy-exynos-usb2-$(CONFIG_PHY_EXYNOS5250_USB2) += phy-exynos5250-usb2.o
+obj-$(CONFIG_PHY_EXYNOS5_USBDRD) += phy-exynos5-usbdrd.o
+obj-$(CONFIG_PHY_EXYNOS_DP_VIDEO) += phy-exynos-dp-video.o
+obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO) += phy-exynos-mipi-video.o
+obj-$(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
similarity index 100%
rename from drivers/phy/phy-exynos-dp-video.c
rename to 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
similarity index 100%
rename from drivers/phy/phy-exynos-mipi-video.c
rename to drivers/phy/samsung/phy-exynos-mipi-video.c
diff --git a/drivers/phy/phy-exynos4210-usb2.c b/drivers/phy/samsung/phy-exynos4210-usb2.c
similarity index 100%
rename from drivers/phy/phy-exynos4210-usb2.c
rename to drivers/phy/samsung/phy-exynos4210-usb2.c
diff --git a/drivers/phy/phy-exynos4x12-usb2.c b/drivers/phy/samsung/phy-exynos4x12-usb2.c
similarity index 100%
rename from drivers/phy/phy-exynos4x12-usb2.c
rename to drivers/phy/samsung/phy-exynos4x12-usb2.c
diff --git a/drivers/phy/phy-exynos5-usbdrd.c b/drivers/phy/samsung/phy-exynos5-usbdrd.c
similarity index 100%
rename from drivers/phy/phy-exynos5-usbdrd.c
rename to drivers/phy/samsung/phy-exynos5-usbdrd.c
diff --git a/drivers/phy/phy-exynos5250-sata.c b/drivers/phy/samsung/phy-exynos5250-sata.c
similarity index 100%
rename from drivers/phy/phy-exynos5250-sata.c
rename to drivers/phy/samsung/phy-exynos5250-sata.c
diff --git a/drivers/phy/phy-exynos5250-usb2.c b/drivers/phy/samsung/phy-exynos5250-usb2.c
similarity index 100%
rename from drivers/phy/phy-exynos5250-usb2.c
rename to drivers/phy/samsung/phy-exynos5250-usb2.c
diff --git a/drivers/phy/phy-s5pv210-usb2.c b/drivers/phy/samsung/phy-s5pv210-usb2.c
similarity index 100%
rename from drivers/phy/phy-s5pv210-usb2.c
rename to drivers/phy/samsung/phy-s5pv210-usb2.c
diff --git a/drivers/phy/phy-samsung-usb2.c b/drivers/phy/samsung/phy-samsung-usb2.c
similarity index 100%
rename from drivers/phy/phy-samsung-usb2.c
rename to drivers/phy/samsung/phy-samsung-usb2.c
diff --git a/drivers/phy/phy-samsung-usb2.h b/drivers/phy/samsung/phy-samsung-usb2.h
similarity index 100%
rename from drivers/phy/phy-samsung-usb2.h
rename to drivers/phy/samsung/phy-samsung-usb2.h
diff --git a/drivers/phy/st/Kconfig b/drivers/phy/st/Kconfig
new file mode 100644
index 0000000..651b2bf
--- /dev/null
+++ b/drivers/phy/st/Kconfig
@@ -0,0 +1,51 @@
+#
+# PHY drivers for ST Micro platforms
+#
+config PHY_MIPHY28LP
+ tristate "STMicroelectronics MIPHY28LP PHY driver for STiH407"
+ depends on ARCH_STI
+ select GENERIC_PHY
+ help
+ Enable this to support the miphy transceiver (for SATA/PCIE/USB3)
+ that is part of STMicroelectronics STiH407 SoC.
+
+config PHY_MIPHY365X
+ tristate "STMicroelectronics MIPHY365X PHY driver for STiH41x series"
+ depends on ARCH_STI
+ depends on HAS_IOMEM
+ depends on OF
+ select GENERIC_PHY
+ help
+ Enable this to support the miphy transceiver (for SATA/PCIE)
+ that is part of STMicroelectronics STiH41x SoC series.
+
+config PHY_ST_SPEAR1310_MIPHY
+ tristate "ST SPEAR1310-MIPHY driver"
+ select GENERIC_PHY
+ depends on MACH_SPEAR1310 || COMPILE_TEST
+ help
+ Support for ST SPEAr1310 MIPHY which can be used for PCIe and SATA.
+
+config PHY_ST_SPEAR1340_MIPHY
+ tristate "ST SPEAR1340-MIPHY driver"
+ select GENERIC_PHY
+ depends on MACH_SPEAR1340 || COMPILE_TEST
+ help
+ Support for ST SPEAr1340 MIPHY which can be used for PCIe and SATA.
+
+config PHY_STIH407_USB
+ tristate "STMicroelectronics USB2 picoPHY driver for STiH407 family"
+ depends on RESET_CONTROLLER
+ depends on ARCH_STI || COMPILE_TEST
+ select GENERIC_PHY
+ help
+ Enable this support to enable the picoPHY device used by USB2
+ and USB3 controllers on STMicroelectronics STiH407 SoC families.
+
+config PHY_STIH41X_USB
+ tristate "STMicroelectronics USB2 PHY driver for STiH41x series"
+ depends on ARCH_STI
+ select GENERIC_PHY
+ help
+ Enable this to support the USB transceiver that is part of
+ STMicroelectronics STiH41x SoC series.
diff --git a/drivers/phy/st/Makefile b/drivers/phy/st/Makefile
new file mode 100644
index 0000000..907561b
--- /dev/null
+++ b/drivers/phy/st/Makefile
@@ -0,0 +1,6 @@
+obj-$(CONFIG_PHY_MIPHY28LP) += phy-miphy28lp.o
+obj-$(CONFIG_PHY_MIPHY365X) += phy-miphy365x.o
+obj-$(CONFIG_PHY_ST_SPEAR1310_MIPHY) += phy-spear1310-miphy.o
+obj-$(CONFIG_PHY_ST_SPEAR1340_MIPHY) += phy-spear1340-miphy.o
+obj-$(CONFIG_PHY_STIH407_USB) += phy-stih407-usb.o
+obj-$(CONFIG_PHY_STIH41X_USB) += phy-stih41x-usb.o
diff --git a/drivers/phy/phy-miphy28lp.c b/drivers/phy/st/phy-miphy28lp.c
similarity index 100%
rename from drivers/phy/phy-miphy28lp.c
rename to drivers/phy/st/phy-miphy28lp.c
diff --git a/drivers/phy/phy-miphy365x.c b/drivers/phy/st/phy-miphy365x.c
similarity index 100%
rename from drivers/phy/phy-miphy365x.c
rename to drivers/phy/st/phy-miphy365x.c
diff --git a/drivers/phy/phy-spear1310-miphy.c b/drivers/phy/st/phy-spear1310-miphy.c
similarity index 100%
rename from drivers/phy/phy-spear1310-miphy.c
rename to drivers/phy/st/phy-spear1310-miphy.c
diff --git a/drivers/phy/phy-spear1340-miphy.c b/drivers/phy/st/phy-spear1340-miphy.c
similarity index 100%
rename from drivers/phy/phy-spear1340-miphy.c
rename to drivers/phy/st/phy-spear1340-miphy.c
diff --git a/drivers/phy/phy-stih407-usb.c b/drivers/phy/st/phy-stih407-usb.c
similarity index 100%
rename from drivers/phy/phy-stih407-usb.c
rename to drivers/phy/st/phy-stih407-usb.c
diff --git a/drivers/phy/phy-stih41x-usb.c b/drivers/phy/st/phy-stih41x-usb.c
similarity index 100%
rename from drivers/phy/phy-stih41x-usb.c
rename to drivers/phy/st/phy-stih41x-usb.c
diff --git a/drivers/phy/sunxi/Kconfig b/drivers/phy/sunxi/Kconfig
new file mode 100644
index 0000000..eb06427
--- /dev/null
+++ b/drivers/phy/sunxi/Kconfig
@@ -0,0 +1,28 @@
+#
+# PHY drivers for Allwinner's sunxi platforms
+#
+config PHY_SUN4I_USB
+ tristate "Allwinner sunxi SoC USB PHY driver"
+ depends on ARCH_SUNXI && HAS_IOMEM && OF
+ depends on RESET_CONTROLLER
+ depends on EXTCON
+ depends on POWER_SUPPLY
+ select GENERIC_PHY
+ help
+ Enable this to support the transceiver that is part of Allwinner
+ sunxi SoCs.
+
+ This driver controls the entire USB PHY block, both the USB OTG
+ parts, as well as the 2 regular USB 2 host PHYs.
+
+config PHY_SUN9I_USB
+ tristate "Allwinner sun9i SoC USB PHY driver"
+ depends on ARCH_SUNXI && HAS_IOMEM && OF
+ depends on RESET_CONTROLLER
+ depends on USB_COMMON
+ select GENERIC_PHY
+ help
+ Enable this to support the transceiver that is part of Allwinner
+ sun9i SoCs.
+
+ This driver controls each individual USB 2 host PHY.
diff --git a/drivers/phy/sunxi/Makefile b/drivers/phy/sunxi/Makefile
new file mode 100644
index 0000000..8605529c
--- /dev/null
+++ b/drivers/phy/sunxi/Makefile
@@ -0,0 +1,2 @@
+obj-$(CONFIG_PHY_SUN4I_USB) += phy-sun4i-usb.o
+obj-$(CONFIG_PHY_SUN9I_USB) += phy-sun9i-usb.o
diff --git a/drivers/phy/phy-sun4i-usb.c b/drivers/phy/sunxi/phy-sun4i-usb.c
similarity index 100%
rename from drivers/phy/phy-sun4i-usb.c
rename to drivers/phy/sunxi/phy-sun4i-usb.c
diff --git a/drivers/phy/phy-sun9i-usb.c b/drivers/phy/sunxi/phy-sun9i-usb.c
similarity index 100%
rename from drivers/phy/phy-sun9i-usb.c
rename to drivers/phy/sunxi/phy-sun9i-usb.c
diff --git a/drivers/phy/ti/Kconfig b/drivers/phy/ti/Kconfig
new file mode 100644
index 0000000..1e3e307
--- /dev/null
+++ b/drivers/phy/ti/Kconfig
@@ -0,0 +1,67 @@
+#
+# PHY drivers for TI platforms
+#
+config PHY_DM816X_USB
+ tristate "TI dm816x USB PHY driver"
+ depends on ARCH_OMAP2PLUS
+ depends on USB_SUPPORT
+ select GENERIC_PHY
+ select USB_PHY
+ help
+ Enable this for dm816x USB to work.
+
+config OMAP_CONTROL_PHY
+ tristate "OMAP CONTROL PHY Driver"
+ depends on ARCH_OMAP2PLUS || COMPILE_TEST
+ help
+ Enable this to add support for the PHY part present in the control
+ module. This driver has API to power on the USB2 PHY and to write to
+ the mailbox. The mailbox is present only in omap4 and the register to
+ power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an
+ additional register to power on USB3 PHY/SATA PHY/PCIE PHY
+ (PIPE3 PHY).
+
+config OMAP_USB2
+ tristate "OMAP USB2 PHY Driver"
+ depends on ARCH_OMAP2PLUS
+ depends on USB_SUPPORT
+ select GENERIC_PHY
+ select USB_PHY
+ select OMAP_CONTROL_PHY
+ depends on OMAP_OCP2SCP
+ help
+ Enable this to support the transceiver that is part of SOC. This
+ driver takes care of all the PHY functionality apart from comparator.
+ The USB OTG controller communicates with the comparator using this
+ driver.
+
+config TI_PIPE3
+ tristate "TI PIPE3 PHY Driver"
+ depends on ARCH_OMAP2PLUS || COMPILE_TEST
+ select GENERIC_PHY
+ select OMAP_CONTROL_PHY
+ depends on OMAP_OCP2SCP
+ help
+ Enable this to support the PIPE3 PHY that is part of TI SOCs. This
+ driver takes care of all the PHY functionality apart from comparator.
+ This driver interacts with the "OMAP Control PHY Driver" to power
+ on/off the PHY.
+
+config PHY_TUSB1210
+ tristate "TI TUSB1210 ULPI PHY module"
+ depends on USB_ULPI_BUS
+ select GENERIC_PHY
+ help
+ Support for TI TUSB1210 USB ULPI PHY.
+
+config TWL4030_USB
+ tristate "TWL4030 USB Transceiver Driver"
+ depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
+ depends on USB_SUPPORT
+ select GENERIC_PHY
+ select USB_PHY
+ help
+ Enable this to support the USB OTG transceiver on TWL4030
+ family chips (including the TWL5030 and TPS659x0 devices).
+ This transceiver supports high and full speed devices plus,
+ in host mode, low speed.
diff --git a/drivers/phy/ti/Makefile b/drivers/phy/ti/Makefile
new file mode 100644
index 0000000..2d16f77
--- /dev/null
+++ b/drivers/phy/ti/Makefile
@@ -0,0 +1,6 @@
+obj-$(CONFIG_PHY_DM816X_USB) += phy-dm816x-usb.o
+obj-$(CONFIG_OMAP_CONTROL_PHY) += phy-omap-control.o
+obj-$(CONFIG_OMAP_USB2) += phy-omap-usb2.o
+obj-$(CONFIG_TI_PIPE3) += phy-ti-pipe3.o
+obj-$(CONFIG_PHY_TUSB1210) += phy-tusb1210.o
+obj-$(CONFIG_TWL4030_USB) += phy-twl4030-usb.o
diff --git a/drivers/phy/phy-dm816x-usb.c b/drivers/phy/ti/phy-dm816x-usb.c
similarity index 100%
rename from drivers/phy/phy-dm816x-usb.c
rename to drivers/phy/ti/phy-dm816x-usb.c
diff --git a/drivers/phy/phy-omap-control.c b/drivers/phy/ti/phy-omap-control.c
similarity index 100%
rename from drivers/phy/phy-omap-control.c
rename to drivers/phy/ti/phy-omap-control.c
diff --git a/drivers/phy/phy-omap-usb2.c b/drivers/phy/ti/phy-omap-usb2.c
similarity index 100%
rename from drivers/phy/phy-omap-usb2.c
rename to drivers/phy/ti/phy-omap-usb2.c
diff --git a/drivers/phy/phy-ti-pipe3.c b/drivers/phy/ti/phy-ti-pipe3.c
similarity index 100%
rename from drivers/phy/phy-ti-pipe3.c
rename to drivers/phy/ti/phy-ti-pipe3.c
diff --git a/drivers/phy/phy-tusb1210.c b/drivers/phy/ti/phy-tusb1210.c
similarity index 100%
rename from drivers/phy/phy-tusb1210.c
rename to drivers/phy/ti/phy-tusb1210.c
diff --git a/drivers/phy/phy-twl4030-usb.c b/drivers/phy/ti/phy-twl4030-usb.c
similarity index 100%
rename from drivers/phy/phy-twl4030-usb.c
rename to drivers/phy/ti/phy-twl4030-usb.c
diff --git a/drivers/phy/ulpi_phy.h b/drivers/phy/ti/ulpi_phy.h
similarity index 100%
rename from drivers/phy/ulpi_phy.h
rename to drivers/phy/ti/ulpi_phy.h
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-01 11:29 ` Vivek Gautam
0 siblings, 0 replies; 40+ messages in thread
From: Vivek Gautam @ 2016-04-01 11:29 UTC (permalink / raw)
To: linux-arm-kernel
Adding vendor specific directories in phy to group
phy drivers under their respective vendor umbrella.
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
---
With growing number of phy drivers, it makes sense to
group these drivers under their respective vendor/platform
umbrella directory.
Build-tested 'multi_v7_defconfig'.
drivers/phy/Kconfig | 386 +---------------------
drivers/phy/Makefile | 57 +---
drivers/phy/bcom/Kconfig | 27 ++
drivers/phy/bcom/Makefile | 3 +
drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c | 0
drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c | 0
drivers/phy/{ => bcom}/phy-brcmstb-sata.c | 0
drivers/phy/hisi/Kconfig | 20 ++
drivers/phy/hisi/Makefile | 2 +
drivers/phy/{ => hisi}/phy-hi6220-usb.c | 0
drivers/phy/{ => hisi}/phy-hix5hd2-sata.c | 0
drivers/phy/marvell/Kconfig | 50 +++
drivers/phy/marvell/Makefile | 6 +
drivers/phy/{ => marvell}/phy-armada375-usb2.c | 0
drivers/phy/{ => marvell}/phy-berlin-sata.c | 0
drivers/phy/{ => marvell}/phy-berlin-usb.c | 0
drivers/phy/{ => marvell}/phy-mvebu-sata.c | 0
drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c | 0
drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c | 0
drivers/phy/qcom/Kconfig | 23 ++
drivers/phy/qcom/Makefile | 5 +
drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c | 0
drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c | 0
drivers/phy/{ => qcom}/phy-qcom-ufs-i.h | 0
drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c | 0
drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h | 0
drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c | 0
drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h | 0
drivers/phy/{ => qcom}/phy-qcom-ufs.c | 0
drivers/phy/rcar/Kconfig | 16 +
drivers/phy/rcar/Makefile | 2 +
drivers/phy/{ => rcar}/phy-rcar-gen2.c | 0
drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c | 0
drivers/phy/rockchip/Kconfig | 23 ++
drivers/phy/rockchip/Makefile | 3 +
drivers/phy/{ => rockchip}/phy-rockchip-dp.c | 0
drivers/phy/{ => rockchip}/phy-rockchip-emmc.c | 0
drivers/phy/{ => rockchip}/phy-rockchip-usb.c | 0
drivers/phy/samsung/Kconfig | 87 +++++
drivers/phy/samsung/Makefile | 10 +
drivers/phy/{ => samsung}/phy-exynos-dp-video.c | 0
drivers/phy/{ => samsung}/phy-exynos-mipi-video.c | 0
drivers/phy/{ => samsung}/phy-exynos4210-usb2.c | 0
drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c | 0
drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c | 0
drivers/phy/{ => samsung}/phy-exynos5250-sata.c | 0
drivers/phy/{ => samsung}/phy-exynos5250-usb2.c | 0
drivers/phy/{ => samsung}/phy-s5pv210-usb2.c | 0
drivers/phy/{ => samsung}/phy-samsung-usb2.c | 0
drivers/phy/{ => samsung}/phy-samsung-usb2.h | 0
drivers/phy/st/Kconfig | 51 +++
drivers/phy/st/Makefile | 6 +
drivers/phy/{ => st}/phy-miphy28lp.c | 0
drivers/phy/{ => st}/phy-miphy365x.c | 0
drivers/phy/{ => st}/phy-spear1310-miphy.c | 0
drivers/phy/{ => st}/phy-spear1340-miphy.c | 0
drivers/phy/{ => st}/phy-stih407-usb.c | 0
drivers/phy/{ => st}/phy-stih41x-usb.c | 0
drivers/phy/sunxi/Kconfig | 28 ++
drivers/phy/sunxi/Makefile | 2 +
drivers/phy/{ => sunxi}/phy-sun4i-usb.c | 0
drivers/phy/{ => sunxi}/phy-sun9i-usb.c | 0
drivers/phy/ti/Kconfig | 67 ++++
drivers/phy/ti/Makefile | 6 +
drivers/phy/{ => ti}/phy-dm816x-usb.c | 0
drivers/phy/{ => ti}/phy-omap-control.c | 0
drivers/phy/{ => ti}/phy-omap-usb2.c | 0
drivers/phy/{ => ti}/phy-ti-pipe3.c | 0
drivers/phy/{ => ti}/phy-tusb1210.c | 0
drivers/phy/{ => ti}/phy-twl4030-usb.c | 0
drivers/phy/{ => ti}/ulpi_phy.h | 0
71 files changed, 464 insertions(+), 416 deletions(-)
create mode 100644 drivers/phy/bcom/Kconfig
create mode 100644 drivers/phy/bcom/Makefile
rename drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c (100%)
rename drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c (100%)
rename drivers/phy/{ => bcom}/phy-brcmstb-sata.c (100%)
create mode 100644 drivers/phy/hisi/Kconfig
create mode 100644 drivers/phy/hisi/Makefile
rename drivers/phy/{ => hisi}/phy-hi6220-usb.c (100%)
rename drivers/phy/{ => hisi}/phy-hix5hd2-sata.c (100%)
create mode 100644 drivers/phy/marvell/Kconfig
create mode 100644 drivers/phy/marvell/Makefile
rename drivers/phy/{ => marvell}/phy-armada375-usb2.c (100%)
rename drivers/phy/{ => marvell}/phy-berlin-sata.c (100%)
rename drivers/phy/{ => marvell}/phy-berlin-usb.c (100%)
rename drivers/phy/{ => marvell}/phy-mvebu-sata.c (100%)
rename drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c (100%)
rename drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c (100%)
create mode 100644 drivers/phy/qcom/Kconfig
create mode 100644 drivers/phy/qcom/Makefile
rename drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c (100%)
rename drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c (100%)
rename drivers/phy/{ => qcom}/phy-qcom-ufs-i.h (100%)
rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c (100%)
rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h (100%)
rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c (100%)
rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h (100%)
rename drivers/phy/{ => qcom}/phy-qcom-ufs.c (100%)
create mode 100644 drivers/phy/rcar/Kconfig
create mode 100644 drivers/phy/rcar/Makefile
rename drivers/phy/{ => rcar}/phy-rcar-gen2.c (100%)
rename drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c (100%)
create mode 100644 drivers/phy/rockchip/Kconfig
create mode 100644 drivers/phy/rockchip/Makefile
rename drivers/phy/{ => rockchip}/phy-rockchip-dp.c (100%)
rename drivers/phy/{ => rockchip}/phy-rockchip-emmc.c (100%)
rename drivers/phy/{ => rockchip}/phy-rockchip-usb.c (100%)
create mode 100644 drivers/phy/samsung/Kconfig
create mode 100644 drivers/phy/samsung/Makefile
rename drivers/phy/{ => samsung}/phy-exynos-dp-video.c (100%)
rename drivers/phy/{ => samsung}/phy-exynos-mipi-video.c (100%)
rename drivers/phy/{ => samsung}/phy-exynos4210-usb2.c (100%)
rename drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c (100%)
rename drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c (100%)
rename drivers/phy/{ => samsung}/phy-exynos5250-sata.c (100%)
rename drivers/phy/{ => samsung}/phy-exynos5250-usb2.c (100%)
rename drivers/phy/{ => samsung}/phy-s5pv210-usb2.c (100%)
rename drivers/phy/{ => samsung}/phy-samsung-usb2.c (100%)
rename drivers/phy/{ => samsung}/phy-samsung-usb2.h (100%)
create mode 100644 drivers/phy/st/Kconfig
create mode 100644 drivers/phy/st/Makefile
rename drivers/phy/{ => st}/phy-miphy28lp.c (100%)
rename drivers/phy/{ => st}/phy-miphy365x.c (100%)
rename drivers/phy/{ => st}/phy-spear1310-miphy.c (100%)
rename drivers/phy/{ => st}/phy-spear1340-miphy.c (100%)
rename drivers/phy/{ => st}/phy-stih407-usb.c (100%)
rename drivers/phy/{ => st}/phy-stih41x-usb.c (100%)
create mode 100644 drivers/phy/sunxi/Kconfig
create mode 100644 drivers/phy/sunxi/Makefile
rename drivers/phy/{ => sunxi}/phy-sun4i-usb.c (100%)
rename drivers/phy/{ => sunxi}/phy-sun9i-usb.c (100%)
create mode 100644 drivers/phy/ti/Kconfig
create mode 100644 drivers/phy/ti/Makefile
rename drivers/phy/{ => ti}/phy-dm816x-usb.c (100%)
rename drivers/phy/{ => ti}/phy-omap-control.c (100%)
rename drivers/phy/{ => ti}/phy-omap-usb2.c (100%)
rename drivers/phy/{ => ti}/phy-ti-pipe3.c (100%)
rename drivers/phy/{ => ti}/phy-tusb1210.c (100%)
rename drivers/phy/{ => ti}/phy-twl4030-usb.c (100%)
rename drivers/phy/{ => ti}/ulpi_phy.h (100%)
diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
index 26566db..80c8c68 100644
--- a/drivers/phy/Kconfig
+++ b/drivers/phy/Kconfig
@@ -15,45 +15,6 @@ config GENERIC_PHY
phy users can obtain reference to the PHY. All the users of this
framework should select this config.
-config PHY_BERLIN_USB
- tristate "Marvell Berlin USB PHY Driver"
- depends on ARCH_BERLIN && RESET_CONTROLLER && HAS_IOMEM && OF
- select GENERIC_PHY
- help
- Enable this to support the USB PHY on Marvell Berlin SoCs.
-
-config PHY_BERLIN_SATA
- tristate "Marvell Berlin SATA PHY driver"
- depends on ARCH_BERLIN && HAS_IOMEM && OF
- select GENERIC_PHY
- help
- Enable this to support the SATA PHY on Marvell Berlin SoCs.
-
-config ARMADA375_USBCLUSTER_PHY
- def_bool y
- depends on MACH_ARMADA_375 || COMPILE_TEST
- depends on OF && HAS_IOMEM
- select GENERIC_PHY
-
-config PHY_DM816X_USB
- tristate "TI dm816x USB PHY driver"
- depends on ARCH_OMAP2PLUS
- depends on USB_SUPPORT
- select GENERIC_PHY
- select USB_PHY
- help
- Enable this for dm816x USB to work.
-
-config PHY_EXYNOS_MIPI_VIDEO
- tristate "S5P/EXYNOS SoC series MIPI CSI-2/DSI PHY driver"
- depends on HAS_IOMEM
- depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
- select GENERIC_PHY
- default y if ARCH_S5PV210 || ARCH_EXYNOS
- help
- Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P
- and EXYNOS SoCs.
-
config PHY_LPC18XX_USB_OTG
tristate "NXP LPC18xx/43xx SoC USB OTG PHY driver"
depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
@@ -65,154 +26,6 @@ config PHY_LPC18XX_USB_OTG
This driver is need for USB0 support on LPC18xx/43xx and takes
care of enabling and clock setup.
-config PHY_PXA_28NM_HSIC
- tristate "Marvell USB HSIC 28nm PHY Driver"
- depends on HAS_IOMEM
- select GENERIC_PHY
- help
- Enable this to support Marvell USB HSIC PHY driver for Marvell
- SoC. This driver will do the PHY initialization and shutdown.
- The PHY driver will be used by Marvell ehci driver.
-
- To compile this driver as a module, choose M here.
-
-config PHY_PXA_28NM_USB2
- tristate "Marvell USB 2.0 28nm PHY Driver"
- depends on HAS_IOMEM
- select GENERIC_PHY
- help
- Enable this to support Marvell USB 2.0 PHY driver for Marvell
- SoC. This driver will do the PHY initialization and shutdown.
- The PHY driver will be used by Marvell udc/ehci/otg driver.
-
- To compile this driver as a module, choose M here.
-
-config PHY_MVEBU_SATA
- def_bool y
- depends on ARCH_DOVE || MACH_DOVE || MACH_KIRKWOOD
- depends on OF
- select GENERIC_PHY
-
-config PHY_MIPHY28LP
- tristate "STMicroelectronics MIPHY28LP PHY driver for STiH407"
- depends on ARCH_STI
- select GENERIC_PHY
- help
- Enable this to support the miphy transceiver (for SATA/PCIE/USB3)
- that is part of STMicroelectronics STiH407 SoC.
-
-config PHY_MIPHY365X
- tristate "STMicroelectronics MIPHY365X PHY driver for STiH41x series"
- depends on ARCH_STI
- depends on HAS_IOMEM
- depends on OF
- select GENERIC_PHY
- help
- Enable this to support the miphy transceiver (for SATA/PCIE)
- that is part of STMicroelectronics STiH41x SoC series.
-
-config PHY_RCAR_GEN2
- tristate "Renesas R-Car generation 2 USB PHY driver"
- depends on ARCH_SHMOBILE
- depends on GENERIC_PHY
- help
- Support for USB PHY found on Renesas R-Car generation 2 SoCs.
-
-config PHY_RCAR_GEN3_USB2
- tristate "Renesas R-Car generation 3 USB 2.0 PHY driver"
- depends on OF && ARCH_SHMOBILE
- select GENERIC_PHY
- help
- Support for USB 2.0 PHY found on Renesas R-Car generation 3 SoCs.
-
-config OMAP_CONTROL_PHY
- tristate "OMAP CONTROL PHY Driver"
- depends on ARCH_OMAP2PLUS || COMPILE_TEST
- help
- Enable this to add support for the PHY part present in the control
- module. This driver has API to power on the USB2 PHY and to write to
- the mailbox. The mailbox is present only in omap4 and the register to
- power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an
- additional register to power on USB3 PHY/SATA PHY/PCIE PHY
- (PIPE3 PHY).
-
-config OMAP_USB2
- tristate "OMAP USB2 PHY Driver"
- depends on ARCH_OMAP2PLUS
- depends on USB_SUPPORT
- select GENERIC_PHY
- select USB_PHY
- select OMAP_CONTROL_PHY
- depends on OMAP_OCP2SCP
- help
- Enable this to support the transceiver that is part of SOC. This
- driver takes care of all the PHY functionality apart from comparator.
- The USB OTG controller communicates with the comparator using this
- driver.
-
-config TI_PIPE3
- tristate "TI PIPE3 PHY Driver"
- depends on ARCH_OMAP2PLUS || COMPILE_TEST
- select GENERIC_PHY
- select OMAP_CONTROL_PHY
- depends on OMAP_OCP2SCP
- help
- Enable this to support the PIPE3 PHY that is part of TI SOCs. This
- driver takes care of all the PHY functionality apart from comparator.
- This driver interacts with the "OMAP Control PHY Driver" to power
- on/off the PHY.
-
-config TWL4030_USB
- tristate "TWL4030 USB Transceiver Driver"
- depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
- depends on USB_SUPPORT
- select GENERIC_PHY
- select USB_PHY
- help
- Enable this to support the USB OTG transceiver on TWL4030
- family chips (including the TWL5030 and TPS659x0 devices).
- This transceiver supports high and full speed devices plus,
- in host mode, low speed.
-
-config PHY_EXYNOS_DP_VIDEO
- tristate "EXYNOS SoC series Display Port PHY driver"
- depends on OF
- depends on ARCH_EXYNOS || COMPILE_TEST
- default ARCH_EXYNOS
- select GENERIC_PHY
- help
- Support for Display Port PHY found on Samsung EXYNOS SoCs.
-
-config BCM_KONA_USB2_PHY
- tristate "Broadcom Kona USB2 PHY Driver"
- depends on HAS_IOMEM
- select GENERIC_PHY
- help
- Enable this to support the Broadcom Kona USB 2.0 PHY.
-
-config PHY_EXYNOS5250_SATA
- tristate "Exynos5250 Sata SerDes/PHY driver"
- depends on SOC_EXYNOS5250
- depends on HAS_IOMEM
- depends on OF
- select GENERIC_PHY
- select I2C
- select I2C_S3C2410
- select MFD_SYSCON
- help
- Enable this to support SATA SerDes/Phy found on Samsung's
- Exynos5250 based SoCs.This SerDes/Phy supports SATA 1.5 Gb/s,
- SATA 3.0 Gb/s, SATA 6.0 Gb/s speeds. It supports one SATA host
- port to accept one SATA device.
-
-config PHY_HIX5HD2_SATA
- tristate "HIX5HD2 SATA PHY Driver"
- depends on ARCH_HIX5HD2 && OF && HAS_IOMEM
- select GENERIC_PHY
- select MFD_SYSCON
- help
- Support for SATA PHY on Hisilicon hix5hd2 Soc.
-
config PHY_MT65XX_USB3
tristate "Mediatek USB3.0 PHY Driver"
depends on ARCH_MEDIATEK && OF
@@ -222,93 +35,6 @@ config PHY_MT65XX_USB3
for mt65xx SoCs. it supports two usb2.0 ports and
one usb3.0 port.
-config PHY_HI6220_USB
- tristate "hi6220 USB PHY support"
- depends on (ARCH_HISI && ARM64) || COMPILE_TEST
- select GENERIC_PHY
- select MFD_SYSCON
- help
- Enable this to support the HISILICON HI6220 USB PHY.
-
- To compile this driver as a module, choose M here.
-
-config PHY_SUN4I_USB
- tristate "Allwinner sunxi SoC USB PHY driver"
- depends on ARCH_SUNXI && HAS_IOMEM && OF
- depends on RESET_CONTROLLER
- depends on EXTCON
- depends on POWER_SUPPLY
- select GENERIC_PHY
- help
- Enable this to support the transceiver that is part of Allwinner
- sunxi SoCs.
-
- This driver controls the entire USB PHY block, both the USB OTG
- parts, as well as the 2 regular USB 2 host PHYs.
-
-config PHY_SUN9I_USB
- tristate "Allwinner sun9i SoC USB PHY driver"
- depends on ARCH_SUNXI && HAS_IOMEM && OF
- depends on RESET_CONTROLLER
- depends on USB_COMMON
- select GENERIC_PHY
- help
- Enable this to support the transceiver that is part of Allwinner
- sun9i SoCs.
-
- This driver controls each individual USB 2 host PHY.
-
-config PHY_SAMSUNG_USB2
- tristate "Samsung USB 2.0 PHY driver"
- depends on HAS_IOMEM
- depends on USB_EHCI_EXYNOS || USB_OHCI_EXYNOS || USB_DWC2
- select GENERIC_PHY
- select MFD_SYSCON
- default ARCH_EXYNOS
- help
- Enable this to support the Samsung USB 2.0 PHY driver for Samsung
- SoCs. This driver provides the interface for USB 2.0 PHY. Support
- for particular PHYs will be enabled based on the SoC type in addition
- to this driver.
-
-config PHY_S5PV210_USB2
- bool "Support for S5PV210"
- depends on PHY_SAMSUNG_USB2
- depends on ARCH_S5PV210
- help
- Enable USB PHY support for S5PV210. This option requires that Samsung
- USB 2.0 PHY driver is enabled and means that support for this
- particular SoC is compiled in the driver. In case of S5PV210 two phys
- are available - device and host.
-
-config PHY_EXYNOS4210_USB2
- bool
- depends on PHY_SAMSUNG_USB2
- default CPU_EXYNOS4210
-
-config PHY_EXYNOS4X12_USB2
- bool
- depends on PHY_SAMSUNG_USB2
- default SOC_EXYNOS3250 || SOC_EXYNOS4212 || SOC_EXYNOS4412
-
-config PHY_EXYNOS5250_USB2
- bool
- depends on PHY_SAMSUNG_USB2
- default SOC_EXYNOS5250 || SOC_EXYNOS5420
-
-config PHY_EXYNOS5_USBDRD
- tristate "Exynos5 SoC series USB DRD PHY driver"
- depends on ARCH_EXYNOS && OF
- depends on HAS_IOMEM
- depends on USB_DWC3_EXYNOS
- select GENERIC_PHY
- select MFD_SYSCON
- default y
- help
- Enable USB DRD PHY support for Exynos 5 SoC series.
- This driver provides PHY interface for USB 3.0 DRD controller
- present on Exynos5 SoC series.
-
config PHY_PISTACHIO_USB
tristate "IMG Pistachio USB2.0 PHY driver"
depends on MACH_PISTACHIO
@@ -316,55 +42,6 @@ config PHY_PISTACHIO_USB
help
Enable this to support the USB2.0 PHY on the IMG Pistachio SoC.
-config PHY_QCOM_APQ8064_SATA
- tristate "Qualcomm APQ8064 SATA SerDes/PHY driver"
- depends on ARCH_QCOM
- depends on HAS_IOMEM
- depends on OF
- select GENERIC_PHY
-
-config PHY_QCOM_IPQ806X_SATA
- tristate "Qualcomm IPQ806x SATA SerDes/PHY driver"
- depends on ARCH_QCOM
- depends on HAS_IOMEM
- depends on OF
- select GENERIC_PHY
-
-config PHY_ROCKCHIP_USB
- tristate "Rockchip USB2 PHY Driver"
- depends on ARCH_ROCKCHIP && OF
- select GENERIC_PHY
- help
- Enable this to support the Rockchip USB 2.0 PHY.
-
-config PHY_ROCKCHIP_EMMC
- tristate "Rockchip EMMC PHY Driver"
- depends on ARCH_ROCKCHIP && OF
- select GENERIC_PHY
- help
- Enable this to support the Rockchip EMMC PHY.
-
-config PHY_ROCKCHIP_DP
- tristate "Rockchip Display Port PHY Driver"
- depends on ARCH_ROCKCHIP && OF
- select GENERIC_PHY
- help
- Enable this to support the Rockchip Display Port PHY.
-
-config PHY_ST_SPEAR1310_MIPHY
- tristate "ST SPEAR1310-MIPHY driver"
- select GENERIC_PHY
- depends on MACH_SPEAR1310 || COMPILE_TEST
- help
- Support for ST SPEAr1310 MIPHY which can be used for PCIe and SATA.
-
-config PHY_ST_SPEAR1340_MIPHY
- tristate "ST SPEAR1340-MIPHY driver"
- select GENERIC_PHY
- depends on MACH_SPEAR1340 || COMPILE_TEST
- help
- Support for ST SPEAr1340 MIPHY which can be used for PCIe and SATA.
-
config PHY_XGENE
tristate "APM X-Gene 15Gbps PHY support"
depends on HAS_IOMEM && OF && (ARM64 || COMPILE_TEST)
@@ -372,53 +49,20 @@ config PHY_XGENE
help
This option enables support for APM X-Gene SoC multi-purpose PHY.
-config PHY_STIH407_USB
- tristate "STMicroelectronics USB2 picoPHY driver for STiH407 family"
- depends on RESET_CONTROLLER
- depends on ARCH_STI || COMPILE_TEST
- select GENERIC_PHY
- help
- Enable this support to enable the picoPHY device used by USB2
- and USB3 controllers on STMicroelectronics STiH407 SoC families.
-
-config PHY_STIH41X_USB
- tristate "STMicroelectronics USB2 PHY driver for STiH41x series"
- depends on ARCH_STI
- select GENERIC_PHY
- help
- Enable this to support the USB transceiver that is part of
- STMicroelectronics STiH41x SoC series.
-
-config PHY_QCOM_UFS
- tristate "Qualcomm UFS PHY driver"
- depends on OF && ARCH_QCOM
- select GENERIC_PHY
- help
- Support for UFS PHY on QCOM chipsets.
-
-config PHY_TUSB1210
- tristate "TI TUSB1210 ULPI PHY module"
- depends on USB_ULPI_BUS
- select GENERIC_PHY
- help
- Support for TI TUSB1210 USB ULPI PHY.
-
-config PHY_BRCMSTB_SATA
- tristate "Broadcom STB SATA PHY driver"
- depends on ARCH_BRCMSTB || BMIPS_GENERIC
- depends on OF
- select GENERIC_PHY
- help
- Enable this to support the SATA3 PHY on 28nm or 40nm Broadcom STB SoCs.
- Likely useful only with CONFIG_SATA_BRCMSTB enabled.
-
-config PHY_CYGNUS_PCIE
- tristate "Broadcom Cygnus PCIe PHY driver"
- depends on OF && (ARCH_BCM_CYGNUS || COMPILE_TEST)
- select GENERIC_PHY
- default ARCH_BCM_CYGNUS
- help
- Enable this to support the Broadcom Cygnus PCIe PHY.
- If unsure, say N.
+menuconfig PHY_PLAT
+ bool "Platform Phy drivers"
+
+if PHY_PLAT
+source "drivers/phy/bcom/Kconfig"
+source "drivers/phy/hisi/Kconfig"
+source "drivers/phy/marvell/Kconfig"
+source "drivers/phy/qcom/Kconfig"
+source "drivers/phy/rcar/Kconfig"
+source "drivers/phy/rockchip/Kconfig"
+source "drivers/phy/samsung/Kconfig"
+source "drivers/phy/st/Kconfig"
+source "drivers/phy/sunxi/Kconfig"
+source "drivers/phy/ti/Kconfig"
+endif
endmenu
diff --git a/drivers/phy/Makefile b/drivers/phy/Makefile
index 24596a9..73d563b 100644
--- a/drivers/phy/Makefile
+++ b/drivers/phy/Makefile
@@ -3,52 +3,19 @@
#
obj-$(CONFIG_GENERIC_PHY) += phy-core.o
-obj-$(CONFIG_PHY_BERLIN_USB) += phy-berlin-usb.o
-obj-$(CONFIG_PHY_BERLIN_SATA) += phy-berlin-sata.o
-obj-$(CONFIG_PHY_DM816X_USB) += phy-dm816x-usb.o
-obj-$(CONFIG_ARMADA375_USBCLUSTER_PHY) += phy-armada375-usb2.o
-obj-$(CONFIG_BCM_KONA_USB2_PHY) += phy-bcm-kona-usb2.o
-obj-$(CONFIG_PHY_EXYNOS_DP_VIDEO) += phy-exynos-dp-video.o
-obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO) += phy-exynos-mipi-video.o
obj-$(CONFIG_PHY_LPC18XX_USB_OTG) += phy-lpc18xx-usb-otg.o
-obj-$(CONFIG_PHY_PXA_28NM_USB2) += phy-pxa-28nm-usb2.o
-obj-$(CONFIG_PHY_PXA_28NM_HSIC) += phy-pxa-28nm-hsic.o
-obj-$(CONFIG_PHY_MVEBU_SATA) += phy-mvebu-sata.o
-obj-$(CONFIG_PHY_MIPHY28LP) += phy-miphy28lp.o
-obj-$(CONFIG_PHY_MIPHY365X) += phy-miphy365x.o
-obj-$(CONFIG_PHY_RCAR_GEN2) += phy-rcar-gen2.o
-obj-$(CONFIG_PHY_RCAR_GEN3_USB2) += phy-rcar-gen3-usb2.o
-obj-$(CONFIG_OMAP_CONTROL_PHY) += phy-omap-control.o
-obj-$(CONFIG_OMAP_USB2) += phy-omap-usb2.o
-obj-$(CONFIG_TI_PIPE3) += phy-ti-pipe3.o
-obj-$(CONFIG_TWL4030_USB) += phy-twl4030-usb.o
-obj-$(CONFIG_PHY_EXYNOS5250_SATA) += phy-exynos5250-sata.o
-obj-$(CONFIG_PHY_HIX5HD2_SATA) += phy-hix5hd2-sata.o
-obj-$(CONFIG_PHY_HI6220_USB) += phy-hi6220-usb.o
obj-$(CONFIG_PHY_MT65XX_USB3) += phy-mt65xx-usb3.o
-obj-$(CONFIG_PHY_SUN4I_USB) += phy-sun4i-usb.o
-obj-$(CONFIG_PHY_SUN9I_USB) += phy-sun9i-usb.o
-obj-$(CONFIG_PHY_SAMSUNG_USB2) += phy-exynos-usb2.o
-phy-exynos-usb2-y += phy-samsung-usb2.o
-phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4210_USB2) += phy-exynos4210-usb2.o
-phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4X12_USB2) += phy-exynos4x12-usb2.o
-phy-exynos-usb2-$(CONFIG_PHY_EXYNOS5250_USB2) += phy-exynos5250-usb2.o
-phy-exynos-usb2-$(CONFIG_PHY_S5PV210_USB2) += phy-s5pv210-usb2.o
-obj-$(CONFIG_PHY_EXYNOS5_USBDRD) += phy-exynos5-usbdrd.o
-obj-$(CONFIG_PHY_QCOM_APQ8064_SATA) += phy-qcom-apq8064-sata.o
-obj-$(CONFIG_PHY_ROCKCHIP_USB) += phy-rockchip-usb.o
-obj-$(CONFIG_PHY_ROCKCHIP_EMMC) += phy-rockchip-emmc.o
-obj-$(CONFIG_PHY_ROCKCHIP_DP) += phy-rockchip-dp.o
-obj-$(CONFIG_PHY_QCOM_IPQ806X_SATA) += phy-qcom-ipq806x-sata.o
-obj-$(CONFIG_PHY_ST_SPEAR1310_MIPHY) += phy-spear1310-miphy.o
-obj-$(CONFIG_PHY_ST_SPEAR1340_MIPHY) += phy-spear1340-miphy.o
obj-$(CONFIG_PHY_XGENE) += phy-xgene.o
-obj-$(CONFIG_PHY_STIH407_USB) += phy-stih407-usb.o
-obj-$(CONFIG_PHY_STIH41X_USB) += phy-stih41x-usb.o
-obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs.o
-obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs-qmp-20nm.o
-obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs-qmp-14nm.o
-obj-$(CONFIG_PHY_TUSB1210) += phy-tusb1210.o
-obj-$(CONFIG_PHY_BRCMSTB_SATA) += phy-brcmstb-sata.o
obj-$(CONFIG_PHY_PISTACHIO_USB) += phy-pistachio-usb.o
-obj-$(CONFIG_PHY_CYGNUS_PCIE) += phy-bcm-cygnus-pcie.o
+
+# Phy drivers for different platforms.
+obj-$(CONFIG_PHY_PLAT) += bcom/ \
+ hisi/ \
+ marvell/ \
+ qcom/ \
+ rcar/ \
+ rockchip/ \
+ samsung/ \
+ st/ \
+ sunxi/ \
+ ti/
diff --git a/drivers/phy/bcom/Kconfig b/drivers/phy/bcom/Kconfig
new file mode 100644
index 0000000..8243372
--- /dev/null
+++ b/drivers/phy/bcom/Kconfig
@@ -0,0 +1,27 @@
+#
+# PHY drivers for Broadcom platforms
+#
+config PHY_CYGNUS_PCIE
+ tristate "Broadcom Cygnus PCIe PHY driver"
+ depends on OF && (ARCH_BCM_CYGNUS || COMPILE_TEST)
+ select GENERIC_PHY
+ default ARCH_BCM_CYGNUS
+ help
+ Enable this to support the Broadcom Cygnus PCIe PHY.
+ If unsure, say N.
+
+config BCM_KONA_USB2_PHY
+ tristate "Broadcom Kona USB2 PHY Driver"
+ depends on HAS_IOMEM
+ select GENERIC_PHY
+ help
+ Enable this to support the Broadcom Kona USB 2.0 PHY.
+
+config PHY_BRCMSTB_SATA
+ tristate "Broadcom STB SATA PHY driver"
+ depends on ARCH_BRCMSTB || BMIPS_GENERIC
+ depends on OF
+ select GENERIC_PHY
+ help
+ Enable this to support the SATA3 PHY on 28nm or 40nm Broadcom STB SoCs.
+ Likely useful only with CONFIG_SATA_BRCMSTB enabled.
diff --git a/drivers/phy/bcom/Makefile b/drivers/phy/bcom/Makefile
new file mode 100644
index 0000000..f30fa76
--- /dev/null
+++ b/drivers/phy/bcom/Makefile
@@ -0,0 +1,3 @@
+obj-$(CONFIG_PHY_CYGNUS_PCIE) += phy-bcm-cygnus-pcie.o
+obj-$(CONFIG_BCM_KONA_USB2_PHY) += phy-bcm-kona-usb2.o
+obj-$(CONFIG_PHY_BRCMSTB_SATA) += phy-brcmstb-sata.o
diff --git a/drivers/phy/phy-bcm-cygnus-pcie.c b/drivers/phy/bcom/phy-bcm-cygnus-pcie.c
similarity index 100%
rename from drivers/phy/phy-bcm-cygnus-pcie.c
rename to drivers/phy/bcom/phy-bcm-cygnus-pcie.c
diff --git a/drivers/phy/phy-bcm-kona-usb2.c b/drivers/phy/bcom/phy-bcm-kona-usb2.c
similarity index 100%
rename from drivers/phy/phy-bcm-kona-usb2.c
rename to drivers/phy/bcom/phy-bcm-kona-usb2.c
diff --git a/drivers/phy/phy-brcmstb-sata.c b/drivers/phy/bcom/phy-brcmstb-sata.c
similarity index 100%
rename from drivers/phy/phy-brcmstb-sata.c
rename to drivers/phy/bcom/phy-brcmstb-sata.c
diff --git a/drivers/phy/hisi/Kconfig b/drivers/phy/hisi/Kconfig
new file mode 100644
index 0000000..affa9ed
--- /dev/null
+++ b/drivers/phy/hisi/Kconfig
@@ -0,0 +1,20 @@
+#
+# PHY drivers for HiSilicon platforms
+#
+config PHY_HIX5HD2_SATA
+ tristate "HIX5HD2 SATA PHY Driver"
+ depends on ARCH_HIX5HD2 && OF && HAS_IOMEM
+ select GENERIC_PHY
+ select MFD_SYSCON
+ help
+ Support for SATA PHY on Hisilicon hix5hd2 Soc.
+
+config PHY_HI6220_USB
+ tristate "hi6220 USB PHY support"
+ depends on (ARCH_HISI && ARM64) || COMPILE_TEST
+ select GENERIC_PHY
+ select MFD_SYSCON
+ help
+ Enable this to support the HISILICON HI6220 USB PHY.
+
+ To compile this driver as a module, choose M here.
diff --git a/drivers/phy/hisi/Makefile b/drivers/phy/hisi/Makefile
new file mode 100644
index 0000000..6059ed8
--- /dev/null
+++ b/drivers/phy/hisi/Makefile
@@ -0,0 +1,2 @@
+obj-$(CONFIG_PHY_HIX5HD2_SATA) += phy-hix5hd2-sata.o
+obj-$(CONFIG_PHY_HI6220_USB) += phy-hi6220-usb.o
diff --git a/drivers/phy/phy-hi6220-usb.c b/drivers/phy/hisi/phy-hi6220-usb.c
similarity index 100%
rename from drivers/phy/phy-hi6220-usb.c
rename to drivers/phy/hisi/phy-hi6220-usb.c
diff --git a/drivers/phy/phy-hix5hd2-sata.c b/drivers/phy/hisi/phy-hix5hd2-sata.c
similarity index 100%
rename from drivers/phy/phy-hix5hd2-sata.c
rename to drivers/phy/hisi/phy-hix5hd2-sata.c
diff --git a/drivers/phy/marvell/Kconfig b/drivers/phy/marvell/Kconfig
new file mode 100644
index 0000000..6c1576c
--- /dev/null
+++ b/drivers/phy/marvell/Kconfig
@@ -0,0 +1,50 @@
+#
+# PHY drivers for Marvell platforms
+#
+config ARMADA375_USBCLUSTER_PHY
+ def_bool y
+ depends on MACH_ARMADA_375 || COMPILE_TEST
+ depends on OF && HAS_IOMEM
+ select GENERIC_PHY
+
+config PHY_BERLIN_USB
+ tristate "Marvell Berlin USB PHY Driver"
+ depends on ARCH_BERLIN && RESET_CONTROLLER && HAS_IOMEM && OF
+ select GENERIC_PHY
+ help
+ Enable this to support the USB PHY on Marvell Berlin SoCs.
+
+config PHY_BERLIN_SATA
+ tristate "Marvell Berlin SATA PHY driver"
+ depends on ARCH_BERLIN && HAS_IOMEM && OF
+ select GENERIC_PHY
+ help
+ Enable this to support the SATA PHY on Marvell Berlin SoCs.
+
+config PHY_MVEBU_SATA
+ def_bool y
+ depends on ARCH_DOVE || MACH_DOVE || MACH_KIRKWOOD
+ depends on OF
+ select GENERIC_PHY
+
+config PHY_PXA_28NM_HSIC
+ tristate "Marvell USB HSIC 28nm PHY Driver"
+ depends on HAS_IOMEM
+ select GENERIC_PHY
+ help
+ Enable this to support Marvell USB HSIC PHY driver for Marvell
+ SoC. This driver will do the PHY initialization and shutdown.
+ The PHY driver will be used by Marvell ehci driver.
+
+ To compile this driver as a module, choose M here.
+
+config PHY_PXA_28NM_USB2
+ tristate "Marvell USB 2.0 28nm PHY Driver"
+ depends on HAS_IOMEM
+ select GENERIC_PHY
+ help
+ Enable this to support Marvell USB 2.0 PHY driver for Marvell
+ SoC. This driver will do the PHY initialization and shutdown.
+ The PHY driver will be used by Marvell udc/ehci/otg driver.
+
+ 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 0000000..f4fa255
--- /dev/null
+++ b/drivers/phy/marvell/Makefile
@@ -0,0 +1,6 @@
+obj-$(CONFIG_ARMADA375_USBCLUSTER_PHY) += phy-armada375-usb2.o
+obj-$(CONFIG_PHY_BERLIN_USB) += phy-berlin-usb.o
+obj-$(CONFIG_PHY_BERLIN_SATA) += phy-berlin-sata.o
+obj-$(CONFIG_PHY_MVEBU_SATA) += phy-mvebu-sata.o
+obj-$(CONFIG_PHY_PXA_28NM_USB2) += phy-pxa-28nm-usb2.o
+obj-$(CONFIG_PHY_PXA_28NM_HSIC) += phy-pxa-28nm-hsic.o
diff --git a/drivers/phy/phy-armada375-usb2.c b/drivers/phy/marvell/phy-armada375-usb2.c
similarity index 100%
rename from drivers/phy/phy-armada375-usb2.c
rename to drivers/phy/marvell/phy-armada375-usb2.c
diff --git a/drivers/phy/phy-berlin-sata.c b/drivers/phy/marvell/phy-berlin-sata.c
similarity index 100%
rename from drivers/phy/phy-berlin-sata.c
rename to drivers/phy/marvell/phy-berlin-sata.c
diff --git a/drivers/phy/phy-berlin-usb.c b/drivers/phy/marvell/phy-berlin-usb.c
similarity index 100%
rename from drivers/phy/phy-berlin-usb.c
rename to drivers/phy/marvell/phy-berlin-usb.c
diff --git a/drivers/phy/phy-mvebu-sata.c b/drivers/phy/marvell/phy-mvebu-sata.c
similarity index 100%
rename from drivers/phy/phy-mvebu-sata.c
rename to 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
similarity index 100%
rename from drivers/phy/phy-pxa-28nm-hsic.c
rename to 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
similarity index 100%
rename from drivers/phy/phy-pxa-28nm-usb2.c
rename to drivers/phy/marvell/phy-pxa-28nm-usb2.c
diff --git a/drivers/phy/qcom/Kconfig b/drivers/phy/qcom/Kconfig
new file mode 100644
index 0000000..9718d01
--- /dev/null
+++ b/drivers/phy/qcom/Kconfig
@@ -0,0 +1,23 @@
+#
+# PHY drivers for Qualcomm platforms
+#
+config PHY_QCOM_APQ8064_SATA
+ tristate "Qualcomm APQ8064 SATA SerDes/PHY driver"
+ depends on ARCH_QCOM
+ depends on HAS_IOMEM
+ depends on OF
+ select GENERIC_PHY
+
+config PHY_QCOM_IPQ806X_SATA
+ tristate "Qualcomm IPQ806x SATA SerDes/PHY driver"
+ depends on ARCH_QCOM
+ depends on HAS_IOMEM
+ depends on OF
+ select GENERIC_PHY
+
+config PHY_QCOM_UFS
+ tristate "Qualcomm UFS PHY driver"
+ depends on OF && ARCH_QCOM
+ select GENERIC_PHY
+ help
+ Support for UFS PHY on QCOM chipsets.
diff --git a/drivers/phy/qcom/Makefile b/drivers/phy/qcom/Makefile
new file mode 100644
index 0000000..2db3e77
--- /dev/null
+++ b/drivers/phy/qcom/Makefile
@@ -0,0 +1,5 @@
+obj-$(CONFIG_PHY_QCOM_APQ8064_SATA) += phy-qcom-apq8064-sata.o
+obj-$(CONFIG_PHY_QCOM_IPQ806X_SATA) += phy-qcom-ipq806x-sata.o
+obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs.o \
+ += phy-qcom-ufs-qmp-20nm.o \
+ += phy-qcom-ufs-qmp-14nm.o
diff --git a/drivers/phy/phy-qcom-apq8064-sata.c b/drivers/phy/qcom/phy-qcom-apq8064-sata.c
similarity index 100%
rename from drivers/phy/phy-qcom-apq8064-sata.c
rename to drivers/phy/qcom/phy-qcom-apq8064-sata.c
diff --git a/drivers/phy/phy-qcom-ipq806x-sata.c b/drivers/phy/qcom/phy-qcom-ipq806x-sata.c
similarity index 100%
rename from drivers/phy/phy-qcom-ipq806x-sata.c
rename to drivers/phy/qcom/phy-qcom-ipq806x-sata.c
diff --git a/drivers/phy/phy-qcom-ufs-i.h b/drivers/phy/qcom/phy-qcom-ufs-i.h
similarity index 100%
rename from drivers/phy/phy-qcom-ufs-i.h
rename to drivers/phy/qcom/phy-qcom-ufs-i.h
diff --git a/drivers/phy/phy-qcom-ufs-qmp-14nm.c b/drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.c
similarity index 100%
rename from drivers/phy/phy-qcom-ufs-qmp-14nm.c
rename to drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.c
diff --git a/drivers/phy/phy-qcom-ufs-qmp-14nm.h b/drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.h
similarity index 100%
rename from drivers/phy/phy-qcom-ufs-qmp-14nm.h
rename to drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.h
diff --git a/drivers/phy/phy-qcom-ufs-qmp-20nm.c b/drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.c
similarity index 100%
rename from drivers/phy/phy-qcom-ufs-qmp-20nm.c
rename to drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.c
diff --git a/drivers/phy/phy-qcom-ufs-qmp-20nm.h b/drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.h
similarity index 100%
rename from drivers/phy/phy-qcom-ufs-qmp-20nm.h
rename to drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.h
diff --git a/drivers/phy/phy-qcom-ufs.c b/drivers/phy/qcom/phy-qcom-ufs.c
similarity index 100%
rename from drivers/phy/phy-qcom-ufs.c
rename to drivers/phy/qcom/phy-qcom-ufs.c
diff --git a/drivers/phy/rcar/Kconfig b/drivers/phy/rcar/Kconfig
new file mode 100644
index 0000000..169b5e2
--- /dev/null
+++ b/drivers/phy/rcar/Kconfig
@@ -0,0 +1,16 @@
+#
+# PHY drivers for Renesas's r-car platforms
+#
+config PHY_RCAR_GEN2
+ tristate "Renesas R-Car generation 2 USB PHY driver"
+ depends on ARCH_SHMOBILE
+ depends on GENERIC_PHY
+ help
+ Support for USB PHY found on Renesas R-Car generation 2 SoCs.
+
+config PHY_RCAR_GEN3_USB2
+ tristate "Renesas R-Car generation 3 USB 2.0 PHY driver"
+ depends on OF && ARCH_SHMOBILE
+ select GENERIC_PHY
+ help
+ Support for USB 2.0 PHY found on Renesas R-Car generation 3 SoCs.
diff --git a/drivers/phy/rcar/Makefile b/drivers/phy/rcar/Makefile
new file mode 100644
index 0000000..695241a
--- /dev/null
+++ b/drivers/phy/rcar/Makefile
@@ -0,0 +1,2 @@
+obj-$(CONFIG_PHY_RCAR_GEN2) += phy-rcar-gen2.o
+obj-$(CONFIG_PHY_RCAR_GEN3_USB2) += phy-rcar-gen3-usb2.o
diff --git a/drivers/phy/phy-rcar-gen2.c b/drivers/phy/rcar/phy-rcar-gen2.c
similarity index 100%
rename from drivers/phy/phy-rcar-gen2.c
rename to drivers/phy/rcar/phy-rcar-gen2.c
diff --git a/drivers/phy/phy-rcar-gen3-usb2.c b/drivers/phy/rcar/phy-rcar-gen3-usb2.c
similarity index 100%
rename from drivers/phy/phy-rcar-gen3-usb2.c
rename to drivers/phy/rcar/phy-rcar-gen3-usb2.c
diff --git a/drivers/phy/rockchip/Kconfig b/drivers/phy/rockchip/Kconfig
new file mode 100644
index 0000000..c575d1e
--- /dev/null
+++ b/drivers/phy/rockchip/Kconfig
@@ -0,0 +1,23 @@
+#
+# PHY drivers for Rockchip platforms
+#
+config PHY_ROCKCHIP_USB
+ tristate "Rockchip USB2 PHY Driver"
+ depends on ARCH_ROCKCHIP && OF
+ select GENERIC_PHY
+ help
+ Enable this to support the Rockchip USB 2.0 PHY.
+
+config PHY_ROCKCHIP_EMMC
+ tristate "Rockchip EMMC PHY Driver"
+ depends on ARCH_ROCKCHIP && OF
+ select GENERIC_PHY
+ help
+ Enable this to support the Rockchip EMMC PHY.
+
+config PHY_ROCKCHIP_DP
+ tristate "Rockchip Display Port PHY Driver"
+ depends on ARCH_ROCKCHIP && OF
+ select GENERIC_PHY
+ help
+ Enable this to support the Rockchip Display Port PHY.
diff --git a/drivers/phy/rockchip/Makefile b/drivers/phy/rockchip/Makefile
new file mode 100644
index 0000000..c15acc1
--- /dev/null
+++ b/drivers/phy/rockchip/Makefile
@@ -0,0 +1,3 @@
+obj-$(CONFIG_PHY_ROCKCHIP_DP) += phy-rockchip-dp.o
+obj-$(CONFIG_PHY_ROCKCHIP_EMMC) += phy-rockchip-emmc.o
+obj-$(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
similarity index 100%
rename from drivers/phy/phy-rockchip-dp.c
rename to drivers/phy/rockchip/phy-rockchip-dp.c
diff --git a/drivers/phy/phy-rockchip-emmc.c b/drivers/phy/rockchip/phy-rockchip-emmc.c
similarity index 100%
rename from drivers/phy/phy-rockchip-emmc.c
rename to drivers/phy/rockchip/phy-rockchip-emmc.c
diff --git a/drivers/phy/phy-rockchip-usb.c b/drivers/phy/rockchip/phy-rockchip-usb.c
similarity index 100%
rename from drivers/phy/phy-rockchip-usb.c
rename to drivers/phy/rockchip/phy-rockchip-usb.c
diff --git a/drivers/phy/samsung/Kconfig b/drivers/phy/samsung/Kconfig
new file mode 100644
index 0000000..80bdea7
--- /dev/null
+++ b/drivers/phy/samsung/Kconfig
@@ -0,0 +1,87 @@
+#
+# PHY drivers for Samsung platforms
+#
+config PHY_SAMSUNG_USB2
+ tristate "Samsung USB 2.0 PHY driver"
+ depends on HAS_IOMEM
+ depends on USB_EHCI_EXYNOS || USB_OHCI_EXYNOS || USB_DWC2
+ select GENERIC_PHY
+ select MFD_SYSCON
+ default ARCH_EXYNOS
+ help
+ Enable this to support the Samsung USB 2.0 PHY driver for Samsung
+ SoCs. This driver provides the interface for USB 2.0 PHY. Support
+ for particular PHYs will be enabled based on the SoC type in addition
+ to this driver.
+
+config PHY_S5PV210_USB2
+ bool "Support for S5PV210"
+ depends on PHY_SAMSUNG_USB2
+ depends on ARCH_S5PV210
+ help
+ Enable USB PHY support for S5PV210. This option requires that Samsung
+ USB 2.0 PHY driver is enabled and means that support for this
+ particular SoC is compiled in the driver. In case of S5PV210 two phys
+ are available - device and host.
+
+config PHY_EXYNOS4210_USB2
+ bool
+ depends on PHY_SAMSUNG_USB2
+ default CPU_EXYNOS4210
+
+config PHY_EXYNOS4X12_USB2
+ bool
+ depends on PHY_SAMSUNG_USB2
+ default SOC_EXYNOS3250 || SOC_EXYNOS4212 || SOC_EXYNOS4412
+
+config PHY_EXYNOS5250_USB2
+ bool
+ depends on PHY_SAMSUNG_USB2
+ default SOC_EXYNOS5250 || SOC_EXYNOS5420
+
+config PHY_EXYNOS5_USBDRD
+ tristate "Exynos5 SoC series USB DRD PHY driver"
+ depends on ARCH_EXYNOS && OF
+ depends on HAS_IOMEM
+ depends on USB_DWC3_EXYNOS
+ select GENERIC_PHY
+ select MFD_SYSCON
+ default y
+ help
+ Enable USB DRD PHY support for Exynos 5 SoC series.
+ This driver provides PHY interface for USB 3.0 DRD controller
+ present on Exynos5 SoC series.
+
+config PHY_EXYNOS_DP_VIDEO
+ tristate "EXYNOS SoC series Display Port PHY driver"
+ depends on OF
+ depends on ARCH_EXYNOS || COMPILE_TEST
+ default ARCH_EXYNOS
+ select GENERIC_PHY
+ help
+ Support for Display Port PHY found on Samsung EXYNOS SoCs.
+
+config PHY_EXYNOS_MIPI_VIDEO
+ tristate "S5P/EXYNOS SoC series MIPI CSI-2/DSI PHY driver"
+ depends on HAS_IOMEM
+ depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
+ select GENERIC_PHY
+ default y if ARCH_S5PV210 || ARCH_EXYNOS
+ help
+ Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P
+ and EXYNOS SoCs.
+
+config PHY_EXYNOS5250_SATA
+ tristate "Exynos5250 Sata SerDes/PHY driver"
+ depends on SOC_EXYNOS5250
+ depends on HAS_IOMEM
+ depends on OF
+ select GENERIC_PHY
+ select I2C
+ select I2C_S3C2410
+ select MFD_SYSCON
+ help
+ Enable this to support SATA SerDes/Phy found on Samsung's
+ Exynos5250 based SoCs.This SerDes/Phy supports SATA 1.5 Gb/s,
+ SATA 3.0 Gb/s, SATA 6.0 Gb/s speeds. It supports one SATA host
+ port to accept one SATA device.
diff --git a/drivers/phy/samsung/Makefile b/drivers/phy/samsung/Makefile
new file mode 100644
index 0000000..585dbd7
--- /dev/null
+++ b/drivers/phy/samsung/Makefile
@@ -0,0 +1,10 @@
+obj-$(CONFIG_PHY_SAMSUNG_USB2) += phy-exynos-usb2.o
+phy-exynos-usb2-y += phy-samsung-usb2.o
+phy-exynos-usb2-$(CONFIG_PHY_S5PV210_USB2) += phy-s5pv210-usb2.o
+phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4210_USB2) += phy-exynos4210-usb2.o
+phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4X12_USB2) += phy-exynos4x12-usb2.o
+phy-exynos-usb2-$(CONFIG_PHY_EXYNOS5250_USB2) += phy-exynos5250-usb2.o
+obj-$(CONFIG_PHY_EXYNOS5_USBDRD) += phy-exynos5-usbdrd.o
+obj-$(CONFIG_PHY_EXYNOS_DP_VIDEO) += phy-exynos-dp-video.o
+obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO) += phy-exynos-mipi-video.o
+obj-$(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
similarity index 100%
rename from drivers/phy/phy-exynos-dp-video.c
rename to 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
similarity index 100%
rename from drivers/phy/phy-exynos-mipi-video.c
rename to drivers/phy/samsung/phy-exynos-mipi-video.c
diff --git a/drivers/phy/phy-exynos4210-usb2.c b/drivers/phy/samsung/phy-exynos4210-usb2.c
similarity index 100%
rename from drivers/phy/phy-exynos4210-usb2.c
rename to drivers/phy/samsung/phy-exynos4210-usb2.c
diff --git a/drivers/phy/phy-exynos4x12-usb2.c b/drivers/phy/samsung/phy-exynos4x12-usb2.c
similarity index 100%
rename from drivers/phy/phy-exynos4x12-usb2.c
rename to drivers/phy/samsung/phy-exynos4x12-usb2.c
diff --git a/drivers/phy/phy-exynos5-usbdrd.c b/drivers/phy/samsung/phy-exynos5-usbdrd.c
similarity index 100%
rename from drivers/phy/phy-exynos5-usbdrd.c
rename to drivers/phy/samsung/phy-exynos5-usbdrd.c
diff --git a/drivers/phy/phy-exynos5250-sata.c b/drivers/phy/samsung/phy-exynos5250-sata.c
similarity index 100%
rename from drivers/phy/phy-exynos5250-sata.c
rename to drivers/phy/samsung/phy-exynos5250-sata.c
diff --git a/drivers/phy/phy-exynos5250-usb2.c b/drivers/phy/samsung/phy-exynos5250-usb2.c
similarity index 100%
rename from drivers/phy/phy-exynos5250-usb2.c
rename to drivers/phy/samsung/phy-exynos5250-usb2.c
diff --git a/drivers/phy/phy-s5pv210-usb2.c b/drivers/phy/samsung/phy-s5pv210-usb2.c
similarity index 100%
rename from drivers/phy/phy-s5pv210-usb2.c
rename to drivers/phy/samsung/phy-s5pv210-usb2.c
diff --git a/drivers/phy/phy-samsung-usb2.c b/drivers/phy/samsung/phy-samsung-usb2.c
similarity index 100%
rename from drivers/phy/phy-samsung-usb2.c
rename to drivers/phy/samsung/phy-samsung-usb2.c
diff --git a/drivers/phy/phy-samsung-usb2.h b/drivers/phy/samsung/phy-samsung-usb2.h
similarity index 100%
rename from drivers/phy/phy-samsung-usb2.h
rename to drivers/phy/samsung/phy-samsung-usb2.h
diff --git a/drivers/phy/st/Kconfig b/drivers/phy/st/Kconfig
new file mode 100644
index 0000000..651b2bf
--- /dev/null
+++ b/drivers/phy/st/Kconfig
@@ -0,0 +1,51 @@
+#
+# PHY drivers for ST Micro platforms
+#
+config PHY_MIPHY28LP
+ tristate "STMicroelectronics MIPHY28LP PHY driver for STiH407"
+ depends on ARCH_STI
+ select GENERIC_PHY
+ help
+ Enable this to support the miphy transceiver (for SATA/PCIE/USB3)
+ that is part of STMicroelectronics STiH407 SoC.
+
+config PHY_MIPHY365X
+ tristate "STMicroelectronics MIPHY365X PHY driver for STiH41x series"
+ depends on ARCH_STI
+ depends on HAS_IOMEM
+ depends on OF
+ select GENERIC_PHY
+ help
+ Enable this to support the miphy transceiver (for SATA/PCIE)
+ that is part of STMicroelectronics STiH41x SoC series.
+
+config PHY_ST_SPEAR1310_MIPHY
+ tristate "ST SPEAR1310-MIPHY driver"
+ select GENERIC_PHY
+ depends on MACH_SPEAR1310 || COMPILE_TEST
+ help
+ Support for ST SPEAr1310 MIPHY which can be used for PCIe and SATA.
+
+config PHY_ST_SPEAR1340_MIPHY
+ tristate "ST SPEAR1340-MIPHY driver"
+ select GENERIC_PHY
+ depends on MACH_SPEAR1340 || COMPILE_TEST
+ help
+ Support for ST SPEAr1340 MIPHY which can be used for PCIe and SATA.
+
+config PHY_STIH407_USB
+ tristate "STMicroelectronics USB2 picoPHY driver for STiH407 family"
+ depends on RESET_CONTROLLER
+ depends on ARCH_STI || COMPILE_TEST
+ select GENERIC_PHY
+ help
+ Enable this support to enable the picoPHY device used by USB2
+ and USB3 controllers on STMicroelectronics STiH407 SoC families.
+
+config PHY_STIH41X_USB
+ tristate "STMicroelectronics USB2 PHY driver for STiH41x series"
+ depends on ARCH_STI
+ select GENERIC_PHY
+ help
+ Enable this to support the USB transceiver that is part of
+ STMicroelectronics STiH41x SoC series.
diff --git a/drivers/phy/st/Makefile b/drivers/phy/st/Makefile
new file mode 100644
index 0000000..907561b
--- /dev/null
+++ b/drivers/phy/st/Makefile
@@ -0,0 +1,6 @@
+obj-$(CONFIG_PHY_MIPHY28LP) += phy-miphy28lp.o
+obj-$(CONFIG_PHY_MIPHY365X) += phy-miphy365x.o
+obj-$(CONFIG_PHY_ST_SPEAR1310_MIPHY) += phy-spear1310-miphy.o
+obj-$(CONFIG_PHY_ST_SPEAR1340_MIPHY) += phy-spear1340-miphy.o
+obj-$(CONFIG_PHY_STIH407_USB) += phy-stih407-usb.o
+obj-$(CONFIG_PHY_STIH41X_USB) += phy-stih41x-usb.o
diff --git a/drivers/phy/phy-miphy28lp.c b/drivers/phy/st/phy-miphy28lp.c
similarity index 100%
rename from drivers/phy/phy-miphy28lp.c
rename to drivers/phy/st/phy-miphy28lp.c
diff --git a/drivers/phy/phy-miphy365x.c b/drivers/phy/st/phy-miphy365x.c
similarity index 100%
rename from drivers/phy/phy-miphy365x.c
rename to drivers/phy/st/phy-miphy365x.c
diff --git a/drivers/phy/phy-spear1310-miphy.c b/drivers/phy/st/phy-spear1310-miphy.c
similarity index 100%
rename from drivers/phy/phy-spear1310-miphy.c
rename to drivers/phy/st/phy-spear1310-miphy.c
diff --git a/drivers/phy/phy-spear1340-miphy.c b/drivers/phy/st/phy-spear1340-miphy.c
similarity index 100%
rename from drivers/phy/phy-spear1340-miphy.c
rename to drivers/phy/st/phy-spear1340-miphy.c
diff --git a/drivers/phy/phy-stih407-usb.c b/drivers/phy/st/phy-stih407-usb.c
similarity index 100%
rename from drivers/phy/phy-stih407-usb.c
rename to drivers/phy/st/phy-stih407-usb.c
diff --git a/drivers/phy/phy-stih41x-usb.c b/drivers/phy/st/phy-stih41x-usb.c
similarity index 100%
rename from drivers/phy/phy-stih41x-usb.c
rename to drivers/phy/st/phy-stih41x-usb.c
diff --git a/drivers/phy/sunxi/Kconfig b/drivers/phy/sunxi/Kconfig
new file mode 100644
index 0000000..eb06427
--- /dev/null
+++ b/drivers/phy/sunxi/Kconfig
@@ -0,0 +1,28 @@
+#
+# PHY drivers for Allwinner's sunxi platforms
+#
+config PHY_SUN4I_USB
+ tristate "Allwinner sunxi SoC USB PHY driver"
+ depends on ARCH_SUNXI && HAS_IOMEM && OF
+ depends on RESET_CONTROLLER
+ depends on EXTCON
+ depends on POWER_SUPPLY
+ select GENERIC_PHY
+ help
+ Enable this to support the transceiver that is part of Allwinner
+ sunxi SoCs.
+
+ This driver controls the entire USB PHY block, both the USB OTG
+ parts, as well as the 2 regular USB 2 host PHYs.
+
+config PHY_SUN9I_USB
+ tristate "Allwinner sun9i SoC USB PHY driver"
+ depends on ARCH_SUNXI && HAS_IOMEM && OF
+ depends on RESET_CONTROLLER
+ depends on USB_COMMON
+ select GENERIC_PHY
+ help
+ Enable this to support the transceiver that is part of Allwinner
+ sun9i SoCs.
+
+ This driver controls each individual USB 2 host PHY.
diff --git a/drivers/phy/sunxi/Makefile b/drivers/phy/sunxi/Makefile
new file mode 100644
index 0000000..8605529c
--- /dev/null
+++ b/drivers/phy/sunxi/Makefile
@@ -0,0 +1,2 @@
+obj-$(CONFIG_PHY_SUN4I_USB) += phy-sun4i-usb.o
+obj-$(CONFIG_PHY_SUN9I_USB) += phy-sun9i-usb.o
diff --git a/drivers/phy/phy-sun4i-usb.c b/drivers/phy/sunxi/phy-sun4i-usb.c
similarity index 100%
rename from drivers/phy/phy-sun4i-usb.c
rename to drivers/phy/sunxi/phy-sun4i-usb.c
diff --git a/drivers/phy/phy-sun9i-usb.c b/drivers/phy/sunxi/phy-sun9i-usb.c
similarity index 100%
rename from drivers/phy/phy-sun9i-usb.c
rename to drivers/phy/sunxi/phy-sun9i-usb.c
diff --git a/drivers/phy/ti/Kconfig b/drivers/phy/ti/Kconfig
new file mode 100644
index 0000000..1e3e307
--- /dev/null
+++ b/drivers/phy/ti/Kconfig
@@ -0,0 +1,67 @@
+#
+# PHY drivers for TI platforms
+#
+config PHY_DM816X_USB
+ tristate "TI dm816x USB PHY driver"
+ depends on ARCH_OMAP2PLUS
+ depends on USB_SUPPORT
+ select GENERIC_PHY
+ select USB_PHY
+ help
+ Enable this for dm816x USB to work.
+
+config OMAP_CONTROL_PHY
+ tristate "OMAP CONTROL PHY Driver"
+ depends on ARCH_OMAP2PLUS || COMPILE_TEST
+ help
+ Enable this to add support for the PHY part present in the control
+ module. This driver has API to power on the USB2 PHY and to write to
+ the mailbox. The mailbox is present only in omap4 and the register to
+ power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an
+ additional register to power on USB3 PHY/SATA PHY/PCIE PHY
+ (PIPE3 PHY).
+
+config OMAP_USB2
+ tristate "OMAP USB2 PHY Driver"
+ depends on ARCH_OMAP2PLUS
+ depends on USB_SUPPORT
+ select GENERIC_PHY
+ select USB_PHY
+ select OMAP_CONTROL_PHY
+ depends on OMAP_OCP2SCP
+ help
+ Enable this to support the transceiver that is part of SOC. This
+ driver takes care of all the PHY functionality apart from comparator.
+ The USB OTG controller communicates with the comparator using this
+ driver.
+
+config TI_PIPE3
+ tristate "TI PIPE3 PHY Driver"
+ depends on ARCH_OMAP2PLUS || COMPILE_TEST
+ select GENERIC_PHY
+ select OMAP_CONTROL_PHY
+ depends on OMAP_OCP2SCP
+ help
+ Enable this to support the PIPE3 PHY that is part of TI SOCs. This
+ driver takes care of all the PHY functionality apart from comparator.
+ This driver interacts with the "OMAP Control PHY Driver" to power
+ on/off the PHY.
+
+config PHY_TUSB1210
+ tristate "TI TUSB1210 ULPI PHY module"
+ depends on USB_ULPI_BUS
+ select GENERIC_PHY
+ help
+ Support for TI TUSB1210 USB ULPI PHY.
+
+config TWL4030_USB
+ tristate "TWL4030 USB Transceiver Driver"
+ depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
+ depends on USB_SUPPORT
+ select GENERIC_PHY
+ select USB_PHY
+ help
+ Enable this to support the USB OTG transceiver on TWL4030
+ family chips (including the TWL5030 and TPS659x0 devices).
+ This transceiver supports high and full speed devices plus,
+ in host mode, low speed.
diff --git a/drivers/phy/ti/Makefile b/drivers/phy/ti/Makefile
new file mode 100644
index 0000000..2d16f77
--- /dev/null
+++ b/drivers/phy/ti/Makefile
@@ -0,0 +1,6 @@
+obj-$(CONFIG_PHY_DM816X_USB) += phy-dm816x-usb.o
+obj-$(CONFIG_OMAP_CONTROL_PHY) += phy-omap-control.o
+obj-$(CONFIG_OMAP_USB2) += phy-omap-usb2.o
+obj-$(CONFIG_TI_PIPE3) += phy-ti-pipe3.o
+obj-$(CONFIG_PHY_TUSB1210) += phy-tusb1210.o
+obj-$(CONFIG_TWL4030_USB) += phy-twl4030-usb.o
diff --git a/drivers/phy/phy-dm816x-usb.c b/drivers/phy/ti/phy-dm816x-usb.c
similarity index 100%
rename from drivers/phy/phy-dm816x-usb.c
rename to drivers/phy/ti/phy-dm816x-usb.c
diff --git a/drivers/phy/phy-omap-control.c b/drivers/phy/ti/phy-omap-control.c
similarity index 100%
rename from drivers/phy/phy-omap-control.c
rename to drivers/phy/ti/phy-omap-control.c
diff --git a/drivers/phy/phy-omap-usb2.c b/drivers/phy/ti/phy-omap-usb2.c
similarity index 100%
rename from drivers/phy/phy-omap-usb2.c
rename to drivers/phy/ti/phy-omap-usb2.c
diff --git a/drivers/phy/phy-ti-pipe3.c b/drivers/phy/ti/phy-ti-pipe3.c
similarity index 100%
rename from drivers/phy/phy-ti-pipe3.c
rename to drivers/phy/ti/phy-ti-pipe3.c
diff --git a/drivers/phy/phy-tusb1210.c b/drivers/phy/ti/phy-tusb1210.c
similarity index 100%
rename from drivers/phy/phy-tusb1210.c
rename to drivers/phy/ti/phy-tusb1210.c
diff --git a/drivers/phy/phy-twl4030-usb.c b/drivers/phy/ti/phy-twl4030-usb.c
similarity index 100%
rename from drivers/phy/phy-twl4030-usb.c
rename to drivers/phy/ti/phy-twl4030-usb.c
diff --git a/drivers/phy/ulpi_phy.h b/drivers/phy/ti/ulpi_phy.h
similarity index 100%
rename from drivers/phy/ulpi_phy.h
rename to drivers/phy/ti/ulpi_phy.h
--
1.9.1
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH 2/2] arm: mach-spear: Enable PHY_PLAT to meet dependency
@ 2016-04-01 11:29 ` Vivek Gautam
0 siblings, 0 replies; 40+ messages in thread
From: Vivek Gautam @ 2016-04-01 11:29 UTC (permalink / raw)
To: vireshk, shiraz.linux.kernel, kishon, heiko, maxime.ripard, wens
Cc: linux, gautam.vivek, linux-arm-kernel, spear-devel, linux-kernel,
linux-rockchip, linux-usb, linux-samsung-soc, linux-omap, cpgs
mach-spear enables PHY_ST_SPEAR1310_MIPHY and
PHY_ST_SPEAR1340_MIPHY, which now fall under PHY_PLAT
config. So select CONFIG_PHY_PLAT as well to resolve
dependencies.
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Cc: Shiraz Hashim <shiraz.linux.kernel@gmail.com>
---
arch/arm/mach-spear/Kconfig | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/mach-spear/Kconfig b/arch/arm/mach-spear/Kconfig
index ea9ea95..c0a62fd 100644
--- a/arch/arm/mach-spear/Kconfig
+++ b/arch/arm/mach-spear/Kconfig
@@ -29,6 +29,7 @@ if ARCH_SPEAR13XX
config MACH_SPEAR1310
bool "SPEAr1310 Machine support with Device Tree"
select PINCTRL_SPEAR1310
+ select PHY_PLAT
select PHY_ST_SPEAR1310_MIPHY
help
Supports ST SPEAr1310 machine configured via the device-tree
@@ -36,6 +37,7 @@ config MACH_SPEAR1310
config MACH_SPEAR1340
bool "SPEAr1340 Machine support with Device Tree"
select PINCTRL_SPEAR1340
+ select PHY_PLAT
select PHY_ST_SPEAR1340_MIPHY
help
Supports ST SPEAr1340 machine configured via the device-tree
--
1.9.1
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH 2/2] arm: mach-spear: Enable PHY_PLAT to meet dependency
@ 2016-04-01 11:29 ` Vivek Gautam
0 siblings, 0 replies; 40+ messages in thread
From: Vivek Gautam @ 2016-04-01 11:29 UTC (permalink / raw)
To: vireshk-DgEjT+Ai2ygdnm+yROfE0A,
shiraz.linux.kernel-Re5JQEeQqe8AvxtiuMwx3w, kishon-l0cyMroinI0,
heiko-4mtYJXux2i+zQB+pC5nmwQ,
maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8, wens-jdAy2FN1RRM
Cc: linux-lFZ/pmaqli7XmaaqVzeoHQ,
gautam.vivek-Sze3O3UU22JBDgjK7y7TUQ,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
spear-devel-nkJGhpqTU55BDgjK7y7TUQ,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-usb-u79uwXL29TY76Z2rM5mHXA,
linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA,
linux-omap-u79uwXL29TY76Z2rM5mHXA, cpgs-Sze3O3UU22JBDgjK7y7TUQ
mach-spear enables PHY_ST_SPEAR1310_MIPHY and
PHY_ST_SPEAR1340_MIPHY, which now fall under PHY_PLAT
config. So select CONFIG_PHY_PLAT as well to resolve
dependencies.
Signed-off-by: Vivek Gautam <gautam.vivek-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
Cc: Shiraz Hashim <shiraz.linux.kernel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
arch/arm/mach-spear/Kconfig | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/mach-spear/Kconfig b/arch/arm/mach-spear/Kconfig
index ea9ea95..c0a62fd 100644
--- a/arch/arm/mach-spear/Kconfig
+++ b/arch/arm/mach-spear/Kconfig
@@ -29,6 +29,7 @@ if ARCH_SPEAR13XX
config MACH_SPEAR1310
bool "SPEAr1310 Machine support with Device Tree"
select PINCTRL_SPEAR1310
+ select PHY_PLAT
select PHY_ST_SPEAR1310_MIPHY
help
Supports ST SPEAr1310 machine configured via the device-tree
@@ -36,6 +37,7 @@ config MACH_SPEAR1310
config MACH_SPEAR1340
bool "SPEAr1340 Machine support with Device Tree"
select PINCTRL_SPEAR1340
+ select PHY_PLAT
select PHY_ST_SPEAR1340_MIPHY
help
Supports ST SPEAr1340 machine configured via the device-tree
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH 2/2] arm: mach-spear: Enable PHY_PLAT to meet dependency
@ 2016-04-01 11:29 ` Vivek Gautam
0 siblings, 0 replies; 40+ messages in thread
From: Vivek Gautam @ 2016-04-01 11:29 UTC (permalink / raw)
To: linux-arm-kernel
mach-spear enables PHY_ST_SPEAR1310_MIPHY and
PHY_ST_SPEAR1340_MIPHY, which now fall under PHY_PLAT
config. So select CONFIG_PHY_PLAT as well to resolve
dependencies.
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Cc: Shiraz Hashim <shiraz.linux.kernel@gmail.com>
---
arch/arm/mach-spear/Kconfig | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/mach-spear/Kconfig b/arch/arm/mach-spear/Kconfig
index ea9ea95..c0a62fd 100644
--- a/arch/arm/mach-spear/Kconfig
+++ b/arch/arm/mach-spear/Kconfig
@@ -29,6 +29,7 @@ if ARCH_SPEAR13XX
config MACH_SPEAR1310
bool "SPEAr1310 Machine support with Device Tree"
select PINCTRL_SPEAR1310
+ select PHY_PLAT
select PHY_ST_SPEAR1310_MIPHY
help
Supports ST SPEAr1310 machine configured via the device-tree
@@ -36,6 +37,7 @@ config MACH_SPEAR1310
config MACH_SPEAR1340
bool "SPEAr1340 Machine support with Device Tree"
select PINCTRL_SPEAR1340
+ select PHY_PLAT
select PHY_ST_SPEAR1340_MIPHY
help
Supports ST SPEAr1340 machine configured via the device-tree
--
1.9.1
^ permalink raw reply related [flat|nested] 40+ messages in thread
* Re: [PATCH 1/2] phy: Group vendor specific phy drivers
2016-04-01 11:29 ` Vivek Gautam
@ 2016-04-01 11:39 ` Viresh Kumar
-1 siblings, 0 replies; 40+ messages in thread
From: Viresh Kumar @ 2016-04-01 11:39 UTC (permalink / raw)
To: Vivek Gautam
Cc: vireshk, shiraz.linux.kernel, kishon, heiko, maxime.ripard, wens,
linux, linux-arm-kernel, spear-devel, linux-kernel,
linux-rockchip, linux-usb, linux-samsung-soc, linux-omap, cpgs
On 01-04-16, 16:59, Vivek Gautam wrote:
> Adding vendor specific directories in phy to group
> phy drivers under their respective vendor umbrella.
>
> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
> ---
> drivers/phy/{ => st}/phy-spear1310-miphy.c | 0
> drivers/phy/{ => st}/phy-spear1340-miphy.c | 0
> rename drivers/phy/{ => st}/phy-spear1310-miphy.c (100%)
> rename drivers/phy/{ => st}/phy-spear1340-miphy.c (100%)
>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
--
viresh
^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-01 11:39 ` Viresh Kumar
0 siblings, 0 replies; 40+ messages in thread
From: Viresh Kumar @ 2016-04-01 11:39 UTC (permalink / raw)
To: linux-arm-kernel
On 01-04-16, 16:59, Vivek Gautam wrote:
> Adding vendor specific directories in phy to group
> phy drivers under their respective vendor umbrella.
>
> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
> ---
> drivers/phy/{ => st}/phy-spear1310-miphy.c | 0
> drivers/phy/{ => st}/phy-spear1340-miphy.c | 0
> rename drivers/phy/{ => st}/phy-spear1310-miphy.c (100%)
> rename drivers/phy/{ => st}/phy-spear1340-miphy.c (100%)
>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
--
viresh
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH 1/2] phy: Group vendor specific phy drivers
2016-04-01 11:29 ` Vivek Gautam
@ 2016-04-01 11:42 ` Maxime Ripard
-1 siblings, 0 replies; 40+ messages in thread
From: Maxime Ripard @ 2016-04-01 11:42 UTC (permalink / raw)
To: Vivek Gautam
Cc: vireshk, shiraz.linux.kernel, kishon, heiko, wens, linux,
linux-arm-kernel, spear-devel, linux-kernel, linux-rockchip,
linux-usb, linux-samsung-soc, linux-omap, cpgs
[-- Attachment #1: Type: text/plain, Size: 494 bytes --]
Hi,
On Fri, Apr 01, 2016 at 04:59:15PM +0530, Vivek Gautam wrote:
> create mode 100644 drivers/phy/sunxi/Kconfig
> create mode 100644 drivers/phy/sunxi/Makefile
> rename drivers/phy/{ => sunxi}/phy-sun4i-usb.c (100%)
> rename drivers/phy/{ => sunxi}/phy-sun9i-usb.c (100%)
That would be allwinner in this case, sunxi is the SoC family
Allwinner produces.
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-01 11:42 ` Maxime Ripard
0 siblings, 0 replies; 40+ messages in thread
From: Maxime Ripard @ 2016-04-01 11:42 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
On Fri, Apr 01, 2016 at 04:59:15PM +0530, Vivek Gautam wrote:
> create mode 100644 drivers/phy/sunxi/Kconfig
> create mode 100644 drivers/phy/sunxi/Makefile
> rename drivers/phy/{ => sunxi}/phy-sun4i-usb.c (100%)
> rename drivers/phy/{ => sunxi}/phy-sun9i-usb.c (100%)
That would be allwinner in this case, sunxi is the SoC family
Allwinner produces.
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160401/066e380c/attachment.sig>
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH 2/2] arm: mach-spear: Enable PHY_PLAT to meet dependency
2016-04-01 11:29 ` Vivek Gautam
@ 2016-04-01 11:42 ` Viresh Kumar
-1 siblings, 0 replies; 40+ messages in thread
From: Viresh Kumar @ 2016-04-01 11:42 UTC (permalink / raw)
To: Vivek Gautam
Cc: vireshk, shiraz.linux.kernel, kishon, heiko, maxime.ripard, wens,
linux, linux-arm-kernel, spear-devel, linux-kernel,
linux-rockchip, linux-usb, linux-samsung-soc, linux-omap, cpgs
On 01-04-16, 16:59, Vivek Gautam wrote:
> mach-spear enables PHY_ST_SPEAR1310_MIPHY and
> PHY_ST_SPEAR1340_MIPHY, which now fall under PHY_PLAT
> config. So select CONFIG_PHY_PLAT as well to resolve
> dependencies.
>
> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
> Cc: Shiraz Hashim <shiraz.linux.kernel@gmail.com>
> ---
> arch/arm/mach-spear/Kconfig | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm/mach-spear/Kconfig b/arch/arm/mach-spear/Kconfig
> index ea9ea95..c0a62fd 100644
> --- a/arch/arm/mach-spear/Kconfig
> +++ b/arch/arm/mach-spear/Kconfig
> @@ -29,6 +29,7 @@ if ARCH_SPEAR13XX
> config MACH_SPEAR1310
> bool "SPEAr1310 Machine support with Device Tree"
> select PINCTRL_SPEAR1310
> + select PHY_PLAT
> select PHY_ST_SPEAR1310_MIPHY
> help
> Supports ST SPEAr1310 machine configured via the device-tree
> @@ -36,6 +37,7 @@ config MACH_SPEAR1310
> config MACH_SPEAR1340
> bool "SPEAr1340 Machine support with Device Tree"
> select PINCTRL_SPEAR1340
> + select PHY_PLAT
> select PHY_ST_SPEAR1340_MIPHY
> help
> Supports ST SPEAr1340 machine configured via the device-tree
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
--
viresh
^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH 2/2] arm: mach-spear: Enable PHY_PLAT to meet dependency
@ 2016-04-01 11:42 ` Viresh Kumar
0 siblings, 0 replies; 40+ messages in thread
From: Viresh Kumar @ 2016-04-01 11:42 UTC (permalink / raw)
To: linux-arm-kernel
On 01-04-16, 16:59, Vivek Gautam wrote:
> mach-spear enables PHY_ST_SPEAR1310_MIPHY and
> PHY_ST_SPEAR1340_MIPHY, which now fall under PHY_PLAT
> config. So select CONFIG_PHY_PLAT as well to resolve
> dependencies.
>
> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
> Cc: Shiraz Hashim <shiraz.linux.kernel@gmail.com>
> ---
> arch/arm/mach-spear/Kconfig | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm/mach-spear/Kconfig b/arch/arm/mach-spear/Kconfig
> index ea9ea95..c0a62fd 100644
> --- a/arch/arm/mach-spear/Kconfig
> +++ b/arch/arm/mach-spear/Kconfig
> @@ -29,6 +29,7 @@ if ARCH_SPEAR13XX
> config MACH_SPEAR1310
> bool "SPEAr1310 Machine support with Device Tree"
> select PINCTRL_SPEAR1310
> + select PHY_PLAT
> select PHY_ST_SPEAR1310_MIPHY
> help
> Supports ST SPEAr1310 machine configured via the device-tree
> @@ -36,6 +37,7 @@ config MACH_SPEAR1310
> config MACH_SPEAR1340
> bool "SPEAr1340 Machine support with Device Tree"
> select PINCTRL_SPEAR1340
> + select PHY_PLAT
> select PHY_ST_SPEAR1340_MIPHY
> help
> Supports ST SPEAr1340 machine configured via the device-tree
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
--
viresh
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH 1/2] phy: Group vendor specific phy drivers
2016-04-01 11:42 ` Maxime Ripard
@ 2016-04-01 12:51 ` Vivek Gautam
-1 siblings, 0 replies; 40+ messages in thread
From: Vivek Gautam @ 2016-04-01 12:51 UTC (permalink / raw)
To: Maxime Ripard
Cc: Vivek Gautam, vireshk, shiraz.linux.kernel, kishon,
Heiko Stübner, wens, Russell King - ARM Linux,
linux-arm-kernel, spear-devel, linux-kernel, linux-rockchip,
Linux USB Mailing List, linux-samsung-soc, linux-omap, CPGS
Hi,
On Fri, Apr 1, 2016 at 4:42 AM, Maxime Ripard
<maxime.ripard@free-electrons.com> wrote:
> Hi,
>
> On Fri, Apr 01, 2016 at 04:59:15PM +0530, Vivek Gautam wrote:
>> create mode 100644 drivers/phy/sunxi/Kconfig
>> create mode 100644 drivers/phy/sunxi/Makefile
>> rename drivers/phy/{ => sunxi}/phy-sun4i-usb.c (100%)
>> rename drivers/phy/{ => sunxi}/phy-sun9i-usb.c (100%)
>
> That would be allwinner in this case, sunxi is the SoC family
> Allwinner produces.
Sure, will change this.
I will change rcar --> renesas too. That should make the directory
names homogeneous (vendor-name).
Thanks for reviewing.
>
> Maxime
>
> --
> Maxime Ripard, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
--
Best Regards
Vivek Gautam
Samsung R&D Institute, Bangalore
India
^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-01 12:51 ` Vivek Gautam
0 siblings, 0 replies; 40+ messages in thread
From: Vivek Gautam @ 2016-04-01 12:51 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
On Fri, Apr 1, 2016 at 4:42 AM, Maxime Ripard
<maxime.ripard@free-electrons.com> wrote:
> Hi,
>
> On Fri, Apr 01, 2016 at 04:59:15PM +0530, Vivek Gautam wrote:
>> create mode 100644 drivers/phy/sunxi/Kconfig
>> create mode 100644 drivers/phy/sunxi/Makefile
>> rename drivers/phy/{ => sunxi}/phy-sun4i-usb.c (100%)
>> rename drivers/phy/{ => sunxi}/phy-sun9i-usb.c (100%)
>
> That would be allwinner in this case, sunxi is the SoC family
> Allwinner produces.
Sure, will change this.
I will change rcar --> renesas too. That should make the directory
names homogeneous (vendor-name).
Thanks for reviewing.
>
> Maxime
>
> --
> Maxime Ripard, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
--
Best Regards
Vivek Gautam
Samsung R&D Institute, Bangalore
India
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH 1/2] phy: Group vendor specific phy drivers
2016-04-01 11:39 ` Viresh Kumar
@ 2016-04-01 12:52 ` Vivek Gautam
-1 siblings, 0 replies; 40+ messages in thread
From: Vivek Gautam @ 2016-04-01 12:52 UTC (permalink / raw)
To: Viresh Kumar
Cc: Vivek Gautam, vireshk, shiraz.linux.kernel, kishon,
Heiko Stübner, Maxime Ripard, wens,
Russell King - ARM Linux, linux-arm-kernel, spear-devel,
linux-kernel, linux-rockchip, Linux USB Mailing List,
linux-samsung-soc, linux-omap, CPGS
On Fri, Apr 1, 2016 at 4:39 AM, Viresh Kumar <viresh.kumar@linaro.org> wrote:
> On 01-04-16, 16:59, Vivek Gautam wrote:
>> Adding vendor specific directories in phy to group
>> phy drivers under their respective vendor umbrella.
>>
>> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
>> ---
>> drivers/phy/{ => st}/phy-spear1310-miphy.c | 0
>> drivers/phy/{ => st}/phy-spear1340-miphy.c | 0
>> rename drivers/phy/{ => st}/phy-spear1310-miphy.c (100%)
>> rename drivers/phy/{ => st}/phy-spear1340-miphy.c (100%)
>>
>
> Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Thanks Viresh.
>
> --
> viresh
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Best Regards
Vivek Gautam
Samsung R&D Institute, Bangalore
India
^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-01 12:52 ` Vivek Gautam
0 siblings, 0 replies; 40+ messages in thread
From: Vivek Gautam @ 2016-04-01 12:52 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Apr 1, 2016 at 4:39 AM, Viresh Kumar <viresh.kumar@linaro.org> wrote:
> On 01-04-16, 16:59, Vivek Gautam wrote:
>> Adding vendor specific directories in phy to group
>> phy drivers under their respective vendor umbrella.
>>
>> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
>> ---
>> drivers/phy/{ => st}/phy-spear1310-miphy.c | 0
>> drivers/phy/{ => st}/phy-spear1340-miphy.c | 0
>> rename drivers/phy/{ => st}/phy-spear1310-miphy.c (100%)
>> rename drivers/phy/{ => st}/phy-spear1340-miphy.c (100%)
>>
>
> Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Thanks Viresh.
>
> --
> viresh
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Best Regards
Vivek Gautam
Samsung R&D Institute, Bangalore
India
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-01 13:05 ` Kishon Vijay Abraham I
0 siblings, 0 replies; 40+ messages in thread
From: Kishon Vijay Abraham I @ 2016-04-01 13:05 UTC (permalink / raw)
To: Vivek Gautam, vireshk, shiraz.linux.kernel, heiko, maxime.ripard, wens
Cc: linux, linux-arm-kernel, spear-devel, linux-kernel,
linux-rockchip, linux-usb, linux-samsung-soc, linux-omap, cpgs
Hi,
On Friday 01 April 2016 04:59 PM, Vivek Gautam wrote:
> Adding vendor specific directories in phy to group
> phy drivers under their respective vendor umbrella.
>
> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
> ---
>
> With growing number of phy drivers, it makes sense to
> group these drivers under their respective vendor/platform
> umbrella directory.
>
> Build-tested 'multi_v7_defconfig'.
>
> drivers/phy/Kconfig | 386 +---------------------
> drivers/phy/Makefile | 57 +---
> drivers/phy/bcom/Kconfig | 27 ++
> drivers/phy/bcom/Makefile | 3 +
> drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c | 0
> drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c | 0
> drivers/phy/{ => bcom}/phy-brcmstb-sata.c | 0
> drivers/phy/hisi/Kconfig | 20 ++
> drivers/phy/hisi/Makefile | 2 +
> drivers/phy/{ => hisi}/phy-hi6220-usb.c | 0
> drivers/phy/{ => hisi}/phy-hix5hd2-sata.c | 0
> drivers/phy/marvell/Kconfig | 50 +++
> drivers/phy/marvell/Makefile | 6 +
> drivers/phy/{ => marvell}/phy-armada375-usb2.c | 0
> drivers/phy/{ => marvell}/phy-berlin-sata.c | 0
> drivers/phy/{ => marvell}/phy-berlin-usb.c | 0
> drivers/phy/{ => marvell}/phy-mvebu-sata.c | 0
> drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c | 0
> drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c | 0
> drivers/phy/qcom/Kconfig | 23 ++
> drivers/phy/qcom/Makefile | 5 +
> drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-i.h | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs.c | 0
> drivers/phy/rcar/Kconfig | 16 +
> drivers/phy/rcar/Makefile | 2 +
> drivers/phy/{ => rcar}/phy-rcar-gen2.c | 0
> drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c | 0
> drivers/phy/rockchip/Kconfig | 23 ++
> drivers/phy/rockchip/Makefile | 3 +
> drivers/phy/{ => rockchip}/phy-rockchip-dp.c | 0
> drivers/phy/{ => rockchip}/phy-rockchip-emmc.c | 0
> drivers/phy/{ => rockchip}/phy-rockchip-usb.c | 0
> drivers/phy/samsung/Kconfig | 87 +++++
> drivers/phy/samsung/Makefile | 10 +
> drivers/phy/{ => samsung}/phy-exynos-dp-video.c | 0
> drivers/phy/{ => samsung}/phy-exynos-mipi-video.c | 0
> drivers/phy/{ => samsung}/phy-exynos4210-usb2.c | 0
> drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c | 0
> drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c | 0
> drivers/phy/{ => samsung}/phy-exynos5250-sata.c | 0
> drivers/phy/{ => samsung}/phy-exynos5250-usb2.c | 0
> drivers/phy/{ => samsung}/phy-s5pv210-usb2.c | 0
> drivers/phy/{ => samsung}/phy-samsung-usb2.c | 0
> drivers/phy/{ => samsung}/phy-samsung-usb2.h | 0
> drivers/phy/st/Kconfig | 51 +++
> drivers/phy/st/Makefile | 6 +
> drivers/phy/{ => st}/phy-miphy28lp.c | 0
> drivers/phy/{ => st}/phy-miphy365x.c | 0
> drivers/phy/{ => st}/phy-spear1310-miphy.c | 0
> drivers/phy/{ => st}/phy-spear1340-miphy.c | 0
> drivers/phy/{ => st}/phy-stih407-usb.c | 0
> drivers/phy/{ => st}/phy-stih41x-usb.c | 0
> drivers/phy/sunxi/Kconfig | 28 ++
> drivers/phy/sunxi/Makefile | 2 +
> drivers/phy/{ => sunxi}/phy-sun4i-usb.c | 0
> drivers/phy/{ => sunxi}/phy-sun9i-usb.c | 0
> drivers/phy/ti/Kconfig | 67 ++++
> drivers/phy/ti/Makefile | 6 +
> drivers/phy/{ => ti}/phy-dm816x-usb.c | 0
> drivers/phy/{ => ti}/phy-omap-control.c | 0
> drivers/phy/{ => ti}/phy-omap-usb2.c | 0
> drivers/phy/{ => ti}/phy-ti-pipe3.c | 0
> drivers/phy/{ => ti}/phy-tusb1210.c | 0
> drivers/phy/{ => ti}/phy-twl4030-usb.c | 0
> drivers/phy/{ => ti}/ulpi_phy.h | 0
ulpi_phy.h is not specific to TI though at this point tusb1210 is the only ULPI
driver.
> 71 files changed, 464 insertions(+), 416 deletions(-)
> create mode 100644 drivers/phy/bcom/Kconfig
> create mode 100644 drivers/phy/bcom/Makefile
> rename drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c (100%)
> rename drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c (100%)
> rename drivers/phy/{ => bcom}/phy-brcmstb-sata.c (100%)
> create mode 100644 drivers/phy/hisi/Kconfig
> create mode 100644 drivers/phy/hisi/Makefile
> rename drivers/phy/{ => hisi}/phy-hi6220-usb.c (100%)
> rename drivers/phy/{ => hisi}/phy-hix5hd2-sata.c (100%)
> create mode 100644 drivers/phy/marvell/Kconfig
> create mode 100644 drivers/phy/marvell/Makefile
> rename drivers/phy/{ => marvell}/phy-armada375-usb2.c (100%)
> rename drivers/phy/{ => marvell}/phy-berlin-sata.c (100%)
> rename drivers/phy/{ => marvell}/phy-berlin-usb.c (100%)
> rename drivers/phy/{ => marvell}/phy-mvebu-sata.c (100%)
> rename drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c (100%)
> rename drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c (100%)
> create mode 100644 drivers/phy/qcom/Kconfig
> create mode 100644 drivers/phy/qcom/Makefile
> rename drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-i.h (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs.c (100%)
> create mode 100644 drivers/phy/rcar/Kconfig
> create mode 100644 drivers/phy/rcar/Makefile
> rename drivers/phy/{ => rcar}/phy-rcar-gen2.c (100%)
> rename drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c (100%)
> create mode 100644 drivers/phy/rockchip/Kconfig
> create mode 100644 drivers/phy/rockchip/Makefile
> rename drivers/phy/{ => rockchip}/phy-rockchip-dp.c (100%)
> rename drivers/phy/{ => rockchip}/phy-rockchip-emmc.c (100%)
> rename drivers/phy/{ => rockchip}/phy-rockchip-usb.c (100%)
> create mode 100644 drivers/phy/samsung/Kconfig
> create mode 100644 drivers/phy/samsung/Makefile
> rename drivers/phy/{ => samsung}/phy-exynos-dp-video.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos-mipi-video.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos4210-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos5250-sata.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos5250-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-s5pv210-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-samsung-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-samsung-usb2.h (100%)
> create mode 100644 drivers/phy/st/Kconfig
> create mode 100644 drivers/phy/st/Makefile
> rename drivers/phy/{ => st}/phy-miphy28lp.c (100%)
> rename drivers/phy/{ => st}/phy-miphy365x.c (100%)
> rename drivers/phy/{ => st}/phy-spear1310-miphy.c (100%)
> rename drivers/phy/{ => st}/phy-spear1340-miphy.c (100%)
> rename drivers/phy/{ => st}/phy-stih407-usb.c (100%)
> rename drivers/phy/{ => st}/phy-stih41x-usb.c (100%)
> create mode 100644 drivers/phy/sunxi/Kconfig
> create mode 100644 drivers/phy/sunxi/Makefile
> rename drivers/phy/{ => sunxi}/phy-sun4i-usb.c (100%)
> rename drivers/phy/{ => sunxi}/phy-sun9i-usb.c (100%)
> create mode 100644 drivers/phy/ti/Kconfig
> create mode 100644 drivers/phy/ti/Makefile
> rename drivers/phy/{ => ti}/phy-dm816x-usb.c (100%)
> rename drivers/phy/{ => ti}/phy-omap-control.c (100%)
> rename drivers/phy/{ => ti}/phy-omap-usb2.c (100%)
> rename drivers/phy/{ => ti}/phy-ti-pipe3.c (100%)
> rename drivers/phy/{ => ti}/phy-tusb1210.c (100%)
> rename drivers/phy/{ => ti}/phy-twl4030-usb.c (100%)
> rename drivers/phy/{ => ti}/ulpi_phy.h (100%)
>
> diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
> index 26566db..80c8c68 100644
> --- a/drivers/phy/Kconfig
> +++ b/drivers/phy/Kconfig
> @@ -15,45 +15,6 @@ config GENERIC_PHY
> phy users can obtain reference to the PHY. All the users of this
> framework should select this config.
>
> +menuconfig PHY_PLAT
> + bool "Platform Phy drivers"
Not really convinced about adding a new config here. This will create new
dependencies and will also start breaking users of oldconfig.
Also not all of them are platform drivers (e.g ULPI PHY drivers).
Thanks
Kishon
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-01 13:05 ` Kishon Vijay Abraham I
0 siblings, 0 replies; 40+ messages in thread
From: Kishon Vijay Abraham I @ 2016-04-01 13:05 UTC (permalink / raw)
To: Vivek Gautam, vireshk-DgEjT+Ai2ygdnm+yROfE0A,
shiraz.linux.kernel-Re5JQEeQqe8AvxtiuMwx3w,
heiko-4mtYJXux2i+zQB+pC5nmwQ,
maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8, wens-jdAy2FN1RRM
Cc: linux-usb-u79uwXL29TY76Z2rM5mHXA, linux-lFZ/pmaqli7XmaaqVzeoHQ,
spear-devel-nkJGhpqTU55BDgjK7y7TUQ,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA,
cpgs-Sze3O3UU22JBDgjK7y7TUQ, linux-omap-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Hi,
On Friday 01 April 2016 04:59 PM, Vivek Gautam wrote:
> Adding vendor specific directories in phy to group
> phy drivers under their respective vendor umbrella.
>
> Signed-off-by: Vivek Gautam <gautam.vivek-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
> ---
>
> With growing number of phy drivers, it makes sense to
> group these drivers under their respective vendor/platform
> umbrella directory.
>
> Build-tested 'multi_v7_defconfig'.
>
> drivers/phy/Kconfig | 386 +---------------------
> drivers/phy/Makefile | 57 +---
> drivers/phy/bcom/Kconfig | 27 ++
> drivers/phy/bcom/Makefile | 3 +
> drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c | 0
> drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c | 0
> drivers/phy/{ => bcom}/phy-brcmstb-sata.c | 0
> drivers/phy/hisi/Kconfig | 20 ++
> drivers/phy/hisi/Makefile | 2 +
> drivers/phy/{ => hisi}/phy-hi6220-usb.c | 0
> drivers/phy/{ => hisi}/phy-hix5hd2-sata.c | 0
> drivers/phy/marvell/Kconfig | 50 +++
> drivers/phy/marvell/Makefile | 6 +
> drivers/phy/{ => marvell}/phy-armada375-usb2.c | 0
> drivers/phy/{ => marvell}/phy-berlin-sata.c | 0
> drivers/phy/{ => marvell}/phy-berlin-usb.c | 0
> drivers/phy/{ => marvell}/phy-mvebu-sata.c | 0
> drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c | 0
> drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c | 0
> drivers/phy/qcom/Kconfig | 23 ++
> drivers/phy/qcom/Makefile | 5 +
> drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-i.h | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs.c | 0
> drivers/phy/rcar/Kconfig | 16 +
> drivers/phy/rcar/Makefile | 2 +
> drivers/phy/{ => rcar}/phy-rcar-gen2.c | 0
> drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c | 0
> drivers/phy/rockchip/Kconfig | 23 ++
> drivers/phy/rockchip/Makefile | 3 +
> drivers/phy/{ => rockchip}/phy-rockchip-dp.c | 0
> drivers/phy/{ => rockchip}/phy-rockchip-emmc.c | 0
> drivers/phy/{ => rockchip}/phy-rockchip-usb.c | 0
> drivers/phy/samsung/Kconfig | 87 +++++
> drivers/phy/samsung/Makefile | 10 +
> drivers/phy/{ => samsung}/phy-exynos-dp-video.c | 0
> drivers/phy/{ => samsung}/phy-exynos-mipi-video.c | 0
> drivers/phy/{ => samsung}/phy-exynos4210-usb2.c | 0
> drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c | 0
> drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c | 0
> drivers/phy/{ => samsung}/phy-exynos5250-sata.c | 0
> drivers/phy/{ => samsung}/phy-exynos5250-usb2.c | 0
> drivers/phy/{ => samsung}/phy-s5pv210-usb2.c | 0
> drivers/phy/{ => samsung}/phy-samsung-usb2.c | 0
> drivers/phy/{ => samsung}/phy-samsung-usb2.h | 0
> drivers/phy/st/Kconfig | 51 +++
> drivers/phy/st/Makefile | 6 +
> drivers/phy/{ => st}/phy-miphy28lp.c | 0
> drivers/phy/{ => st}/phy-miphy365x.c | 0
> drivers/phy/{ => st}/phy-spear1310-miphy.c | 0
> drivers/phy/{ => st}/phy-spear1340-miphy.c | 0
> drivers/phy/{ => st}/phy-stih407-usb.c | 0
> drivers/phy/{ => st}/phy-stih41x-usb.c | 0
> drivers/phy/sunxi/Kconfig | 28 ++
> drivers/phy/sunxi/Makefile | 2 +
> drivers/phy/{ => sunxi}/phy-sun4i-usb.c | 0
> drivers/phy/{ => sunxi}/phy-sun9i-usb.c | 0
> drivers/phy/ti/Kconfig | 67 ++++
> drivers/phy/ti/Makefile | 6 +
> drivers/phy/{ => ti}/phy-dm816x-usb.c | 0
> drivers/phy/{ => ti}/phy-omap-control.c | 0
> drivers/phy/{ => ti}/phy-omap-usb2.c | 0
> drivers/phy/{ => ti}/phy-ti-pipe3.c | 0
> drivers/phy/{ => ti}/phy-tusb1210.c | 0
> drivers/phy/{ => ti}/phy-twl4030-usb.c | 0
> drivers/phy/{ => ti}/ulpi_phy.h | 0
ulpi_phy.h is not specific to TI though at this point tusb1210 is the only ULPI
driver.
> 71 files changed, 464 insertions(+), 416 deletions(-)
> create mode 100644 drivers/phy/bcom/Kconfig
> create mode 100644 drivers/phy/bcom/Makefile
> rename drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c (100%)
> rename drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c (100%)
> rename drivers/phy/{ => bcom}/phy-brcmstb-sata.c (100%)
> create mode 100644 drivers/phy/hisi/Kconfig
> create mode 100644 drivers/phy/hisi/Makefile
> rename drivers/phy/{ => hisi}/phy-hi6220-usb.c (100%)
> rename drivers/phy/{ => hisi}/phy-hix5hd2-sata.c (100%)
> create mode 100644 drivers/phy/marvell/Kconfig
> create mode 100644 drivers/phy/marvell/Makefile
> rename drivers/phy/{ => marvell}/phy-armada375-usb2.c (100%)
> rename drivers/phy/{ => marvell}/phy-berlin-sata.c (100%)
> rename drivers/phy/{ => marvell}/phy-berlin-usb.c (100%)
> rename drivers/phy/{ => marvell}/phy-mvebu-sata.c (100%)
> rename drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c (100%)
> rename drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c (100%)
> create mode 100644 drivers/phy/qcom/Kconfig
> create mode 100644 drivers/phy/qcom/Makefile
> rename drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-i.h (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs.c (100%)
> create mode 100644 drivers/phy/rcar/Kconfig
> create mode 100644 drivers/phy/rcar/Makefile
> rename drivers/phy/{ => rcar}/phy-rcar-gen2.c (100%)
> rename drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c (100%)
> create mode 100644 drivers/phy/rockchip/Kconfig
> create mode 100644 drivers/phy/rockchip/Makefile
> rename drivers/phy/{ => rockchip}/phy-rockchip-dp.c (100%)
> rename drivers/phy/{ => rockchip}/phy-rockchip-emmc.c (100%)
> rename drivers/phy/{ => rockchip}/phy-rockchip-usb.c (100%)
> create mode 100644 drivers/phy/samsung/Kconfig
> create mode 100644 drivers/phy/samsung/Makefile
> rename drivers/phy/{ => samsung}/phy-exynos-dp-video.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos-mipi-video.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos4210-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos5250-sata.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos5250-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-s5pv210-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-samsung-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-samsung-usb2.h (100%)
> create mode 100644 drivers/phy/st/Kconfig
> create mode 100644 drivers/phy/st/Makefile
> rename drivers/phy/{ => st}/phy-miphy28lp.c (100%)
> rename drivers/phy/{ => st}/phy-miphy365x.c (100%)
> rename drivers/phy/{ => st}/phy-spear1310-miphy.c (100%)
> rename drivers/phy/{ => st}/phy-spear1340-miphy.c (100%)
> rename drivers/phy/{ => st}/phy-stih407-usb.c (100%)
> rename drivers/phy/{ => st}/phy-stih41x-usb.c (100%)
> create mode 100644 drivers/phy/sunxi/Kconfig
> create mode 100644 drivers/phy/sunxi/Makefile
> rename drivers/phy/{ => sunxi}/phy-sun4i-usb.c (100%)
> rename drivers/phy/{ => sunxi}/phy-sun9i-usb.c (100%)
> create mode 100644 drivers/phy/ti/Kconfig
> create mode 100644 drivers/phy/ti/Makefile
> rename drivers/phy/{ => ti}/phy-dm816x-usb.c (100%)
> rename drivers/phy/{ => ti}/phy-omap-control.c (100%)
> rename drivers/phy/{ => ti}/phy-omap-usb2.c (100%)
> rename drivers/phy/{ => ti}/phy-ti-pipe3.c (100%)
> rename drivers/phy/{ => ti}/phy-tusb1210.c (100%)
> rename drivers/phy/{ => ti}/phy-twl4030-usb.c (100%)
> rename drivers/phy/{ => ti}/ulpi_phy.h (100%)
>
> diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
> index 26566db..80c8c68 100644
> --- a/drivers/phy/Kconfig
> +++ b/drivers/phy/Kconfig
> @@ -15,45 +15,6 @@ config GENERIC_PHY
> phy users can obtain reference to the PHY. All the users of this
> framework should select this config.
>
> +menuconfig PHY_PLAT
> + bool "Platform Phy drivers"
Not really convinced about adding a new config here. This will create new
dependencies and will also start breaking users of oldconfig.
Also not all of them are platform drivers (e.g ULPI PHY drivers).
Thanks
Kishon
^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-01 13:05 ` Kishon Vijay Abraham I
0 siblings, 0 replies; 40+ messages in thread
From: Kishon Vijay Abraham I @ 2016-04-01 13:05 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
On Friday 01 April 2016 04:59 PM, Vivek Gautam wrote:
> Adding vendor specific directories in phy to group
> phy drivers under their respective vendor umbrella.
>
> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
> ---
>
> With growing number of phy drivers, it makes sense to
> group these drivers under their respective vendor/platform
> umbrella directory.
>
> Build-tested 'multi_v7_defconfig'.
>
> drivers/phy/Kconfig | 386 +---------------------
> drivers/phy/Makefile | 57 +---
> drivers/phy/bcom/Kconfig | 27 ++
> drivers/phy/bcom/Makefile | 3 +
> drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c | 0
> drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c | 0
> drivers/phy/{ => bcom}/phy-brcmstb-sata.c | 0
> drivers/phy/hisi/Kconfig | 20 ++
> drivers/phy/hisi/Makefile | 2 +
> drivers/phy/{ => hisi}/phy-hi6220-usb.c | 0
> drivers/phy/{ => hisi}/phy-hix5hd2-sata.c | 0
> drivers/phy/marvell/Kconfig | 50 +++
> drivers/phy/marvell/Makefile | 6 +
> drivers/phy/{ => marvell}/phy-armada375-usb2.c | 0
> drivers/phy/{ => marvell}/phy-berlin-sata.c | 0
> drivers/phy/{ => marvell}/phy-berlin-usb.c | 0
> drivers/phy/{ => marvell}/phy-mvebu-sata.c | 0
> drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c | 0
> drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c | 0
> drivers/phy/qcom/Kconfig | 23 ++
> drivers/phy/qcom/Makefile | 5 +
> drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-i.h | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs.c | 0
> drivers/phy/rcar/Kconfig | 16 +
> drivers/phy/rcar/Makefile | 2 +
> drivers/phy/{ => rcar}/phy-rcar-gen2.c | 0
> drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c | 0
> drivers/phy/rockchip/Kconfig | 23 ++
> drivers/phy/rockchip/Makefile | 3 +
> drivers/phy/{ => rockchip}/phy-rockchip-dp.c | 0
> drivers/phy/{ => rockchip}/phy-rockchip-emmc.c | 0
> drivers/phy/{ => rockchip}/phy-rockchip-usb.c | 0
> drivers/phy/samsung/Kconfig | 87 +++++
> drivers/phy/samsung/Makefile | 10 +
> drivers/phy/{ => samsung}/phy-exynos-dp-video.c | 0
> drivers/phy/{ => samsung}/phy-exynos-mipi-video.c | 0
> drivers/phy/{ => samsung}/phy-exynos4210-usb2.c | 0
> drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c | 0
> drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c | 0
> drivers/phy/{ => samsung}/phy-exynos5250-sata.c | 0
> drivers/phy/{ => samsung}/phy-exynos5250-usb2.c | 0
> drivers/phy/{ => samsung}/phy-s5pv210-usb2.c | 0
> drivers/phy/{ => samsung}/phy-samsung-usb2.c | 0
> drivers/phy/{ => samsung}/phy-samsung-usb2.h | 0
> drivers/phy/st/Kconfig | 51 +++
> drivers/phy/st/Makefile | 6 +
> drivers/phy/{ => st}/phy-miphy28lp.c | 0
> drivers/phy/{ => st}/phy-miphy365x.c | 0
> drivers/phy/{ => st}/phy-spear1310-miphy.c | 0
> drivers/phy/{ => st}/phy-spear1340-miphy.c | 0
> drivers/phy/{ => st}/phy-stih407-usb.c | 0
> drivers/phy/{ => st}/phy-stih41x-usb.c | 0
> drivers/phy/sunxi/Kconfig | 28 ++
> drivers/phy/sunxi/Makefile | 2 +
> drivers/phy/{ => sunxi}/phy-sun4i-usb.c | 0
> drivers/phy/{ => sunxi}/phy-sun9i-usb.c | 0
> drivers/phy/ti/Kconfig | 67 ++++
> drivers/phy/ti/Makefile | 6 +
> drivers/phy/{ => ti}/phy-dm816x-usb.c | 0
> drivers/phy/{ => ti}/phy-omap-control.c | 0
> drivers/phy/{ => ti}/phy-omap-usb2.c | 0
> drivers/phy/{ => ti}/phy-ti-pipe3.c | 0
> drivers/phy/{ => ti}/phy-tusb1210.c | 0
> drivers/phy/{ => ti}/phy-twl4030-usb.c | 0
> drivers/phy/{ => ti}/ulpi_phy.h | 0
ulpi_phy.h is not specific to TI though at this point tusb1210 is the only ULPI
driver.
> 71 files changed, 464 insertions(+), 416 deletions(-)
> create mode 100644 drivers/phy/bcom/Kconfig
> create mode 100644 drivers/phy/bcom/Makefile
> rename drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c (100%)
> rename drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c (100%)
> rename drivers/phy/{ => bcom}/phy-brcmstb-sata.c (100%)
> create mode 100644 drivers/phy/hisi/Kconfig
> create mode 100644 drivers/phy/hisi/Makefile
> rename drivers/phy/{ => hisi}/phy-hi6220-usb.c (100%)
> rename drivers/phy/{ => hisi}/phy-hix5hd2-sata.c (100%)
> create mode 100644 drivers/phy/marvell/Kconfig
> create mode 100644 drivers/phy/marvell/Makefile
> rename drivers/phy/{ => marvell}/phy-armada375-usb2.c (100%)
> rename drivers/phy/{ => marvell}/phy-berlin-sata.c (100%)
> rename drivers/phy/{ => marvell}/phy-berlin-usb.c (100%)
> rename drivers/phy/{ => marvell}/phy-mvebu-sata.c (100%)
> rename drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c (100%)
> rename drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c (100%)
> create mode 100644 drivers/phy/qcom/Kconfig
> create mode 100644 drivers/phy/qcom/Makefile
> rename drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-i.h (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs.c (100%)
> create mode 100644 drivers/phy/rcar/Kconfig
> create mode 100644 drivers/phy/rcar/Makefile
> rename drivers/phy/{ => rcar}/phy-rcar-gen2.c (100%)
> rename drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c (100%)
> create mode 100644 drivers/phy/rockchip/Kconfig
> create mode 100644 drivers/phy/rockchip/Makefile
> rename drivers/phy/{ => rockchip}/phy-rockchip-dp.c (100%)
> rename drivers/phy/{ => rockchip}/phy-rockchip-emmc.c (100%)
> rename drivers/phy/{ => rockchip}/phy-rockchip-usb.c (100%)
> create mode 100644 drivers/phy/samsung/Kconfig
> create mode 100644 drivers/phy/samsung/Makefile
> rename drivers/phy/{ => samsung}/phy-exynos-dp-video.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos-mipi-video.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos4210-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos5250-sata.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos5250-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-s5pv210-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-samsung-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-samsung-usb2.h (100%)
> create mode 100644 drivers/phy/st/Kconfig
> create mode 100644 drivers/phy/st/Makefile
> rename drivers/phy/{ => st}/phy-miphy28lp.c (100%)
> rename drivers/phy/{ => st}/phy-miphy365x.c (100%)
> rename drivers/phy/{ => st}/phy-spear1310-miphy.c (100%)
> rename drivers/phy/{ => st}/phy-spear1340-miphy.c (100%)
> rename drivers/phy/{ => st}/phy-stih407-usb.c (100%)
> rename drivers/phy/{ => st}/phy-stih41x-usb.c (100%)
> create mode 100644 drivers/phy/sunxi/Kconfig
> create mode 100644 drivers/phy/sunxi/Makefile
> rename drivers/phy/{ => sunxi}/phy-sun4i-usb.c (100%)
> rename drivers/phy/{ => sunxi}/phy-sun9i-usb.c (100%)
> create mode 100644 drivers/phy/ti/Kconfig
> create mode 100644 drivers/phy/ti/Makefile
> rename drivers/phy/{ => ti}/phy-dm816x-usb.c (100%)
> rename drivers/phy/{ => ti}/phy-omap-control.c (100%)
> rename drivers/phy/{ => ti}/phy-omap-usb2.c (100%)
> rename drivers/phy/{ => ti}/phy-ti-pipe3.c (100%)
> rename drivers/phy/{ => ti}/phy-tusb1210.c (100%)
> rename drivers/phy/{ => ti}/phy-twl4030-usb.c (100%)
> rename drivers/phy/{ => ti}/ulpi_phy.h (100%)
>
> diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
> index 26566db..80c8c68 100644
> --- a/drivers/phy/Kconfig
> +++ b/drivers/phy/Kconfig
> @@ -15,45 +15,6 @@ config GENERIC_PHY
> phy users can obtain reference to the PHY. All the users of this
> framework should select this config.
>
> +menuconfig PHY_PLAT
> + bool "Platform Phy drivers"
Not really convinced about adding a new config here. This will create new
dependencies and will also start breaking users of oldconfig.
Also not all of them are platform drivers (e.g ULPI PHY drivers).
Thanks
Kishon
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH 1/2] phy: Group vendor specific phy drivers
2016-04-01 13:05 ` Kishon Vijay Abraham I
@ 2016-04-01 13:35 ` Vivek Gautam
-1 siblings, 0 replies; 40+ messages in thread
From: Vivek Gautam @ 2016-04-01 13:35 UTC (permalink / raw)
To: Kishon Vijay Abraham I
Cc: Vivek Gautam, vireshk, Shiraz Hashim, Heiko Stübner,
Maxime Ripard, Chen-Yu Tsai, Russell King - ARM Linux,
linux-arm-kernel, spear-devel, linux-kernel, linux-rockchip,
Linux USB Mailing List, linux-samsung-soc, linux-omap, CPGS
Hi,
On Fri, Apr 1, 2016 at 6:05 AM, Kishon Vijay Abraham I <kishon@ti.com> wrote:
> Hi,
>
> On Friday 01 April 2016 04:59 PM, Vivek Gautam wrote:
>> Adding vendor specific directories in phy to group
>> phy drivers under their respective vendor umbrella.
>>
>> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
>> ---
>>
>> With growing number of phy drivers, it makes sense to
>> group these drivers under their respective vendor/platform
>> umbrella directory.
>>
>> Build-tested 'multi_v7_defconfig'.
>>
>> drivers/phy/Kconfig | 386 +---------------------
>> drivers/phy/Makefile | 57 +---
>> drivers/phy/bcom/Kconfig | 27 ++
>> drivers/phy/bcom/Makefile | 3 +
>> drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c | 0
>> drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c | 0
>> drivers/phy/{ => bcom}/phy-brcmstb-sata.c | 0
>> drivers/phy/hisi/Kconfig | 20 ++
>> drivers/phy/hisi/Makefile | 2 +
>> drivers/phy/{ => hisi}/phy-hi6220-usb.c | 0
>> drivers/phy/{ => hisi}/phy-hix5hd2-sata.c | 0
>> drivers/phy/marvell/Kconfig | 50 +++
>> drivers/phy/marvell/Makefile | 6 +
>> drivers/phy/{ => marvell}/phy-armada375-usb2.c | 0
>> drivers/phy/{ => marvell}/phy-berlin-sata.c | 0
>> drivers/phy/{ => marvell}/phy-berlin-usb.c | 0
>> drivers/phy/{ => marvell}/phy-mvebu-sata.c | 0
>> drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c | 0
>> drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c | 0
>> drivers/phy/qcom/Kconfig | 23 ++
>> drivers/phy/qcom/Makefile | 5 +
>> drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c | 0
>> drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c | 0
>> drivers/phy/{ => qcom}/phy-qcom-ufs-i.h | 0
>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c | 0
>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h | 0
>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c | 0
>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h | 0
>> drivers/phy/{ => qcom}/phy-qcom-ufs.c | 0
>> drivers/phy/rcar/Kconfig | 16 +
>> drivers/phy/rcar/Makefile | 2 +
>> drivers/phy/{ => rcar}/phy-rcar-gen2.c | 0
>> drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c | 0
>> drivers/phy/rockchip/Kconfig | 23 ++
>> drivers/phy/rockchip/Makefile | 3 +
>> drivers/phy/{ => rockchip}/phy-rockchip-dp.c | 0
>> drivers/phy/{ => rockchip}/phy-rockchip-emmc.c | 0
>> drivers/phy/{ => rockchip}/phy-rockchip-usb.c | 0
>> drivers/phy/samsung/Kconfig | 87 +++++
>> drivers/phy/samsung/Makefile | 10 +
>> drivers/phy/{ => samsung}/phy-exynos-dp-video.c | 0
>> drivers/phy/{ => samsung}/phy-exynos-mipi-video.c | 0
>> drivers/phy/{ => samsung}/phy-exynos4210-usb2.c | 0
>> drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c | 0
>> drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c | 0
>> drivers/phy/{ => samsung}/phy-exynos5250-sata.c | 0
>> drivers/phy/{ => samsung}/phy-exynos5250-usb2.c | 0
>> drivers/phy/{ => samsung}/phy-s5pv210-usb2.c | 0
>> drivers/phy/{ => samsung}/phy-samsung-usb2.c | 0
>> drivers/phy/{ => samsung}/phy-samsung-usb2.h | 0
>> drivers/phy/st/Kconfig | 51 +++
>> drivers/phy/st/Makefile | 6 +
>> drivers/phy/{ => st}/phy-miphy28lp.c | 0
>> drivers/phy/{ => st}/phy-miphy365x.c | 0
>> drivers/phy/{ => st}/phy-spear1310-miphy.c | 0
>> drivers/phy/{ => st}/phy-spear1340-miphy.c | 0
>> drivers/phy/{ => st}/phy-stih407-usb.c | 0
>> drivers/phy/{ => st}/phy-stih41x-usb.c | 0
>> drivers/phy/sunxi/Kconfig | 28 ++
>> drivers/phy/sunxi/Makefile | 2 +
>> drivers/phy/{ => sunxi}/phy-sun4i-usb.c | 0
>> drivers/phy/{ => sunxi}/phy-sun9i-usb.c | 0
>> drivers/phy/ti/Kconfig | 67 ++++
>> drivers/phy/ti/Makefile | 6 +
>> drivers/phy/{ => ti}/phy-dm816x-usb.c | 0
>> drivers/phy/{ => ti}/phy-omap-control.c | 0
>> drivers/phy/{ => ti}/phy-omap-usb2.c | 0
>> drivers/phy/{ => ti}/phy-ti-pipe3.c | 0
>> drivers/phy/{ => ti}/phy-tusb1210.c | 0
>> drivers/phy/{ => ti}/phy-twl4030-usb.c | 0
>> drivers/phy/{ => ti}/ulpi_phy.h | 0
>
> ulpi_phy.h is not specific to TI though at this point tusb1210 is the only ULPI
> driver.
Yes, you are right. But i was hesitant to add a multi-level header
file include in the phy driver
which uses it.
Does it makes sense to move this ulpi_phy.h to include/linux/phy ?
>> 71 files changed, 464 insertions(+), 416 deletions(-)
>> create mode 100644 drivers/phy/bcom/Kconfig
>> create mode 100644 drivers/phy/bcom/Makefile
>> rename drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c (100%)
>> rename drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c (100%)
>> rename drivers/phy/{ => bcom}/phy-brcmstb-sata.c (100%)
>> create mode 100644 drivers/phy/hisi/Kconfig
>> create mode 100644 drivers/phy/hisi/Makefile
>> rename drivers/phy/{ => hisi}/phy-hi6220-usb.c (100%)
>> rename drivers/phy/{ => hisi}/phy-hix5hd2-sata.c (100%)
>> create mode 100644 drivers/phy/marvell/Kconfig
>> create mode 100644 drivers/phy/marvell/Makefile
>> rename drivers/phy/{ => marvell}/phy-armada375-usb2.c (100%)
>> rename drivers/phy/{ => marvell}/phy-berlin-sata.c (100%)
>> rename drivers/phy/{ => marvell}/phy-berlin-usb.c (100%)
>> rename drivers/phy/{ => marvell}/phy-mvebu-sata.c (100%)
>> rename drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c (100%)
>> rename drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c (100%)
>> create mode 100644 drivers/phy/qcom/Kconfig
>> create mode 100644 drivers/phy/qcom/Makefile
>> rename drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c (100%)
>> rename drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c (100%)
>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-i.h (100%)
>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c (100%)
>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h (100%)
>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c (100%)
>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h (100%)
>> rename drivers/phy/{ => qcom}/phy-qcom-ufs.c (100%)
>> create mode 100644 drivers/phy/rcar/Kconfig
>> create mode 100644 drivers/phy/rcar/Makefile
>> rename drivers/phy/{ => rcar}/phy-rcar-gen2.c (100%)
>> rename drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c (100%)
>> create mode 100644 drivers/phy/rockchip/Kconfig
>> create mode 100644 drivers/phy/rockchip/Makefile
>> rename drivers/phy/{ => rockchip}/phy-rockchip-dp.c (100%)
>> rename drivers/phy/{ => rockchip}/phy-rockchip-emmc.c (100%)
>> rename drivers/phy/{ => rockchip}/phy-rockchip-usb.c (100%)
>> create mode 100644 drivers/phy/samsung/Kconfig
>> create mode 100644 drivers/phy/samsung/Makefile
>> rename drivers/phy/{ => samsung}/phy-exynos-dp-video.c (100%)
>> rename drivers/phy/{ => samsung}/phy-exynos-mipi-video.c (100%)
>> rename drivers/phy/{ => samsung}/phy-exynos4210-usb2.c (100%)
>> rename drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c (100%)
>> rename drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c (100%)
>> rename drivers/phy/{ => samsung}/phy-exynos5250-sata.c (100%)
>> rename drivers/phy/{ => samsung}/phy-exynos5250-usb2.c (100%)
>> rename drivers/phy/{ => samsung}/phy-s5pv210-usb2.c (100%)
>> rename drivers/phy/{ => samsung}/phy-samsung-usb2.c (100%)
>> rename drivers/phy/{ => samsung}/phy-samsung-usb2.h (100%)
>> create mode 100644 drivers/phy/st/Kconfig
>> create mode 100644 drivers/phy/st/Makefile
>> rename drivers/phy/{ => st}/phy-miphy28lp.c (100%)
>> rename drivers/phy/{ => st}/phy-miphy365x.c (100%)
>> rename drivers/phy/{ => st}/phy-spear1310-miphy.c (100%)
>> rename drivers/phy/{ => st}/phy-spear1340-miphy.c (100%)
>> rename drivers/phy/{ => st}/phy-stih407-usb.c (100%)
>> rename drivers/phy/{ => st}/phy-stih41x-usb.c (100%)
>> create mode 100644 drivers/phy/sunxi/Kconfig
>> create mode 100644 drivers/phy/sunxi/Makefile
>> rename drivers/phy/{ => sunxi}/phy-sun4i-usb.c (100%)
>> rename drivers/phy/{ => sunxi}/phy-sun9i-usb.c (100%)
>> create mode 100644 drivers/phy/ti/Kconfig
>> create mode 100644 drivers/phy/ti/Makefile
>> rename drivers/phy/{ => ti}/phy-dm816x-usb.c (100%)
>> rename drivers/phy/{ => ti}/phy-omap-control.c (100%)
>> rename drivers/phy/{ => ti}/phy-omap-usb2.c (100%)
>> rename drivers/phy/{ => ti}/phy-ti-pipe3.c (100%)
>> rename drivers/phy/{ => ti}/phy-tusb1210.c (100%)
>> rename drivers/phy/{ => ti}/phy-twl4030-usb.c (100%)
>> rename drivers/phy/{ => ti}/ulpi_phy.h (100%)
>>
>> diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
>> index 26566db..80c8c68 100644
>> --- a/drivers/phy/Kconfig
>> +++ b/drivers/phy/Kconfig
>> @@ -15,45 +15,6 @@ config GENERIC_PHY
>> phy users can obtain reference to the PHY. All the users of this
>> framework should select this config.
>>
>
>> +menuconfig PHY_PLAT
>> + bool "Platform Phy drivers"
>
> Not really convinced about adding a new config here. This will create new
> dependencies and will also start breaking users of oldconfig.
This serves including all the directory paths in the 'make' for
driver/phy/Makefile.
Otherwise each directory will have to be built as per particular platform
And, not all drivers of a vendor are built for one-kind of platform,
for example, Samsung uses ARCH_EXYNOS, as well as ARCH_S5PV210
Similarly, Broadcom phy drivers are based on multiple platforms, and so
does Marvell's.
Please suggest a concise way to include the vendor directories in the build path
in drivers/phy/Makefile.
>
> Also not all of them are platform drivers (e.g ULPI PHY drivers).
I Think this applies to ulpi_phy only at this moment, which we can resolve
by moving that to include/linux path.
>
> Thanks
> Kishon
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Best Regards
Vivek Gautam
Samsung R&D Institute, Bangalore
India
^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-01 13:35 ` Vivek Gautam
0 siblings, 0 replies; 40+ messages in thread
From: Vivek Gautam @ 2016-04-01 13:35 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
On Fri, Apr 1, 2016 at 6:05 AM, Kishon Vijay Abraham I <kishon@ti.com> wrote:
> Hi,
>
> On Friday 01 April 2016 04:59 PM, Vivek Gautam wrote:
>> Adding vendor specific directories in phy to group
>> phy drivers under their respective vendor umbrella.
>>
>> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
>> ---
>>
>> With growing number of phy drivers, it makes sense to
>> group these drivers under their respective vendor/platform
>> umbrella directory.
>>
>> Build-tested 'multi_v7_defconfig'.
>>
>> drivers/phy/Kconfig | 386 +---------------------
>> drivers/phy/Makefile | 57 +---
>> drivers/phy/bcom/Kconfig | 27 ++
>> drivers/phy/bcom/Makefile | 3 +
>> drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c | 0
>> drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c | 0
>> drivers/phy/{ => bcom}/phy-brcmstb-sata.c | 0
>> drivers/phy/hisi/Kconfig | 20 ++
>> drivers/phy/hisi/Makefile | 2 +
>> drivers/phy/{ => hisi}/phy-hi6220-usb.c | 0
>> drivers/phy/{ => hisi}/phy-hix5hd2-sata.c | 0
>> drivers/phy/marvell/Kconfig | 50 +++
>> drivers/phy/marvell/Makefile | 6 +
>> drivers/phy/{ => marvell}/phy-armada375-usb2.c | 0
>> drivers/phy/{ => marvell}/phy-berlin-sata.c | 0
>> drivers/phy/{ => marvell}/phy-berlin-usb.c | 0
>> drivers/phy/{ => marvell}/phy-mvebu-sata.c | 0
>> drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c | 0
>> drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c | 0
>> drivers/phy/qcom/Kconfig | 23 ++
>> drivers/phy/qcom/Makefile | 5 +
>> drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c | 0
>> drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c | 0
>> drivers/phy/{ => qcom}/phy-qcom-ufs-i.h | 0
>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c | 0
>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h | 0
>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c | 0
>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h | 0
>> drivers/phy/{ => qcom}/phy-qcom-ufs.c | 0
>> drivers/phy/rcar/Kconfig | 16 +
>> drivers/phy/rcar/Makefile | 2 +
>> drivers/phy/{ => rcar}/phy-rcar-gen2.c | 0
>> drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c | 0
>> drivers/phy/rockchip/Kconfig | 23 ++
>> drivers/phy/rockchip/Makefile | 3 +
>> drivers/phy/{ => rockchip}/phy-rockchip-dp.c | 0
>> drivers/phy/{ => rockchip}/phy-rockchip-emmc.c | 0
>> drivers/phy/{ => rockchip}/phy-rockchip-usb.c | 0
>> drivers/phy/samsung/Kconfig | 87 +++++
>> drivers/phy/samsung/Makefile | 10 +
>> drivers/phy/{ => samsung}/phy-exynos-dp-video.c | 0
>> drivers/phy/{ => samsung}/phy-exynos-mipi-video.c | 0
>> drivers/phy/{ => samsung}/phy-exynos4210-usb2.c | 0
>> drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c | 0
>> drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c | 0
>> drivers/phy/{ => samsung}/phy-exynos5250-sata.c | 0
>> drivers/phy/{ => samsung}/phy-exynos5250-usb2.c | 0
>> drivers/phy/{ => samsung}/phy-s5pv210-usb2.c | 0
>> drivers/phy/{ => samsung}/phy-samsung-usb2.c | 0
>> drivers/phy/{ => samsung}/phy-samsung-usb2.h | 0
>> drivers/phy/st/Kconfig | 51 +++
>> drivers/phy/st/Makefile | 6 +
>> drivers/phy/{ => st}/phy-miphy28lp.c | 0
>> drivers/phy/{ => st}/phy-miphy365x.c | 0
>> drivers/phy/{ => st}/phy-spear1310-miphy.c | 0
>> drivers/phy/{ => st}/phy-spear1340-miphy.c | 0
>> drivers/phy/{ => st}/phy-stih407-usb.c | 0
>> drivers/phy/{ => st}/phy-stih41x-usb.c | 0
>> drivers/phy/sunxi/Kconfig | 28 ++
>> drivers/phy/sunxi/Makefile | 2 +
>> drivers/phy/{ => sunxi}/phy-sun4i-usb.c | 0
>> drivers/phy/{ => sunxi}/phy-sun9i-usb.c | 0
>> drivers/phy/ti/Kconfig | 67 ++++
>> drivers/phy/ti/Makefile | 6 +
>> drivers/phy/{ => ti}/phy-dm816x-usb.c | 0
>> drivers/phy/{ => ti}/phy-omap-control.c | 0
>> drivers/phy/{ => ti}/phy-omap-usb2.c | 0
>> drivers/phy/{ => ti}/phy-ti-pipe3.c | 0
>> drivers/phy/{ => ti}/phy-tusb1210.c | 0
>> drivers/phy/{ => ti}/phy-twl4030-usb.c | 0
>> drivers/phy/{ => ti}/ulpi_phy.h | 0
>
> ulpi_phy.h is not specific to TI though at this point tusb1210 is the only ULPI
> driver.
Yes, you are right. But i was hesitant to add a multi-level header
file include in the phy driver
which uses it.
Does it makes sense to move this ulpi_phy.h to include/linux/phy ?
>> 71 files changed, 464 insertions(+), 416 deletions(-)
>> create mode 100644 drivers/phy/bcom/Kconfig
>> create mode 100644 drivers/phy/bcom/Makefile
>> rename drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c (100%)
>> rename drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c (100%)
>> rename drivers/phy/{ => bcom}/phy-brcmstb-sata.c (100%)
>> create mode 100644 drivers/phy/hisi/Kconfig
>> create mode 100644 drivers/phy/hisi/Makefile
>> rename drivers/phy/{ => hisi}/phy-hi6220-usb.c (100%)
>> rename drivers/phy/{ => hisi}/phy-hix5hd2-sata.c (100%)
>> create mode 100644 drivers/phy/marvell/Kconfig
>> create mode 100644 drivers/phy/marvell/Makefile
>> rename drivers/phy/{ => marvell}/phy-armada375-usb2.c (100%)
>> rename drivers/phy/{ => marvell}/phy-berlin-sata.c (100%)
>> rename drivers/phy/{ => marvell}/phy-berlin-usb.c (100%)
>> rename drivers/phy/{ => marvell}/phy-mvebu-sata.c (100%)
>> rename drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c (100%)
>> rename drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c (100%)
>> create mode 100644 drivers/phy/qcom/Kconfig
>> create mode 100644 drivers/phy/qcom/Makefile
>> rename drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c (100%)
>> rename drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c (100%)
>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-i.h (100%)
>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c (100%)
>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h (100%)
>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c (100%)
>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h (100%)
>> rename drivers/phy/{ => qcom}/phy-qcom-ufs.c (100%)
>> create mode 100644 drivers/phy/rcar/Kconfig
>> create mode 100644 drivers/phy/rcar/Makefile
>> rename drivers/phy/{ => rcar}/phy-rcar-gen2.c (100%)
>> rename drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c (100%)
>> create mode 100644 drivers/phy/rockchip/Kconfig
>> create mode 100644 drivers/phy/rockchip/Makefile
>> rename drivers/phy/{ => rockchip}/phy-rockchip-dp.c (100%)
>> rename drivers/phy/{ => rockchip}/phy-rockchip-emmc.c (100%)
>> rename drivers/phy/{ => rockchip}/phy-rockchip-usb.c (100%)
>> create mode 100644 drivers/phy/samsung/Kconfig
>> create mode 100644 drivers/phy/samsung/Makefile
>> rename drivers/phy/{ => samsung}/phy-exynos-dp-video.c (100%)
>> rename drivers/phy/{ => samsung}/phy-exynos-mipi-video.c (100%)
>> rename drivers/phy/{ => samsung}/phy-exynos4210-usb2.c (100%)
>> rename drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c (100%)
>> rename drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c (100%)
>> rename drivers/phy/{ => samsung}/phy-exynos5250-sata.c (100%)
>> rename drivers/phy/{ => samsung}/phy-exynos5250-usb2.c (100%)
>> rename drivers/phy/{ => samsung}/phy-s5pv210-usb2.c (100%)
>> rename drivers/phy/{ => samsung}/phy-samsung-usb2.c (100%)
>> rename drivers/phy/{ => samsung}/phy-samsung-usb2.h (100%)
>> create mode 100644 drivers/phy/st/Kconfig
>> create mode 100644 drivers/phy/st/Makefile
>> rename drivers/phy/{ => st}/phy-miphy28lp.c (100%)
>> rename drivers/phy/{ => st}/phy-miphy365x.c (100%)
>> rename drivers/phy/{ => st}/phy-spear1310-miphy.c (100%)
>> rename drivers/phy/{ => st}/phy-spear1340-miphy.c (100%)
>> rename drivers/phy/{ => st}/phy-stih407-usb.c (100%)
>> rename drivers/phy/{ => st}/phy-stih41x-usb.c (100%)
>> create mode 100644 drivers/phy/sunxi/Kconfig
>> create mode 100644 drivers/phy/sunxi/Makefile
>> rename drivers/phy/{ => sunxi}/phy-sun4i-usb.c (100%)
>> rename drivers/phy/{ => sunxi}/phy-sun9i-usb.c (100%)
>> create mode 100644 drivers/phy/ti/Kconfig
>> create mode 100644 drivers/phy/ti/Makefile
>> rename drivers/phy/{ => ti}/phy-dm816x-usb.c (100%)
>> rename drivers/phy/{ => ti}/phy-omap-control.c (100%)
>> rename drivers/phy/{ => ti}/phy-omap-usb2.c (100%)
>> rename drivers/phy/{ => ti}/phy-ti-pipe3.c (100%)
>> rename drivers/phy/{ => ti}/phy-tusb1210.c (100%)
>> rename drivers/phy/{ => ti}/phy-twl4030-usb.c (100%)
>> rename drivers/phy/{ => ti}/ulpi_phy.h (100%)
>>
>> diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
>> index 26566db..80c8c68 100644
>> --- a/drivers/phy/Kconfig
>> +++ b/drivers/phy/Kconfig
>> @@ -15,45 +15,6 @@ config GENERIC_PHY
>> phy users can obtain reference to the PHY. All the users of this
>> framework should select this config.
>>
>
>> +menuconfig PHY_PLAT
>> + bool "Platform Phy drivers"
>
> Not really convinced about adding a new config here. This will create new
> dependencies and will also start breaking users of oldconfig.
This serves including all the directory paths in the 'make' for
driver/phy/Makefile.
Otherwise each directory will have to be built as per particular platform
And, not all drivers of a vendor are built for one-kind of platform,
for example, Samsung uses ARCH_EXYNOS, as well as ARCH_S5PV210
Similarly, Broadcom phy drivers are based on multiple platforms, and so
does Marvell's.
Please suggest a concise way to include the vendor directories in the build path
in drivers/phy/Makefile.
>
> Also not all of them are platform drivers (e.g ULPI PHY drivers).
I Think this applies to ulpi_phy only at this moment, which we can resolve
by moving that to include/linux path.
>
> Thanks
> Kishon
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Best Regards
Vivek Gautam
Samsung R&D Institute, Bangalore
India
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-01 15:16 ` Heiko Stuebner
0 siblings, 0 replies; 40+ messages in thread
From: Heiko Stuebner @ 2016-04-01 15:16 UTC (permalink / raw)
To: Vivek Gautam
Cc: vireshk, shiraz.linux.kernel, kishon, maxime.ripard, wens, linux,
linux-arm-kernel, spear-devel, linux-kernel, linux-rockchip,
linux-usb, linux-samsung-soc, linux-omap, cpgs
Am Freitag, 1. April 2016, 16:59:15 schrieb Vivek Gautam:
> Adding vendor specific directories in phy to group
> phy drivers under their respective vendor umbrella.
>
> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
I don't have a preference about the phy-locations either way, so for
Rockchip phys
Acked-by: Heiko Stuebner <heiko@sntech.de>
> ---
>
> With growing number of phy drivers, it makes sense to
> group these drivers under their respective vendor/platform
> umbrella directory.
>
> Build-tested 'multi_v7_defconfig'.
>
> drivers/phy/Kconfig | 386
> +--------------------- drivers/phy/Makefile
> | 57 +---
> drivers/phy/bcom/Kconfig | 27 ++
> drivers/phy/bcom/Makefile | 3 +
> drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c | 0
> drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c | 0
> drivers/phy/{ => bcom}/phy-brcmstb-sata.c | 0
> drivers/phy/hisi/Kconfig | 20 ++
> drivers/phy/hisi/Makefile | 2 +
> drivers/phy/{ => hisi}/phy-hi6220-usb.c | 0
> drivers/phy/{ => hisi}/phy-hix5hd2-sata.c | 0
> drivers/phy/marvell/Kconfig | 50 +++
> drivers/phy/marvell/Makefile | 6 +
> drivers/phy/{ => marvell}/phy-armada375-usb2.c | 0
> drivers/phy/{ => marvell}/phy-berlin-sata.c | 0
> drivers/phy/{ => marvell}/phy-berlin-usb.c | 0
> drivers/phy/{ => marvell}/phy-mvebu-sata.c | 0
> drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c | 0
> drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c | 0
> drivers/phy/qcom/Kconfig | 23 ++
> drivers/phy/qcom/Makefile | 5 +
> drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-i.h | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs.c | 0
> drivers/phy/rcar/Kconfig | 16 +
> drivers/phy/rcar/Makefile | 2 +
> drivers/phy/{ => rcar}/phy-rcar-gen2.c | 0
> drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c | 0
> drivers/phy/rockchip/Kconfig | 23 ++
> drivers/phy/rockchip/Makefile | 3 +
> drivers/phy/{ => rockchip}/phy-rockchip-dp.c | 0
> drivers/phy/{ => rockchip}/phy-rockchip-emmc.c | 0
> drivers/phy/{ => rockchip}/phy-rockchip-usb.c | 0
> drivers/phy/samsung/Kconfig | 87 +++++
> drivers/phy/samsung/Makefile | 10 +
> drivers/phy/{ => samsung}/phy-exynos-dp-video.c | 0
> drivers/phy/{ => samsung}/phy-exynos-mipi-video.c | 0
> drivers/phy/{ => samsung}/phy-exynos4210-usb2.c | 0
> drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c | 0
> drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c | 0
> drivers/phy/{ => samsung}/phy-exynos5250-sata.c | 0
> drivers/phy/{ => samsung}/phy-exynos5250-usb2.c | 0
> drivers/phy/{ => samsung}/phy-s5pv210-usb2.c | 0
> drivers/phy/{ => samsung}/phy-samsung-usb2.c | 0
> drivers/phy/{ => samsung}/phy-samsung-usb2.h | 0
> drivers/phy/st/Kconfig | 51 +++
> drivers/phy/st/Makefile | 6 +
> drivers/phy/{ => st}/phy-miphy28lp.c | 0
> drivers/phy/{ => st}/phy-miphy365x.c | 0
> drivers/phy/{ => st}/phy-spear1310-miphy.c | 0
> drivers/phy/{ => st}/phy-spear1340-miphy.c | 0
> drivers/phy/{ => st}/phy-stih407-usb.c | 0
> drivers/phy/{ => st}/phy-stih41x-usb.c | 0
> drivers/phy/sunxi/Kconfig | 28 ++
> drivers/phy/sunxi/Makefile | 2 +
> drivers/phy/{ => sunxi}/phy-sun4i-usb.c | 0
> drivers/phy/{ => sunxi}/phy-sun9i-usb.c | 0
> drivers/phy/ti/Kconfig | 67 ++++
> drivers/phy/ti/Makefile | 6 +
> drivers/phy/{ => ti}/phy-dm816x-usb.c | 0
> drivers/phy/{ => ti}/phy-omap-control.c | 0
> drivers/phy/{ => ti}/phy-omap-usb2.c | 0
> drivers/phy/{ => ti}/phy-ti-pipe3.c | 0
> drivers/phy/{ => ti}/phy-tusb1210.c | 0
> drivers/phy/{ => ti}/phy-twl4030-usb.c | 0
> drivers/phy/{ => ti}/ulpi_phy.h | 0
> 71 files changed, 464 insertions(+), 416 deletions(-)
> create mode 100644 drivers/phy/bcom/Kconfig
> create mode 100644 drivers/phy/bcom/Makefile
> rename drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c (100%)
> rename drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c (100%)
> rename drivers/phy/{ => bcom}/phy-brcmstb-sata.c (100%)
> create mode 100644 drivers/phy/hisi/Kconfig
> create mode 100644 drivers/phy/hisi/Makefile
> rename drivers/phy/{ => hisi}/phy-hi6220-usb.c (100%)
> rename drivers/phy/{ => hisi}/phy-hix5hd2-sata.c (100%)
> create mode 100644 drivers/phy/marvell/Kconfig
> create mode 100644 drivers/phy/marvell/Makefile
> rename drivers/phy/{ => marvell}/phy-armada375-usb2.c (100%)
> rename drivers/phy/{ => marvell}/phy-berlin-sata.c (100%)
> rename drivers/phy/{ => marvell}/phy-berlin-usb.c (100%)
> rename drivers/phy/{ => marvell}/phy-mvebu-sata.c (100%)
> rename drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c (100%)
> rename drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c (100%)
> create mode 100644 drivers/phy/qcom/Kconfig
> create mode 100644 drivers/phy/qcom/Makefile
> rename drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-i.h (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs.c (100%)
> create mode 100644 drivers/phy/rcar/Kconfig
> create mode 100644 drivers/phy/rcar/Makefile
> rename drivers/phy/{ => rcar}/phy-rcar-gen2.c (100%)
> rename drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c (100%)
> create mode 100644 drivers/phy/rockchip/Kconfig
> create mode 100644 drivers/phy/rockchip/Makefile
> rename drivers/phy/{ => rockchip}/phy-rockchip-dp.c (100%)
> rename drivers/phy/{ => rockchip}/phy-rockchip-emmc.c (100%)
> rename drivers/phy/{ => rockchip}/phy-rockchip-usb.c (100%)
> create mode 100644 drivers/phy/samsung/Kconfig
> create mode 100644 drivers/phy/samsung/Makefile
> rename drivers/phy/{ => samsung}/phy-exynos-dp-video.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos-mipi-video.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos4210-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos5250-sata.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos5250-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-s5pv210-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-samsung-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-samsung-usb2.h (100%)
> create mode 100644 drivers/phy/st/Kconfig
> create mode 100644 drivers/phy/st/Makefile
> rename drivers/phy/{ => st}/phy-miphy28lp.c (100%)
> rename drivers/phy/{ => st}/phy-miphy365x.c (100%)
> rename drivers/phy/{ => st}/phy-spear1310-miphy.c (100%)
> rename drivers/phy/{ => st}/phy-spear1340-miphy.c (100%)
> rename drivers/phy/{ => st}/phy-stih407-usb.c (100%)
> rename drivers/phy/{ => st}/phy-stih41x-usb.c (100%)
> create mode 100644 drivers/phy/sunxi/Kconfig
> create mode 100644 drivers/phy/sunxi/Makefile
> rename drivers/phy/{ => sunxi}/phy-sun4i-usb.c (100%)
> rename drivers/phy/{ => sunxi}/phy-sun9i-usb.c (100%)
> create mode 100644 drivers/phy/ti/Kconfig
> create mode 100644 drivers/phy/ti/Makefile
> rename drivers/phy/{ => ti}/phy-dm816x-usb.c (100%)
> rename drivers/phy/{ => ti}/phy-omap-control.c (100%)
> rename drivers/phy/{ => ti}/phy-omap-usb2.c (100%)
> rename drivers/phy/{ => ti}/phy-ti-pipe3.c (100%)
> rename drivers/phy/{ => ti}/phy-tusb1210.c (100%)
> rename drivers/phy/{ => ti}/phy-twl4030-usb.c (100%)
> rename drivers/phy/{ => ti}/ulpi_phy.h (100%)
>
> diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
> index 26566db..80c8c68 100644
> --- a/drivers/phy/Kconfig
> +++ b/drivers/phy/Kconfig
> @@ -15,45 +15,6 @@ config GENERIC_PHY
> phy users can obtain reference to the PHY. All the users of this
> framework should select this config.
>
> -config PHY_BERLIN_USB
> - tristate "Marvell Berlin USB PHY Driver"
> - depends on ARCH_BERLIN && RESET_CONTROLLER && HAS_IOMEM && OF
> - select GENERIC_PHY
> - help
> - Enable this to support the USB PHY on Marvell Berlin SoCs.
> -
> -config PHY_BERLIN_SATA
> - tristate "Marvell Berlin SATA PHY driver"
> - depends on ARCH_BERLIN && HAS_IOMEM && OF
> - select GENERIC_PHY
> - help
> - Enable this to support the SATA PHY on Marvell Berlin SoCs.
> -
> -config ARMADA375_USBCLUSTER_PHY
> - def_bool y
> - depends on MACH_ARMADA_375 || COMPILE_TEST
> - depends on OF && HAS_IOMEM
> - select GENERIC_PHY
> -
> -config PHY_DM816X_USB
> - tristate "TI dm816x USB PHY driver"
> - depends on ARCH_OMAP2PLUS
> - depends on USB_SUPPORT
> - select GENERIC_PHY
> - select USB_PHY
> - help
> - Enable this for dm816x USB to work.
> -
> -config PHY_EXYNOS_MIPI_VIDEO
> - tristate "S5P/EXYNOS SoC series MIPI CSI-2/DSI PHY driver"
> - depends on HAS_IOMEM
> - depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
> - select GENERIC_PHY
> - default y if ARCH_S5PV210 || ARCH_EXYNOS
> - help
> - Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P
> - and EXYNOS SoCs.
> -
> config PHY_LPC18XX_USB_OTG
> tristate "NXP LPC18xx/43xx SoC USB OTG PHY driver"
> depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
> @@ -65,154 +26,6 @@ config PHY_LPC18XX_USB_OTG
> This driver is need for USB0 support on LPC18xx/43xx and takes
> care of enabling and clock setup.
>
> -config PHY_PXA_28NM_HSIC
> - tristate "Marvell USB HSIC 28nm PHY Driver"
> - depends on HAS_IOMEM
> - select GENERIC_PHY
> - help
> - Enable this to support Marvell USB HSIC PHY driver for Marvell
> - SoC. This driver will do the PHY initialization and shutdown.
> - The PHY driver will be used by Marvell ehci driver.
> -
> - To compile this driver as a module, choose M here.
> -
> -config PHY_PXA_28NM_USB2
> - tristate "Marvell USB 2.0 28nm PHY Driver"
> - depends on HAS_IOMEM
> - select GENERIC_PHY
> - help
> - Enable this to support Marvell USB 2.0 PHY driver for Marvell
> - SoC. This driver will do the PHY initialization and shutdown.
> - The PHY driver will be used by Marvell udc/ehci/otg driver.
> -
> - To compile this driver as a module, choose M here.
> -
> -config PHY_MVEBU_SATA
> - def_bool y
> - depends on ARCH_DOVE || MACH_DOVE || MACH_KIRKWOOD
> - depends on OF
> - select GENERIC_PHY
> -
> -config PHY_MIPHY28LP
> - tristate "STMicroelectronics MIPHY28LP PHY driver for STiH407"
> - depends on ARCH_STI
> - select GENERIC_PHY
> - help
> - Enable this to support the miphy transceiver (for SATA/PCIE/USB3)
> - that is part of STMicroelectronics STiH407 SoC.
> -
> -config PHY_MIPHY365X
> - tristate "STMicroelectronics MIPHY365X PHY driver for STiH41x series"
> - depends on ARCH_STI
> - depends on HAS_IOMEM
> - depends on OF
> - select GENERIC_PHY
> - help
> - Enable this to support the miphy transceiver (for SATA/PCIE)
> - that is part of STMicroelectronics STiH41x SoC series.
> -
> -config PHY_RCAR_GEN2
> - tristate "Renesas R-Car generation 2 USB PHY driver"
> - depends on ARCH_SHMOBILE
> - depends on GENERIC_PHY
> - help
> - Support for USB PHY found on Renesas R-Car generation 2 SoCs.
> -
> -config PHY_RCAR_GEN3_USB2
> - tristate "Renesas R-Car generation 3 USB 2.0 PHY driver"
> - depends on OF && ARCH_SHMOBILE
> - select GENERIC_PHY
> - help
> - Support for USB 2.0 PHY found on Renesas R-Car generation 3 SoCs.
> -
> -config OMAP_CONTROL_PHY
> - tristate "OMAP CONTROL PHY Driver"
> - depends on ARCH_OMAP2PLUS || COMPILE_TEST
> - help
> - Enable this to add support for the PHY part present in the control
> - module. This driver has API to power on the USB2 PHY and to write to
> - the mailbox. The mailbox is present only in omap4 and the register to
> - power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an
> - additional register to power on USB3 PHY/SATA PHY/PCIE PHY
> - (PIPE3 PHY).
> -
> -config OMAP_USB2
> - tristate "OMAP USB2 PHY Driver"
> - depends on ARCH_OMAP2PLUS
> - depends on USB_SUPPORT
> - select GENERIC_PHY
> - select USB_PHY
> - select OMAP_CONTROL_PHY
> - depends on OMAP_OCP2SCP
> - help
> - Enable this to support the transceiver that is part of SOC. This
> - driver takes care of all the PHY functionality apart from comparator.
> - The USB OTG controller communicates with the comparator using this
> - driver.
> -
> -config TI_PIPE3
> - tristate "TI PIPE3 PHY Driver"
> - depends on ARCH_OMAP2PLUS || COMPILE_TEST
> - select GENERIC_PHY
> - select OMAP_CONTROL_PHY
> - depends on OMAP_OCP2SCP
> - help
> - Enable this to support the PIPE3 PHY that is part of TI SOCs. This
> - driver takes care of all the PHY functionality apart from comparator.
> - This driver interacts with the "OMAP Control PHY Driver" to power
> - on/off the PHY.
> -
> -config TWL4030_USB
> - tristate "TWL4030 USB Transceiver Driver"
> - depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
> - depends on USB_SUPPORT
> - select GENERIC_PHY
> - select USB_PHY
> - help
> - Enable this to support the USB OTG transceiver on TWL4030
> - family chips (including the TWL5030 and TPS659x0 devices).
> - This transceiver supports high and full speed devices plus,
> - in host mode, low speed.
> -
> -config PHY_EXYNOS_DP_VIDEO
> - tristate "EXYNOS SoC series Display Port PHY driver"
> - depends on OF
> - depends on ARCH_EXYNOS || COMPILE_TEST
> - default ARCH_EXYNOS
> - select GENERIC_PHY
> - help
> - Support for Display Port PHY found on Samsung EXYNOS SoCs.
> -
> -config BCM_KONA_USB2_PHY
> - tristate "Broadcom Kona USB2 PHY Driver"
> - depends on HAS_IOMEM
> - select GENERIC_PHY
> - help
> - Enable this to support the Broadcom Kona USB 2.0 PHY.
> -
> -config PHY_EXYNOS5250_SATA
> - tristate "Exynos5250 Sata SerDes/PHY driver"
> - depends on SOC_EXYNOS5250
> - depends on HAS_IOMEM
> - depends on OF
> - select GENERIC_PHY
> - select I2C
> - select I2C_S3C2410
> - select MFD_SYSCON
> - help
> - Enable this to support SATA SerDes/Phy found on Samsung's
> - Exynos5250 based SoCs.This SerDes/Phy supports SATA 1.5 Gb/s,
> - SATA 3.0 Gb/s, SATA 6.0 Gb/s speeds. It supports one SATA host
> - port to accept one SATA device.
> -
> -config PHY_HIX5HD2_SATA
> - tristate "HIX5HD2 SATA PHY Driver"
> - depends on ARCH_HIX5HD2 && OF && HAS_IOMEM
> - select GENERIC_PHY
> - select MFD_SYSCON
> - help
> - Support for SATA PHY on Hisilicon hix5hd2 Soc.
> -
> config PHY_MT65XX_USB3
> tristate "Mediatek USB3.0 PHY Driver"
> depends on ARCH_MEDIATEK && OF
> @@ -222,93 +35,6 @@ config PHY_MT65XX_USB3
> for mt65xx SoCs. it supports two usb2.0 ports and
> one usb3.0 port.
>
> -config PHY_HI6220_USB
> - tristate "hi6220 USB PHY support"
> - depends on (ARCH_HISI && ARM64) || COMPILE_TEST
> - select GENERIC_PHY
> - select MFD_SYSCON
> - help
> - Enable this to support the HISILICON HI6220 USB PHY.
> -
> - To compile this driver as a module, choose M here.
> -
> -config PHY_SUN4I_USB
> - tristate "Allwinner sunxi SoC USB PHY driver"
> - depends on ARCH_SUNXI && HAS_IOMEM && OF
> - depends on RESET_CONTROLLER
> - depends on EXTCON
> - depends on POWER_SUPPLY
> - select GENERIC_PHY
> - help
> - Enable this to support the transceiver that is part of Allwinner
> - sunxi SoCs.
> -
> - This driver controls the entire USB PHY block, both the USB OTG
> - parts, as well as the 2 regular USB 2 host PHYs.
> -
> -config PHY_SUN9I_USB
> - tristate "Allwinner sun9i SoC USB PHY driver"
> - depends on ARCH_SUNXI && HAS_IOMEM && OF
> - depends on RESET_CONTROLLER
> - depends on USB_COMMON
> - select GENERIC_PHY
> - help
> - Enable this to support the transceiver that is part of Allwinner
> - sun9i SoCs.
> -
> - This driver controls each individual USB 2 host PHY.
> -
> -config PHY_SAMSUNG_USB2
> - tristate "Samsung USB 2.0 PHY driver"
> - depends on HAS_IOMEM
> - depends on USB_EHCI_EXYNOS || USB_OHCI_EXYNOS || USB_DWC2
> - select GENERIC_PHY
> - select MFD_SYSCON
> - default ARCH_EXYNOS
> - help
> - Enable this to support the Samsung USB 2.0 PHY driver for Samsung
> - SoCs. This driver provides the interface for USB 2.0 PHY. Support
> - for particular PHYs will be enabled based on the SoC type in addition
> - to this driver.
> -
> -config PHY_S5PV210_USB2
> - bool "Support for S5PV210"
> - depends on PHY_SAMSUNG_USB2
> - depends on ARCH_S5PV210
> - help
> - Enable USB PHY support for S5PV210. This option requires that Samsung
> - USB 2.0 PHY driver is enabled and means that support for this
> - particular SoC is compiled in the driver. In case of S5PV210 two phys
> - are available - device and host.
> -
> -config PHY_EXYNOS4210_USB2
> - bool
> - depends on PHY_SAMSUNG_USB2
> - default CPU_EXYNOS4210
> -
> -config PHY_EXYNOS4X12_USB2
> - bool
> - depends on PHY_SAMSUNG_USB2
> - default SOC_EXYNOS3250 || SOC_EXYNOS4212 || SOC_EXYNOS4412
> -
> -config PHY_EXYNOS5250_USB2
> - bool
> - depends on PHY_SAMSUNG_USB2
> - default SOC_EXYNOS5250 || SOC_EXYNOS5420
> -
> -config PHY_EXYNOS5_USBDRD
> - tristate "Exynos5 SoC series USB DRD PHY driver"
> - depends on ARCH_EXYNOS && OF
> - depends on HAS_IOMEM
> - depends on USB_DWC3_EXYNOS
> - select GENERIC_PHY
> - select MFD_SYSCON
> - default y
> - help
> - Enable USB DRD PHY support for Exynos 5 SoC series.
> - This driver provides PHY interface for USB 3.0 DRD controller
> - present on Exynos5 SoC series.
> -
> config PHY_PISTACHIO_USB
> tristate "IMG Pistachio USB2.0 PHY driver"
> depends on MACH_PISTACHIO
> @@ -316,55 +42,6 @@ config PHY_PISTACHIO_USB
> help
> Enable this to support the USB2.0 PHY on the IMG Pistachio SoC.
>
> -config PHY_QCOM_APQ8064_SATA
> - tristate "Qualcomm APQ8064 SATA SerDes/PHY driver"
> - depends on ARCH_QCOM
> - depends on HAS_IOMEM
> - depends on OF
> - select GENERIC_PHY
> -
> -config PHY_QCOM_IPQ806X_SATA
> - tristate "Qualcomm IPQ806x SATA SerDes/PHY driver"
> - depends on ARCH_QCOM
> - depends on HAS_IOMEM
> - depends on OF
> - select GENERIC_PHY
> -
> -config PHY_ROCKCHIP_USB
> - tristate "Rockchip USB2 PHY Driver"
> - depends on ARCH_ROCKCHIP && OF
> - select GENERIC_PHY
> - help
> - Enable this to support the Rockchip USB 2.0 PHY.
> -
> -config PHY_ROCKCHIP_EMMC
> - tristate "Rockchip EMMC PHY Driver"
> - depends on ARCH_ROCKCHIP && OF
> - select GENERIC_PHY
> - help
> - Enable this to support the Rockchip EMMC PHY.
> -
> -config PHY_ROCKCHIP_DP
> - tristate "Rockchip Display Port PHY Driver"
> - depends on ARCH_ROCKCHIP && OF
> - select GENERIC_PHY
> - help
> - Enable this to support the Rockchip Display Port PHY.
> -
> -config PHY_ST_SPEAR1310_MIPHY
> - tristate "ST SPEAR1310-MIPHY driver"
> - select GENERIC_PHY
> - depends on MACH_SPEAR1310 || COMPILE_TEST
> - help
> - Support for ST SPEAr1310 MIPHY which can be used for PCIe and SATA.
> -
> -config PHY_ST_SPEAR1340_MIPHY
> - tristate "ST SPEAR1340-MIPHY driver"
> - select GENERIC_PHY
> - depends on MACH_SPEAR1340 || COMPILE_TEST
> - help
> - Support for ST SPEAr1340 MIPHY which can be used for PCIe and SATA.
> -
> config PHY_XGENE
> tristate "APM X-Gene 15Gbps PHY support"
> depends on HAS_IOMEM && OF && (ARM64 || COMPILE_TEST)
> @@ -372,53 +49,20 @@ config PHY_XGENE
> help
> This option enables support for APM X-Gene SoC multi-purpose PHY.
>
> -config PHY_STIH407_USB
> - tristate "STMicroelectronics USB2 picoPHY driver for STiH407 family"
> - depends on RESET_CONTROLLER
> - depends on ARCH_STI || COMPILE_TEST
> - select GENERIC_PHY
> - help
> - Enable this support to enable the picoPHY device used by USB2
> - and USB3 controllers on STMicroelectronics STiH407 SoC families.
> -
> -config PHY_STIH41X_USB
> - tristate "STMicroelectronics USB2 PHY driver for STiH41x series"
> - depends on ARCH_STI
> - select GENERIC_PHY
> - help
> - Enable this to support the USB transceiver that is part of
> - STMicroelectronics STiH41x SoC series.
> -
> -config PHY_QCOM_UFS
> - tristate "Qualcomm UFS PHY driver"
> - depends on OF && ARCH_QCOM
> - select GENERIC_PHY
> - help
> - Support for UFS PHY on QCOM chipsets.
> -
> -config PHY_TUSB1210
> - tristate "TI TUSB1210 ULPI PHY module"
> - depends on USB_ULPI_BUS
> - select GENERIC_PHY
> - help
> - Support for TI TUSB1210 USB ULPI PHY.
> -
> -config PHY_BRCMSTB_SATA
> - tristate "Broadcom STB SATA PHY driver"
> - depends on ARCH_BRCMSTB || BMIPS_GENERIC
> - depends on OF
> - select GENERIC_PHY
> - help
> - Enable this to support the SATA3 PHY on 28nm or 40nm Broadcom STB
> SoCs. - Likely useful only with CONFIG_SATA_BRCMSTB enabled.
> -
> -config PHY_CYGNUS_PCIE
> - tristate "Broadcom Cygnus PCIe PHY driver"
> - depends on OF && (ARCH_BCM_CYGNUS || COMPILE_TEST)
> - select GENERIC_PHY
> - default ARCH_BCM_CYGNUS
> - help
> - Enable this to support the Broadcom Cygnus PCIe PHY.
> - If unsure, say N.
> +menuconfig PHY_PLAT
> + bool "Platform Phy drivers"
> +
> +if PHY_PLAT
> +source "drivers/phy/bcom/Kconfig"
> +source "drivers/phy/hisi/Kconfig"
> +source "drivers/phy/marvell/Kconfig"
> +source "drivers/phy/qcom/Kconfig"
> +source "drivers/phy/rcar/Kconfig"
> +source "drivers/phy/rockchip/Kconfig"
> +source "drivers/phy/samsung/Kconfig"
> +source "drivers/phy/st/Kconfig"
> +source "drivers/phy/sunxi/Kconfig"
> +source "drivers/phy/ti/Kconfig"
> +endif
>
> endmenu
> diff --git a/drivers/phy/Makefile b/drivers/phy/Makefile
> index 24596a9..73d563b 100644
> --- a/drivers/phy/Makefile
> +++ b/drivers/phy/Makefile
> @@ -3,52 +3,19 @@
> #
>
> obj-$(CONFIG_GENERIC_PHY) += phy-core.o
> -obj-$(CONFIG_PHY_BERLIN_USB) += phy-berlin-usb.o
> -obj-$(CONFIG_PHY_BERLIN_SATA) += phy-berlin-sata.o
> -obj-$(CONFIG_PHY_DM816X_USB) += phy-dm816x-usb.o
> -obj-$(CONFIG_ARMADA375_USBCLUSTER_PHY) += phy-armada375-usb2.o
> -obj-$(CONFIG_BCM_KONA_USB2_PHY) += phy-bcm-kona-usb2.o
> -obj-$(CONFIG_PHY_EXYNOS_DP_VIDEO) += phy-exynos-dp-video.o
> -obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO) += phy-exynos-mipi-video.o
> obj-$(CONFIG_PHY_LPC18XX_USB_OTG) += phy-lpc18xx-usb-otg.o
> -obj-$(CONFIG_PHY_PXA_28NM_USB2) += phy-pxa-28nm-usb2.o
> -obj-$(CONFIG_PHY_PXA_28NM_HSIC) += phy-pxa-28nm-hsic.o
> -obj-$(CONFIG_PHY_MVEBU_SATA) += phy-mvebu-sata.o
> -obj-$(CONFIG_PHY_MIPHY28LP) += phy-miphy28lp.o
> -obj-$(CONFIG_PHY_MIPHY365X) += phy-miphy365x.o
> -obj-$(CONFIG_PHY_RCAR_GEN2) += phy-rcar-gen2.o
> -obj-$(CONFIG_PHY_RCAR_GEN3_USB2) += phy-rcar-gen3-usb2.o
> -obj-$(CONFIG_OMAP_CONTROL_PHY) += phy-omap-control.o
> -obj-$(CONFIG_OMAP_USB2) += phy-omap-usb2.o
> -obj-$(CONFIG_TI_PIPE3) += phy-ti-pipe3.o
> -obj-$(CONFIG_TWL4030_USB) += phy-twl4030-usb.o
> -obj-$(CONFIG_PHY_EXYNOS5250_SATA) += phy-exynos5250-sata.o
> -obj-$(CONFIG_PHY_HIX5HD2_SATA) += phy-hix5hd2-sata.o
> -obj-$(CONFIG_PHY_HI6220_USB) += phy-hi6220-usb.o
> obj-$(CONFIG_PHY_MT65XX_USB3) += phy-mt65xx-usb3.o
> -obj-$(CONFIG_PHY_SUN4I_USB) += phy-sun4i-usb.o
> -obj-$(CONFIG_PHY_SUN9I_USB) += phy-sun9i-usb.o
> -obj-$(CONFIG_PHY_SAMSUNG_USB2) += phy-exynos-usb2.o
> -phy-exynos-usb2-y += phy-samsung-usb2.o
> -phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4210_USB2) += phy-exynos4210-usb2.o
> -phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4X12_USB2) += phy-exynos4x12-usb2.o
> -phy-exynos-usb2-$(CONFIG_PHY_EXYNOS5250_USB2) += phy-exynos5250-usb2.o
> -phy-exynos-usb2-$(CONFIG_PHY_S5PV210_USB2) += phy-s5pv210-usb2.o
> -obj-$(CONFIG_PHY_EXYNOS5_USBDRD) += phy-exynos5-usbdrd.o
> -obj-$(CONFIG_PHY_QCOM_APQ8064_SATA) += phy-qcom-apq8064-sata.o
> -obj-$(CONFIG_PHY_ROCKCHIP_USB) += phy-rockchip-usb.o
> -obj-$(CONFIG_PHY_ROCKCHIP_EMMC) += phy-rockchip-emmc.o
> -obj-$(CONFIG_PHY_ROCKCHIP_DP) += phy-rockchip-dp.o
> -obj-$(CONFIG_PHY_QCOM_IPQ806X_SATA) += phy-qcom-ipq806x-sata.o
> -obj-$(CONFIG_PHY_ST_SPEAR1310_MIPHY) += phy-spear1310-miphy.o
> -obj-$(CONFIG_PHY_ST_SPEAR1340_MIPHY) += phy-spear1340-miphy.o
> obj-$(CONFIG_PHY_XGENE) += phy-xgene.o
> -obj-$(CONFIG_PHY_STIH407_USB) += phy-stih407-usb.o
> -obj-$(CONFIG_PHY_STIH41X_USB) += phy-stih41x-usb.o
> -obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs.o
> -obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs-qmp-20nm.o
> -obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs-qmp-14nm.o
> -obj-$(CONFIG_PHY_TUSB1210) += phy-tusb1210.o
> -obj-$(CONFIG_PHY_BRCMSTB_SATA) += phy-brcmstb-sata.o
> obj-$(CONFIG_PHY_PISTACHIO_USB) += phy-pistachio-usb.o
> -obj-$(CONFIG_PHY_CYGNUS_PCIE) += phy-bcm-cygnus-pcie.o
> +
> +# Phy drivers for different platforms.
> +obj-$(CONFIG_PHY_PLAT) += bcom/ \
> + hisi/ \
> + marvell/ \
> + qcom/ \
> + rcar/ \
> + rockchip/ \
> + samsung/ \
> + st/ \
> + sunxi/ \
> + ti/
> diff --git a/drivers/phy/bcom/Kconfig b/drivers/phy/bcom/Kconfig
> new file mode 100644
> index 0000000..8243372
> --- /dev/null
> +++ b/drivers/phy/bcom/Kconfig
> @@ -0,0 +1,27 @@
> +#
> +# PHY drivers for Broadcom platforms
> +#
> +config PHY_CYGNUS_PCIE
> + tristate "Broadcom Cygnus PCIe PHY driver"
> + depends on OF && (ARCH_BCM_CYGNUS || COMPILE_TEST)
> + select GENERIC_PHY
> + default ARCH_BCM_CYGNUS
> + help
> + Enable this to support the Broadcom Cygnus PCIe PHY.
> + If unsure, say N.
> +
> +config BCM_KONA_USB2_PHY
> + tristate "Broadcom Kona USB2 PHY Driver"
> + depends on HAS_IOMEM
> + select GENERIC_PHY
> + help
> + Enable this to support the Broadcom Kona USB 2.0 PHY.
> +
> +config PHY_BRCMSTB_SATA
> + tristate "Broadcom STB SATA PHY driver"
> + depends on ARCH_BRCMSTB || BMIPS_GENERIC
> + depends on OF
> + select GENERIC_PHY
> + help
> + Enable this to support the SATA3 PHY on 28nm or 40nm Broadcom STB
> SoCs. + Likely useful only with CONFIG_SATA_BRCMSTB enabled.
> diff --git a/drivers/phy/bcom/Makefile b/drivers/phy/bcom/Makefile
> new file mode 100644
> index 0000000..f30fa76
> --- /dev/null
> +++ b/drivers/phy/bcom/Makefile
> @@ -0,0 +1,3 @@
> +obj-$(CONFIG_PHY_CYGNUS_PCIE) += phy-bcm-cygnus-pcie.o
> +obj-$(CONFIG_BCM_KONA_USB2_PHY) += phy-bcm-kona-usb2.o
> +obj-$(CONFIG_PHY_BRCMSTB_SATA) += phy-brcmstb-sata.o
> diff --git a/drivers/phy/phy-bcm-cygnus-pcie.c
> b/drivers/phy/bcom/phy-bcm-cygnus-pcie.c similarity index 100%
> rename from drivers/phy/phy-bcm-cygnus-pcie.c
> rename to drivers/phy/bcom/phy-bcm-cygnus-pcie.c
> diff --git a/drivers/phy/phy-bcm-kona-usb2.c
> b/drivers/phy/bcom/phy-bcm-kona-usb2.c similarity index 100%
> rename from drivers/phy/phy-bcm-kona-usb2.c
> rename to drivers/phy/bcom/phy-bcm-kona-usb2.c
> diff --git a/drivers/phy/phy-brcmstb-sata.c
> b/drivers/phy/bcom/phy-brcmstb-sata.c similarity index 100%
> rename from drivers/phy/phy-brcmstb-sata.c
> rename to drivers/phy/bcom/phy-brcmstb-sata.c
> diff --git a/drivers/phy/hisi/Kconfig b/drivers/phy/hisi/Kconfig
> new file mode 100644
> index 0000000..affa9ed
> --- /dev/null
> +++ b/drivers/phy/hisi/Kconfig
> @@ -0,0 +1,20 @@
> +#
> +# PHY drivers for HiSilicon platforms
> +#
> +config PHY_HIX5HD2_SATA
> + tristate "HIX5HD2 SATA PHY Driver"
> + depends on ARCH_HIX5HD2 && OF && HAS_IOMEM
> + select GENERIC_PHY
> + select MFD_SYSCON
> + help
> + Support for SATA PHY on Hisilicon hix5hd2 Soc.
> +
> +config PHY_HI6220_USB
> + tristate "hi6220 USB PHY support"
> + depends on (ARCH_HISI && ARM64) || COMPILE_TEST
> + select GENERIC_PHY
> + select MFD_SYSCON
> + help
> + Enable this to support the HISILICON HI6220 USB PHY.
> +
> + To compile this driver as a module, choose M here.
> diff --git a/drivers/phy/hisi/Makefile b/drivers/phy/hisi/Makefile
> new file mode 100644
> index 0000000..6059ed8
> --- /dev/null
> +++ b/drivers/phy/hisi/Makefile
> @@ -0,0 +1,2 @@
> +obj-$(CONFIG_PHY_HIX5HD2_SATA) += phy-hix5hd2-sata.o
> +obj-$(CONFIG_PHY_HI6220_USB) += phy-hi6220-usb.o
> diff --git a/drivers/phy/phy-hi6220-usb.c
> b/drivers/phy/hisi/phy-hi6220-usb.c similarity index 100%
> rename from drivers/phy/phy-hi6220-usb.c
> rename to drivers/phy/hisi/phy-hi6220-usb.c
> diff --git a/drivers/phy/phy-hix5hd2-sata.c
> b/drivers/phy/hisi/phy-hix5hd2-sata.c similarity index 100%
> rename from drivers/phy/phy-hix5hd2-sata.c
> rename to drivers/phy/hisi/phy-hix5hd2-sata.c
> diff --git a/drivers/phy/marvell/Kconfig b/drivers/phy/marvell/Kconfig
> new file mode 100644
> index 0000000..6c1576c
> --- /dev/null
> +++ b/drivers/phy/marvell/Kconfig
> @@ -0,0 +1,50 @@
> +#
> +# PHY drivers for Marvell platforms
> +#
> +config ARMADA375_USBCLUSTER_PHY
> + def_bool y
> + depends on MACH_ARMADA_375 || COMPILE_TEST
> + depends on OF && HAS_IOMEM
> + select GENERIC_PHY
> +
> +config PHY_BERLIN_USB
> + tristate "Marvell Berlin USB PHY Driver"
> + depends on ARCH_BERLIN && RESET_CONTROLLER && HAS_IOMEM && OF
> + select GENERIC_PHY
> + help
> + Enable this to support the USB PHY on Marvell Berlin SoCs.
> +
> +config PHY_BERLIN_SATA
> + tristate "Marvell Berlin SATA PHY driver"
> + depends on ARCH_BERLIN && HAS_IOMEM && OF
> + select GENERIC_PHY
> + help
> + Enable this to support the SATA PHY on Marvell Berlin SoCs.
> +
> +config PHY_MVEBU_SATA
> + def_bool y
> + depends on ARCH_DOVE || MACH_DOVE || MACH_KIRKWOOD
> + depends on OF
> + select GENERIC_PHY
> +
> +config PHY_PXA_28NM_HSIC
> + tristate "Marvell USB HSIC 28nm PHY Driver"
> + depends on HAS_IOMEM
> + select GENERIC_PHY
> + help
> + Enable this to support Marvell USB HSIC PHY driver for Marvell
> + SoC. This driver will do the PHY initialization and shutdown.
> + The PHY driver will be used by Marvell ehci driver.
> +
> + To compile this driver as a module, choose M here.
> +
> +config PHY_PXA_28NM_USB2
> + tristate "Marvell USB 2.0 28nm PHY Driver"
> + depends on HAS_IOMEM
> + select GENERIC_PHY
> + help
> + Enable this to support Marvell USB 2.0 PHY driver for Marvell
> + SoC. This driver will do the PHY initialization and shutdown.
> + The PHY driver will be used by Marvell udc/ehci/otg driver.
> +
> + 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 0000000..f4fa255
> --- /dev/null
> +++ b/drivers/phy/marvell/Makefile
> @@ -0,0 +1,6 @@
> +obj-$(CONFIG_ARMADA375_USBCLUSTER_PHY) += phy-armada375-usb2.o
> +obj-$(CONFIG_PHY_BERLIN_USB) += phy-berlin-usb.o
> +obj-$(CONFIG_PHY_BERLIN_SATA) += phy-berlin-sata.o
> +obj-$(CONFIG_PHY_MVEBU_SATA) += phy-mvebu-sata.o
> +obj-$(CONFIG_PHY_PXA_28NM_USB2) += phy-pxa-28nm-usb2.o
> +obj-$(CONFIG_PHY_PXA_28NM_HSIC) += phy-pxa-28nm-hsic.o
> diff --git a/drivers/phy/phy-armada375-usb2.c
> b/drivers/phy/marvell/phy-armada375-usb2.c similarity index 100%
> rename from drivers/phy/phy-armada375-usb2.c
> rename to drivers/phy/marvell/phy-armada375-usb2.c
> diff --git a/drivers/phy/phy-berlin-sata.c
> b/drivers/phy/marvell/phy-berlin-sata.c similarity index 100%
> rename from drivers/phy/phy-berlin-sata.c
> rename to drivers/phy/marvell/phy-berlin-sata.c
> diff --git a/drivers/phy/phy-berlin-usb.c
> b/drivers/phy/marvell/phy-berlin-usb.c similarity index 100%
> rename from drivers/phy/phy-berlin-usb.c
> rename to drivers/phy/marvell/phy-berlin-usb.c
> diff --git a/drivers/phy/phy-mvebu-sata.c
> b/drivers/phy/marvell/phy-mvebu-sata.c similarity index 100%
> rename from drivers/phy/phy-mvebu-sata.c
> rename to 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 similarity index 100%
> rename from drivers/phy/phy-pxa-28nm-hsic.c
> rename to 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 similarity index 100%
> rename from drivers/phy/phy-pxa-28nm-usb2.c
> rename to drivers/phy/marvell/phy-pxa-28nm-usb2.c
> diff --git a/drivers/phy/qcom/Kconfig b/drivers/phy/qcom/Kconfig
> new file mode 100644
> index 0000000..9718d01
> --- /dev/null
> +++ b/drivers/phy/qcom/Kconfig
> @@ -0,0 +1,23 @@
> +#
> +# PHY drivers for Qualcomm platforms
> +#
> +config PHY_QCOM_APQ8064_SATA
> + tristate "Qualcomm APQ8064 SATA SerDes/PHY driver"
> + depends on ARCH_QCOM
> + depends on HAS_IOMEM
> + depends on OF
> + select GENERIC_PHY
> +
> +config PHY_QCOM_IPQ806X_SATA
> + tristate "Qualcomm IPQ806x SATA SerDes/PHY driver"
> + depends on ARCH_QCOM
> + depends on HAS_IOMEM
> + depends on OF
> + select GENERIC_PHY
> +
> +config PHY_QCOM_UFS
> + tristate "Qualcomm UFS PHY driver"
> + depends on OF && ARCH_QCOM
> + select GENERIC_PHY
> + help
> + Support for UFS PHY on QCOM chipsets.
> diff --git a/drivers/phy/qcom/Makefile b/drivers/phy/qcom/Makefile
> new file mode 100644
> index 0000000..2db3e77
> --- /dev/null
> +++ b/drivers/phy/qcom/Makefile
> @@ -0,0 +1,5 @@
> +obj-$(CONFIG_PHY_QCOM_APQ8064_SATA) += phy-qcom-apq8064-sata.o
> +obj-$(CONFIG_PHY_QCOM_IPQ806X_SATA) += phy-qcom-ipq806x-sata.o
> +obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs.o \
> + += phy-qcom-ufs-qmp-20nm.o \
> + += phy-qcom-ufs-qmp-14nm.o
> diff --git a/drivers/phy/phy-qcom-apq8064-sata.c
> b/drivers/phy/qcom/phy-qcom-apq8064-sata.c similarity index 100%
> rename from drivers/phy/phy-qcom-apq8064-sata.c
> rename to drivers/phy/qcom/phy-qcom-apq8064-sata.c
> diff --git a/drivers/phy/phy-qcom-ipq806x-sata.c
> b/drivers/phy/qcom/phy-qcom-ipq806x-sata.c similarity index 100%
> rename from drivers/phy/phy-qcom-ipq806x-sata.c
> rename to drivers/phy/qcom/phy-qcom-ipq806x-sata.c
> diff --git a/drivers/phy/phy-qcom-ufs-i.h
> b/drivers/phy/qcom/phy-qcom-ufs-i.h similarity index 100%
> rename from drivers/phy/phy-qcom-ufs-i.h
> rename to drivers/phy/qcom/phy-qcom-ufs-i.h
> diff --git a/drivers/phy/phy-qcom-ufs-qmp-14nm.c
> b/drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.c similarity index 100%
> rename from drivers/phy/phy-qcom-ufs-qmp-14nm.c
> rename to drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.c
> diff --git a/drivers/phy/phy-qcom-ufs-qmp-14nm.h
> b/drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.h similarity index 100%
> rename from drivers/phy/phy-qcom-ufs-qmp-14nm.h
> rename to drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.h
> diff --git a/drivers/phy/phy-qcom-ufs-qmp-20nm.c
> b/drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.c similarity index 100%
> rename from drivers/phy/phy-qcom-ufs-qmp-20nm.c
> rename to drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.c
> diff --git a/drivers/phy/phy-qcom-ufs-qmp-20nm.h
> b/drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.h similarity index 100%
> rename from drivers/phy/phy-qcom-ufs-qmp-20nm.h
> rename to drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.h
> diff --git a/drivers/phy/phy-qcom-ufs.c b/drivers/phy/qcom/phy-qcom-ufs.c
> similarity index 100%
> rename from drivers/phy/phy-qcom-ufs.c
> rename to drivers/phy/qcom/phy-qcom-ufs.c
> diff --git a/drivers/phy/rcar/Kconfig b/drivers/phy/rcar/Kconfig
> new file mode 100644
> index 0000000..169b5e2
> --- /dev/null
> +++ b/drivers/phy/rcar/Kconfig
> @@ -0,0 +1,16 @@
> +#
> +# PHY drivers for Renesas's r-car platforms
> +#
> +config PHY_RCAR_GEN2
> + tristate "Renesas R-Car generation 2 USB PHY driver"
> + depends on ARCH_SHMOBILE
> + depends on GENERIC_PHY
> + help
> + Support for USB PHY found on Renesas R-Car generation 2 SoCs.
> +
> +config PHY_RCAR_GEN3_USB2
> + tristate "Renesas R-Car generation 3 USB 2.0 PHY driver"
> + depends on OF && ARCH_SHMOBILE
> + select GENERIC_PHY
> + help
> + Support for USB 2.0 PHY found on Renesas R-Car generation 3 SoCs.
> diff --git a/drivers/phy/rcar/Makefile b/drivers/phy/rcar/Makefile
> new file mode 100644
> index 0000000..695241a
> --- /dev/null
> +++ b/drivers/phy/rcar/Makefile
> @@ -0,0 +1,2 @@
> +obj-$(CONFIG_PHY_RCAR_GEN2) += phy-rcar-gen2.o
> +obj-$(CONFIG_PHY_RCAR_GEN3_USB2) += phy-rcar-gen3-usb2.o
> diff --git a/drivers/phy/phy-rcar-gen2.c
> b/drivers/phy/rcar/phy-rcar-gen2.c similarity index 100%
> rename from drivers/phy/phy-rcar-gen2.c
> rename to drivers/phy/rcar/phy-rcar-gen2.c
> diff --git a/drivers/phy/phy-rcar-gen3-usb2.c
> b/drivers/phy/rcar/phy-rcar-gen3-usb2.c similarity index 100%
> rename from drivers/phy/phy-rcar-gen3-usb2.c
> rename to drivers/phy/rcar/phy-rcar-gen3-usb2.c
> diff --git a/drivers/phy/rockchip/Kconfig b/drivers/phy/rockchip/Kconfig
> new file mode 100644
> index 0000000..c575d1e
> --- /dev/null
> +++ b/drivers/phy/rockchip/Kconfig
> @@ -0,0 +1,23 @@
> +#
> +# PHY drivers for Rockchip platforms
> +#
> +config PHY_ROCKCHIP_USB
> + tristate "Rockchip USB2 PHY Driver"
> + depends on ARCH_ROCKCHIP && OF
> + select GENERIC_PHY
> + help
> + Enable this to support the Rockchip USB 2.0 PHY.
> +
> +config PHY_ROCKCHIP_EMMC
> + tristate "Rockchip EMMC PHY Driver"
> + depends on ARCH_ROCKCHIP && OF
> + select GENERIC_PHY
> + help
> + Enable this to support the Rockchip EMMC PHY.
> +
> +config PHY_ROCKCHIP_DP
> + tristate "Rockchip Display Port PHY Driver"
> + depends on ARCH_ROCKCHIP && OF
> + select GENERIC_PHY
> + help
> + Enable this to support the Rockchip Display Port PHY.
> diff --git a/drivers/phy/rockchip/Makefile b/drivers/phy/rockchip/Makefile
> new file mode 100644
> index 0000000..c15acc1
> --- /dev/null
> +++ b/drivers/phy/rockchip/Makefile
> @@ -0,0 +1,3 @@
> +obj-$(CONFIG_PHY_ROCKCHIP_DP) += phy-rockchip-dp.o
> +obj-$(CONFIG_PHY_ROCKCHIP_EMMC) += phy-rockchip-emmc.o
> +obj-$(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 similarity index 100%
> rename from drivers/phy/phy-rockchip-dp.c
> rename to drivers/phy/rockchip/phy-rockchip-dp.c
> diff --git a/drivers/phy/phy-rockchip-emmc.c
> b/drivers/phy/rockchip/phy-rockchip-emmc.c similarity index 100%
> rename from drivers/phy/phy-rockchip-emmc.c
> rename to drivers/phy/rockchip/phy-rockchip-emmc.c
> diff --git a/drivers/phy/phy-rockchip-usb.c
> b/drivers/phy/rockchip/phy-rockchip-usb.c similarity index 100%
> rename from drivers/phy/phy-rockchip-usb.c
> rename to drivers/phy/rockchip/phy-rockchip-usb.c
> diff --git a/drivers/phy/samsung/Kconfig b/drivers/phy/samsung/Kconfig
> new file mode 100644
> index 0000000..80bdea7
> --- /dev/null
> +++ b/drivers/phy/samsung/Kconfig
> @@ -0,0 +1,87 @@
> +#
> +# PHY drivers for Samsung platforms
> +#
> +config PHY_SAMSUNG_USB2
> + tristate "Samsung USB 2.0 PHY driver"
> + depends on HAS_IOMEM
> + depends on USB_EHCI_EXYNOS || USB_OHCI_EXYNOS || USB_DWC2
> + select GENERIC_PHY
> + select MFD_SYSCON
> + default ARCH_EXYNOS
> + help
> + Enable this to support the Samsung USB 2.0 PHY driver for Samsung
> + SoCs. This driver provides the interface for USB 2.0 PHY. Support
> + for particular PHYs will be enabled based on the SoC type in addition
> + to this driver.
> +
> +config PHY_S5PV210_USB2
> + bool "Support for S5PV210"
> + depends on PHY_SAMSUNG_USB2
> + depends on ARCH_S5PV210
> + help
> + Enable USB PHY support for S5PV210. This option requires that Samsung
> + USB 2.0 PHY driver is enabled and means that support for this
> + particular SoC is compiled in the driver. In case of S5PV210 two phys
> + are available - device and host.
> +
> +config PHY_EXYNOS4210_USB2
> + bool
> + depends on PHY_SAMSUNG_USB2
> + default CPU_EXYNOS4210
> +
> +config PHY_EXYNOS4X12_USB2
> + bool
> + depends on PHY_SAMSUNG_USB2
> + default SOC_EXYNOS3250 || SOC_EXYNOS4212 || SOC_EXYNOS4412
> +
> +config PHY_EXYNOS5250_USB2
> + bool
> + depends on PHY_SAMSUNG_USB2
> + default SOC_EXYNOS5250 || SOC_EXYNOS5420
> +
> +config PHY_EXYNOS5_USBDRD
> + tristate "Exynos5 SoC series USB DRD PHY driver"
> + depends on ARCH_EXYNOS && OF
> + depends on HAS_IOMEM
> + depends on USB_DWC3_EXYNOS
> + select GENERIC_PHY
> + select MFD_SYSCON
> + default y
> + help
> + Enable USB DRD PHY support for Exynos 5 SoC series.
> + This driver provides PHY interface for USB 3.0 DRD controller
> + present on Exynos5 SoC series.
> +
> +config PHY_EXYNOS_DP_VIDEO
> + tristate "EXYNOS SoC series Display Port PHY driver"
> + depends on OF
> + depends on ARCH_EXYNOS || COMPILE_TEST
> + default ARCH_EXYNOS
> + select GENERIC_PHY
> + help
> + Support for Display Port PHY found on Samsung EXYNOS SoCs.
> +
> +config PHY_EXYNOS_MIPI_VIDEO
> + tristate "S5P/EXYNOS SoC series MIPI CSI-2/DSI PHY driver"
> + depends on HAS_IOMEM
> + depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
> + select GENERIC_PHY
> + default y if ARCH_S5PV210 || ARCH_EXYNOS
> + help
> + Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P
> + and EXYNOS SoCs.
> +
> +config PHY_EXYNOS5250_SATA
> + tristate "Exynos5250 Sata SerDes/PHY driver"
> + depends on SOC_EXYNOS5250
> + depends on HAS_IOMEM
> + depends on OF
> + select GENERIC_PHY
> + select I2C
> + select I2C_S3C2410
> + select MFD_SYSCON
> + help
> + Enable this to support SATA SerDes/Phy found on Samsung's
> + Exynos5250 based SoCs.This SerDes/Phy supports SATA 1.5 Gb/s,
> + SATA 3.0 Gb/s, SATA 6.0 Gb/s speeds. It supports one SATA host
> + port to accept one SATA device.
> diff --git a/drivers/phy/samsung/Makefile b/drivers/phy/samsung/Makefile
> new file mode 100644
> index 0000000..585dbd7
> --- /dev/null
> +++ b/drivers/phy/samsung/Makefile
> @@ -0,0 +1,10 @@
> +obj-$(CONFIG_PHY_SAMSUNG_USB2) += phy-exynos-usb2.o
> +phy-exynos-usb2-y += phy-samsung-usb2.o
> +phy-exynos-usb2-$(CONFIG_PHY_S5PV210_USB2) += phy-s5pv210-usb2.o
> +phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4210_USB2) += phy-exynos4210-usb2.o
> +phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4X12_USB2) += phy-exynos4x12-usb2.o
> +phy-exynos-usb2-$(CONFIG_PHY_EXYNOS5250_USB2) += phy-exynos5250-usb2.o
> +obj-$(CONFIG_PHY_EXYNOS5_USBDRD) += phy-exynos5-usbdrd.o
> +obj-$(CONFIG_PHY_EXYNOS_DP_VIDEO) += phy-exynos-dp-video.o
> +obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO) += phy-exynos-mipi-video.o
> +obj-$(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 similarity index 100%
> rename from drivers/phy/phy-exynos-dp-video.c
> rename to 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 similarity index 100%
> rename from drivers/phy/phy-exynos-mipi-video.c
> rename to drivers/phy/samsung/phy-exynos-mipi-video.c
> diff --git a/drivers/phy/phy-exynos4210-usb2.c
> b/drivers/phy/samsung/phy-exynos4210-usb2.c similarity index 100%
> rename from drivers/phy/phy-exynos4210-usb2.c
> rename to drivers/phy/samsung/phy-exynos4210-usb2.c
> diff --git a/drivers/phy/phy-exynos4x12-usb2.c
> b/drivers/phy/samsung/phy-exynos4x12-usb2.c similarity index 100%
> rename from drivers/phy/phy-exynos4x12-usb2.c
> rename to drivers/phy/samsung/phy-exynos4x12-usb2.c
> diff --git a/drivers/phy/phy-exynos5-usbdrd.c
> b/drivers/phy/samsung/phy-exynos5-usbdrd.c similarity index 100%
> rename from drivers/phy/phy-exynos5-usbdrd.c
> rename to drivers/phy/samsung/phy-exynos5-usbdrd.c
> diff --git a/drivers/phy/phy-exynos5250-sata.c
> b/drivers/phy/samsung/phy-exynos5250-sata.c similarity index 100%
> rename from drivers/phy/phy-exynos5250-sata.c
> rename to drivers/phy/samsung/phy-exynos5250-sata.c
> diff --git a/drivers/phy/phy-exynos5250-usb2.c
> b/drivers/phy/samsung/phy-exynos5250-usb2.c similarity index 100%
> rename from drivers/phy/phy-exynos5250-usb2.c
> rename to drivers/phy/samsung/phy-exynos5250-usb2.c
> diff --git a/drivers/phy/phy-s5pv210-usb2.c
> b/drivers/phy/samsung/phy-s5pv210-usb2.c similarity index 100%
> rename from drivers/phy/phy-s5pv210-usb2.c
> rename to drivers/phy/samsung/phy-s5pv210-usb2.c
> diff --git a/drivers/phy/phy-samsung-usb2.c
> b/drivers/phy/samsung/phy-samsung-usb2.c similarity index 100%
> rename from drivers/phy/phy-samsung-usb2.c
> rename to drivers/phy/samsung/phy-samsung-usb2.c
> diff --git a/drivers/phy/phy-samsung-usb2.h
> b/drivers/phy/samsung/phy-samsung-usb2.h similarity index 100%
> rename from drivers/phy/phy-samsung-usb2.h
> rename to drivers/phy/samsung/phy-samsung-usb2.h
> diff --git a/drivers/phy/st/Kconfig b/drivers/phy/st/Kconfig
> new file mode 100644
> index 0000000..651b2bf
> --- /dev/null
> +++ b/drivers/phy/st/Kconfig
> @@ -0,0 +1,51 @@
> +#
> +# PHY drivers for ST Micro platforms
> +#
> +config PHY_MIPHY28LP
> + tristate "STMicroelectronics MIPHY28LP PHY driver for STiH407"
> + depends on ARCH_STI
> + select GENERIC_PHY
> + help
> + Enable this to support the miphy transceiver (for SATA/PCIE/USB3)
> + that is part of STMicroelectronics STiH407 SoC.
> +
> +config PHY_MIPHY365X
> + tristate "STMicroelectronics MIPHY365X PHY driver for STiH41x series"
> + depends on ARCH_STI
> + depends on HAS_IOMEM
> + depends on OF
> + select GENERIC_PHY
> + help
> + Enable this to support the miphy transceiver (for SATA/PCIE)
> + that is part of STMicroelectronics STiH41x SoC series.
> +
> +config PHY_ST_SPEAR1310_MIPHY
> + tristate "ST SPEAR1310-MIPHY driver"
> + select GENERIC_PHY
> + depends on MACH_SPEAR1310 || COMPILE_TEST
> + help
> + Support for ST SPEAr1310 MIPHY which can be used for PCIe and SATA.
> +
> +config PHY_ST_SPEAR1340_MIPHY
> + tristate "ST SPEAR1340-MIPHY driver"
> + select GENERIC_PHY
> + depends on MACH_SPEAR1340 || COMPILE_TEST
> + help
> + Support for ST SPEAr1340 MIPHY which can be used for PCIe and SATA.
> +
> +config PHY_STIH407_USB
> + tristate "STMicroelectronics USB2 picoPHY driver for STiH407 family"
> + depends on RESET_CONTROLLER
> + depends on ARCH_STI || COMPILE_TEST
> + select GENERIC_PHY
> + help
> + Enable this support to enable the picoPHY device used by USB2
> + and USB3 controllers on STMicroelectronics STiH407 SoC families.
> +
> +config PHY_STIH41X_USB
> + tristate "STMicroelectronics USB2 PHY driver for STiH41x series"
> + depends on ARCH_STI
> + select GENERIC_PHY
> + help
> + Enable this to support the USB transceiver that is part of
> + STMicroelectronics STiH41x SoC series.
> diff --git a/drivers/phy/st/Makefile b/drivers/phy/st/Makefile
> new file mode 100644
> index 0000000..907561b
> --- /dev/null
> +++ b/drivers/phy/st/Makefile
> @@ -0,0 +1,6 @@
> +obj-$(CONFIG_PHY_MIPHY28LP) += phy-miphy28lp.o
> +obj-$(CONFIG_PHY_MIPHY365X) += phy-miphy365x.o
> +obj-$(CONFIG_PHY_ST_SPEAR1310_MIPHY) += phy-spear1310-miphy.o
> +obj-$(CONFIG_PHY_ST_SPEAR1340_MIPHY) += phy-spear1340-miphy.o
> +obj-$(CONFIG_PHY_STIH407_USB) += phy-stih407-usb.o
> +obj-$(CONFIG_PHY_STIH41X_USB) += phy-stih41x-usb.o
> diff --git a/drivers/phy/phy-miphy28lp.c b/drivers/phy/st/phy-miphy28lp.c
> similarity index 100%
> rename from drivers/phy/phy-miphy28lp.c
> rename to drivers/phy/st/phy-miphy28lp.c
> diff --git a/drivers/phy/phy-miphy365x.c b/drivers/phy/st/phy-miphy365x.c
> similarity index 100%
> rename from drivers/phy/phy-miphy365x.c
> rename to drivers/phy/st/phy-miphy365x.c
> diff --git a/drivers/phy/phy-spear1310-miphy.c
> b/drivers/phy/st/phy-spear1310-miphy.c similarity index 100%
> rename from drivers/phy/phy-spear1310-miphy.c
> rename to drivers/phy/st/phy-spear1310-miphy.c
> diff --git a/drivers/phy/phy-spear1340-miphy.c
> b/drivers/phy/st/phy-spear1340-miphy.c similarity index 100%
> rename from drivers/phy/phy-spear1340-miphy.c
> rename to drivers/phy/st/phy-spear1340-miphy.c
> diff --git a/drivers/phy/phy-stih407-usb.c
> b/drivers/phy/st/phy-stih407-usb.c similarity index 100%
> rename from drivers/phy/phy-stih407-usb.c
> rename to drivers/phy/st/phy-stih407-usb.c
> diff --git a/drivers/phy/phy-stih41x-usb.c
> b/drivers/phy/st/phy-stih41x-usb.c similarity index 100%
> rename from drivers/phy/phy-stih41x-usb.c
> rename to drivers/phy/st/phy-stih41x-usb.c
> diff --git a/drivers/phy/sunxi/Kconfig b/drivers/phy/sunxi/Kconfig
> new file mode 100644
> index 0000000..eb06427
> --- /dev/null
> +++ b/drivers/phy/sunxi/Kconfig
> @@ -0,0 +1,28 @@
> +#
> +# PHY drivers for Allwinner's sunxi platforms
> +#
> +config PHY_SUN4I_USB
> + tristate "Allwinner sunxi SoC USB PHY driver"
> + depends on ARCH_SUNXI && HAS_IOMEM && OF
> + depends on RESET_CONTROLLER
> + depends on EXTCON
> + depends on POWER_SUPPLY
> + select GENERIC_PHY
> + help
> + Enable this to support the transceiver that is part of Allwinner
> + sunxi SoCs.
> +
> + This driver controls the entire USB PHY block, both the USB OTG
> + parts, as well as the 2 regular USB 2 host PHYs.
> +
> +config PHY_SUN9I_USB
> + tristate "Allwinner sun9i SoC USB PHY driver"
> + depends on ARCH_SUNXI && HAS_IOMEM && OF
> + depends on RESET_CONTROLLER
> + depends on USB_COMMON
> + select GENERIC_PHY
> + help
> + Enable this to support the transceiver that is part of Allwinner
> + sun9i SoCs.
> +
> + This driver controls each individual USB 2 host PHY.
> diff --git a/drivers/phy/sunxi/Makefile b/drivers/phy/sunxi/Makefile
> new file mode 100644
> index 0000000..8605529c
> --- /dev/null
> +++ b/drivers/phy/sunxi/Makefile
> @@ -0,0 +1,2 @@
> +obj-$(CONFIG_PHY_SUN4I_USB) += phy-sun4i-usb.o
> +obj-$(CONFIG_PHY_SUN9I_USB) += phy-sun9i-usb.o
> diff --git a/drivers/phy/phy-sun4i-usb.c
> b/drivers/phy/sunxi/phy-sun4i-usb.c similarity index 100%
> rename from drivers/phy/phy-sun4i-usb.c
> rename to drivers/phy/sunxi/phy-sun4i-usb.c
> diff --git a/drivers/phy/phy-sun9i-usb.c
> b/drivers/phy/sunxi/phy-sun9i-usb.c similarity index 100%
> rename from drivers/phy/phy-sun9i-usb.c
> rename to drivers/phy/sunxi/phy-sun9i-usb.c
> diff --git a/drivers/phy/ti/Kconfig b/drivers/phy/ti/Kconfig
> new file mode 100644
> index 0000000..1e3e307
> --- /dev/null
> +++ b/drivers/phy/ti/Kconfig
> @@ -0,0 +1,67 @@
> +#
> +# PHY drivers for TI platforms
> +#
> +config PHY_DM816X_USB
> + tristate "TI dm816x USB PHY driver"
> + depends on ARCH_OMAP2PLUS
> + depends on USB_SUPPORT
> + select GENERIC_PHY
> + select USB_PHY
> + help
> + Enable this for dm816x USB to work.
> +
> +config OMAP_CONTROL_PHY
> + tristate "OMAP CONTROL PHY Driver"
> + depends on ARCH_OMAP2PLUS || COMPILE_TEST
> + help
> + Enable this to add support for the PHY part present in the control
> + module. This driver has API to power on the USB2 PHY and to write to
> + the mailbox. The mailbox is present only in omap4 and the register to
> + power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an
> + additional register to power on USB3 PHY/SATA PHY/PCIE PHY
> + (PIPE3 PHY).
> +
> +config OMAP_USB2
> + tristate "OMAP USB2 PHY Driver"
> + depends on ARCH_OMAP2PLUS
> + depends on USB_SUPPORT
> + select GENERIC_PHY
> + select USB_PHY
> + select OMAP_CONTROL_PHY
> + depends on OMAP_OCP2SCP
> + help
> + Enable this to support the transceiver that is part of SOC. This
> + driver takes care of all the PHY functionality apart from comparator.
> + The USB OTG controller communicates with the comparator using this
> + driver.
> +
> +config TI_PIPE3
> + tristate "TI PIPE3 PHY Driver"
> + depends on ARCH_OMAP2PLUS || COMPILE_TEST
> + select GENERIC_PHY
> + select OMAP_CONTROL_PHY
> + depends on OMAP_OCP2SCP
> + help
> + Enable this to support the PIPE3 PHY that is part of TI SOCs. This
> + driver takes care of all the PHY functionality apart from comparator.
> + This driver interacts with the "OMAP Control PHY Driver" to power
> + on/off the PHY.
> +
> +config PHY_TUSB1210
> + tristate "TI TUSB1210 ULPI PHY module"
> + depends on USB_ULPI_BUS
> + select GENERIC_PHY
> + help
> + Support for TI TUSB1210 USB ULPI PHY.
> +
> +config TWL4030_USB
> + tristate "TWL4030 USB Transceiver Driver"
> + depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
> + depends on USB_SUPPORT
> + select GENERIC_PHY
> + select USB_PHY
> + help
> + Enable this to support the USB OTG transceiver on TWL4030
> + family chips (including the TWL5030 and TPS659x0 devices).
> + This transceiver supports high and full speed devices plus,
> + in host mode, low speed.
> diff --git a/drivers/phy/ti/Makefile b/drivers/phy/ti/Makefile
> new file mode 100644
> index 0000000..2d16f77
> --- /dev/null
> +++ b/drivers/phy/ti/Makefile
> @@ -0,0 +1,6 @@
> +obj-$(CONFIG_PHY_DM816X_USB) += phy-dm816x-usb.o
> +obj-$(CONFIG_OMAP_CONTROL_PHY) += phy-omap-control.o
> +obj-$(CONFIG_OMAP_USB2) += phy-omap-usb2.o
> +obj-$(CONFIG_TI_PIPE3) += phy-ti-pipe3.o
> +obj-$(CONFIG_PHY_TUSB1210) += phy-tusb1210.o
> +obj-$(CONFIG_TWL4030_USB) += phy-twl4030-usb.o
> diff --git a/drivers/phy/phy-dm816x-usb.c
> b/drivers/phy/ti/phy-dm816x-usb.c similarity index 100%
> rename from drivers/phy/phy-dm816x-usb.c
> rename to drivers/phy/ti/phy-dm816x-usb.c
> diff --git a/drivers/phy/phy-omap-control.c
> b/drivers/phy/ti/phy-omap-control.c similarity index 100%
> rename from drivers/phy/phy-omap-control.c
> rename to drivers/phy/ti/phy-omap-control.c
> diff --git a/drivers/phy/phy-omap-usb2.c b/drivers/phy/ti/phy-omap-usb2.c
> similarity index 100%
> rename from drivers/phy/phy-omap-usb2.c
> rename to drivers/phy/ti/phy-omap-usb2.c
> diff --git a/drivers/phy/phy-ti-pipe3.c b/drivers/phy/ti/phy-ti-pipe3.c
> similarity index 100%
> rename from drivers/phy/phy-ti-pipe3.c
> rename to drivers/phy/ti/phy-ti-pipe3.c
> diff --git a/drivers/phy/phy-tusb1210.c b/drivers/phy/ti/phy-tusb1210.c
> similarity index 100%
> rename from drivers/phy/phy-tusb1210.c
> rename to drivers/phy/ti/phy-tusb1210.c
> diff --git a/drivers/phy/phy-twl4030-usb.c
> b/drivers/phy/ti/phy-twl4030-usb.c similarity index 100%
> rename from drivers/phy/phy-twl4030-usb.c
> rename to drivers/phy/ti/phy-twl4030-usb.c
> diff --git a/drivers/phy/ulpi_phy.h b/drivers/phy/ti/ulpi_phy.h
> similarity index 100%
> rename from drivers/phy/ulpi_phy.h
> rename to drivers/phy/ti/ulpi_phy.h
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-01 15:16 ` Heiko Stuebner
0 siblings, 0 replies; 40+ messages in thread
From: Heiko Stuebner @ 2016-04-01 15:16 UTC (permalink / raw)
To: Vivek Gautam
Cc: vireshk-DgEjT+Ai2ygdnm+yROfE0A,
shiraz.linux.kernel-Re5JQEeQqe8AvxtiuMwx3w, kishon-l0cyMroinI0,
maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8, wens-jdAy2FN1RRM,
linux-lFZ/pmaqli7XmaaqVzeoHQ,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
spear-devel-nkJGhpqTU55BDgjK7y7TUQ,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-usb-u79uwXL29TY76Z2rM5mHXA,
linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA,
linux-omap-u79uwXL29TY76Z2rM5mHXA, cpgs-Sze3O3UU22JBDgjK7y7TUQ
Am Freitag, 1. April 2016, 16:59:15 schrieb Vivek Gautam:
> Adding vendor specific directories in phy to group
> phy drivers under their respective vendor umbrella.
>
> Signed-off-by: Vivek Gautam <gautam.vivek-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
I don't have a preference about the phy-locations either way, so for
Rockchip phys
Acked-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>
> ---
>
> With growing number of phy drivers, it makes sense to
> group these drivers under their respective vendor/platform
> umbrella directory.
>
> Build-tested 'multi_v7_defconfig'.
>
> drivers/phy/Kconfig | 386
> +--------------------- drivers/phy/Makefile
> | 57 +---
> drivers/phy/bcom/Kconfig | 27 ++
> drivers/phy/bcom/Makefile | 3 +
> drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c | 0
> drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c | 0
> drivers/phy/{ => bcom}/phy-brcmstb-sata.c | 0
> drivers/phy/hisi/Kconfig | 20 ++
> drivers/phy/hisi/Makefile | 2 +
> drivers/phy/{ => hisi}/phy-hi6220-usb.c | 0
> drivers/phy/{ => hisi}/phy-hix5hd2-sata.c | 0
> drivers/phy/marvell/Kconfig | 50 +++
> drivers/phy/marvell/Makefile | 6 +
> drivers/phy/{ => marvell}/phy-armada375-usb2.c | 0
> drivers/phy/{ => marvell}/phy-berlin-sata.c | 0
> drivers/phy/{ => marvell}/phy-berlin-usb.c | 0
> drivers/phy/{ => marvell}/phy-mvebu-sata.c | 0
> drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c | 0
> drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c | 0
> drivers/phy/qcom/Kconfig | 23 ++
> drivers/phy/qcom/Makefile | 5 +
> drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-i.h | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs.c | 0
> drivers/phy/rcar/Kconfig | 16 +
> drivers/phy/rcar/Makefile | 2 +
> drivers/phy/{ => rcar}/phy-rcar-gen2.c | 0
> drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c | 0
> drivers/phy/rockchip/Kconfig | 23 ++
> drivers/phy/rockchip/Makefile | 3 +
> drivers/phy/{ => rockchip}/phy-rockchip-dp.c | 0
> drivers/phy/{ => rockchip}/phy-rockchip-emmc.c | 0
> drivers/phy/{ => rockchip}/phy-rockchip-usb.c | 0
> drivers/phy/samsung/Kconfig | 87 +++++
> drivers/phy/samsung/Makefile | 10 +
> drivers/phy/{ => samsung}/phy-exynos-dp-video.c | 0
> drivers/phy/{ => samsung}/phy-exynos-mipi-video.c | 0
> drivers/phy/{ => samsung}/phy-exynos4210-usb2.c | 0
> drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c | 0
> drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c | 0
> drivers/phy/{ => samsung}/phy-exynos5250-sata.c | 0
> drivers/phy/{ => samsung}/phy-exynos5250-usb2.c | 0
> drivers/phy/{ => samsung}/phy-s5pv210-usb2.c | 0
> drivers/phy/{ => samsung}/phy-samsung-usb2.c | 0
> drivers/phy/{ => samsung}/phy-samsung-usb2.h | 0
> drivers/phy/st/Kconfig | 51 +++
> drivers/phy/st/Makefile | 6 +
> drivers/phy/{ => st}/phy-miphy28lp.c | 0
> drivers/phy/{ => st}/phy-miphy365x.c | 0
> drivers/phy/{ => st}/phy-spear1310-miphy.c | 0
> drivers/phy/{ => st}/phy-spear1340-miphy.c | 0
> drivers/phy/{ => st}/phy-stih407-usb.c | 0
> drivers/phy/{ => st}/phy-stih41x-usb.c | 0
> drivers/phy/sunxi/Kconfig | 28 ++
> drivers/phy/sunxi/Makefile | 2 +
> drivers/phy/{ => sunxi}/phy-sun4i-usb.c | 0
> drivers/phy/{ => sunxi}/phy-sun9i-usb.c | 0
> drivers/phy/ti/Kconfig | 67 ++++
> drivers/phy/ti/Makefile | 6 +
> drivers/phy/{ => ti}/phy-dm816x-usb.c | 0
> drivers/phy/{ => ti}/phy-omap-control.c | 0
> drivers/phy/{ => ti}/phy-omap-usb2.c | 0
> drivers/phy/{ => ti}/phy-ti-pipe3.c | 0
> drivers/phy/{ => ti}/phy-tusb1210.c | 0
> drivers/phy/{ => ti}/phy-twl4030-usb.c | 0
> drivers/phy/{ => ti}/ulpi_phy.h | 0
> 71 files changed, 464 insertions(+), 416 deletions(-)
> create mode 100644 drivers/phy/bcom/Kconfig
> create mode 100644 drivers/phy/bcom/Makefile
> rename drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c (100%)
> rename drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c (100%)
> rename drivers/phy/{ => bcom}/phy-brcmstb-sata.c (100%)
> create mode 100644 drivers/phy/hisi/Kconfig
> create mode 100644 drivers/phy/hisi/Makefile
> rename drivers/phy/{ => hisi}/phy-hi6220-usb.c (100%)
> rename drivers/phy/{ => hisi}/phy-hix5hd2-sata.c (100%)
> create mode 100644 drivers/phy/marvell/Kconfig
> create mode 100644 drivers/phy/marvell/Makefile
> rename drivers/phy/{ => marvell}/phy-armada375-usb2.c (100%)
> rename drivers/phy/{ => marvell}/phy-berlin-sata.c (100%)
> rename drivers/phy/{ => marvell}/phy-berlin-usb.c (100%)
> rename drivers/phy/{ => marvell}/phy-mvebu-sata.c (100%)
> rename drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c (100%)
> rename drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c (100%)
> create mode 100644 drivers/phy/qcom/Kconfig
> create mode 100644 drivers/phy/qcom/Makefile
> rename drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-i.h (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs.c (100%)
> create mode 100644 drivers/phy/rcar/Kconfig
> create mode 100644 drivers/phy/rcar/Makefile
> rename drivers/phy/{ => rcar}/phy-rcar-gen2.c (100%)
> rename drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c (100%)
> create mode 100644 drivers/phy/rockchip/Kconfig
> create mode 100644 drivers/phy/rockchip/Makefile
> rename drivers/phy/{ => rockchip}/phy-rockchip-dp.c (100%)
> rename drivers/phy/{ => rockchip}/phy-rockchip-emmc.c (100%)
> rename drivers/phy/{ => rockchip}/phy-rockchip-usb.c (100%)
> create mode 100644 drivers/phy/samsung/Kconfig
> create mode 100644 drivers/phy/samsung/Makefile
> rename drivers/phy/{ => samsung}/phy-exynos-dp-video.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos-mipi-video.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos4210-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos5250-sata.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos5250-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-s5pv210-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-samsung-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-samsung-usb2.h (100%)
> create mode 100644 drivers/phy/st/Kconfig
> create mode 100644 drivers/phy/st/Makefile
> rename drivers/phy/{ => st}/phy-miphy28lp.c (100%)
> rename drivers/phy/{ => st}/phy-miphy365x.c (100%)
> rename drivers/phy/{ => st}/phy-spear1310-miphy.c (100%)
> rename drivers/phy/{ => st}/phy-spear1340-miphy.c (100%)
> rename drivers/phy/{ => st}/phy-stih407-usb.c (100%)
> rename drivers/phy/{ => st}/phy-stih41x-usb.c (100%)
> create mode 100644 drivers/phy/sunxi/Kconfig
> create mode 100644 drivers/phy/sunxi/Makefile
> rename drivers/phy/{ => sunxi}/phy-sun4i-usb.c (100%)
> rename drivers/phy/{ => sunxi}/phy-sun9i-usb.c (100%)
> create mode 100644 drivers/phy/ti/Kconfig
> create mode 100644 drivers/phy/ti/Makefile
> rename drivers/phy/{ => ti}/phy-dm816x-usb.c (100%)
> rename drivers/phy/{ => ti}/phy-omap-control.c (100%)
> rename drivers/phy/{ => ti}/phy-omap-usb2.c (100%)
> rename drivers/phy/{ => ti}/phy-ti-pipe3.c (100%)
> rename drivers/phy/{ => ti}/phy-tusb1210.c (100%)
> rename drivers/phy/{ => ti}/phy-twl4030-usb.c (100%)
> rename drivers/phy/{ => ti}/ulpi_phy.h (100%)
>
> diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
> index 26566db..80c8c68 100644
> --- a/drivers/phy/Kconfig
> +++ b/drivers/phy/Kconfig
> @@ -15,45 +15,6 @@ config GENERIC_PHY
> phy users can obtain reference to the PHY. All the users of this
> framework should select this config.
>
> -config PHY_BERLIN_USB
> - tristate "Marvell Berlin USB PHY Driver"
> - depends on ARCH_BERLIN && RESET_CONTROLLER && HAS_IOMEM && OF
> - select GENERIC_PHY
> - help
> - Enable this to support the USB PHY on Marvell Berlin SoCs.
> -
> -config PHY_BERLIN_SATA
> - tristate "Marvell Berlin SATA PHY driver"
> - depends on ARCH_BERLIN && HAS_IOMEM && OF
> - select GENERIC_PHY
> - help
> - Enable this to support the SATA PHY on Marvell Berlin SoCs.
> -
> -config ARMADA375_USBCLUSTER_PHY
> - def_bool y
> - depends on MACH_ARMADA_375 || COMPILE_TEST
> - depends on OF && HAS_IOMEM
> - select GENERIC_PHY
> -
> -config PHY_DM816X_USB
> - tristate "TI dm816x USB PHY driver"
> - depends on ARCH_OMAP2PLUS
> - depends on USB_SUPPORT
> - select GENERIC_PHY
> - select USB_PHY
> - help
> - Enable this for dm816x USB to work.
> -
> -config PHY_EXYNOS_MIPI_VIDEO
> - tristate "S5P/EXYNOS SoC series MIPI CSI-2/DSI PHY driver"
> - depends on HAS_IOMEM
> - depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
> - select GENERIC_PHY
> - default y if ARCH_S5PV210 || ARCH_EXYNOS
> - help
> - Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P
> - and EXYNOS SoCs.
> -
> config PHY_LPC18XX_USB_OTG
> tristate "NXP LPC18xx/43xx SoC USB OTG PHY driver"
> depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
> @@ -65,154 +26,6 @@ config PHY_LPC18XX_USB_OTG
> This driver is need for USB0 support on LPC18xx/43xx and takes
> care of enabling and clock setup.
>
> -config PHY_PXA_28NM_HSIC
> - tristate "Marvell USB HSIC 28nm PHY Driver"
> - depends on HAS_IOMEM
> - select GENERIC_PHY
> - help
> - Enable this to support Marvell USB HSIC PHY driver for Marvell
> - SoC. This driver will do the PHY initialization and shutdown.
> - The PHY driver will be used by Marvell ehci driver.
> -
> - To compile this driver as a module, choose M here.
> -
> -config PHY_PXA_28NM_USB2
> - tristate "Marvell USB 2.0 28nm PHY Driver"
> - depends on HAS_IOMEM
> - select GENERIC_PHY
> - help
> - Enable this to support Marvell USB 2.0 PHY driver for Marvell
> - SoC. This driver will do the PHY initialization and shutdown.
> - The PHY driver will be used by Marvell udc/ehci/otg driver.
> -
> - To compile this driver as a module, choose M here.
> -
> -config PHY_MVEBU_SATA
> - def_bool y
> - depends on ARCH_DOVE || MACH_DOVE || MACH_KIRKWOOD
> - depends on OF
> - select GENERIC_PHY
> -
> -config PHY_MIPHY28LP
> - tristate "STMicroelectronics MIPHY28LP PHY driver for STiH407"
> - depends on ARCH_STI
> - select GENERIC_PHY
> - help
> - Enable this to support the miphy transceiver (for SATA/PCIE/USB3)
> - that is part of STMicroelectronics STiH407 SoC.
> -
> -config PHY_MIPHY365X
> - tristate "STMicroelectronics MIPHY365X PHY driver for STiH41x series"
> - depends on ARCH_STI
> - depends on HAS_IOMEM
> - depends on OF
> - select GENERIC_PHY
> - help
> - Enable this to support the miphy transceiver (for SATA/PCIE)
> - that is part of STMicroelectronics STiH41x SoC series.
> -
> -config PHY_RCAR_GEN2
> - tristate "Renesas R-Car generation 2 USB PHY driver"
> - depends on ARCH_SHMOBILE
> - depends on GENERIC_PHY
> - help
> - Support for USB PHY found on Renesas R-Car generation 2 SoCs.
> -
> -config PHY_RCAR_GEN3_USB2
> - tristate "Renesas R-Car generation 3 USB 2.0 PHY driver"
> - depends on OF && ARCH_SHMOBILE
> - select GENERIC_PHY
> - help
> - Support for USB 2.0 PHY found on Renesas R-Car generation 3 SoCs.
> -
> -config OMAP_CONTROL_PHY
> - tristate "OMAP CONTROL PHY Driver"
> - depends on ARCH_OMAP2PLUS || COMPILE_TEST
> - help
> - Enable this to add support for the PHY part present in the control
> - module. This driver has API to power on the USB2 PHY and to write to
> - the mailbox. The mailbox is present only in omap4 and the register to
> - power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an
> - additional register to power on USB3 PHY/SATA PHY/PCIE PHY
> - (PIPE3 PHY).
> -
> -config OMAP_USB2
> - tristate "OMAP USB2 PHY Driver"
> - depends on ARCH_OMAP2PLUS
> - depends on USB_SUPPORT
> - select GENERIC_PHY
> - select USB_PHY
> - select OMAP_CONTROL_PHY
> - depends on OMAP_OCP2SCP
> - help
> - Enable this to support the transceiver that is part of SOC. This
> - driver takes care of all the PHY functionality apart from comparator.
> - The USB OTG controller communicates with the comparator using this
> - driver.
> -
> -config TI_PIPE3
> - tristate "TI PIPE3 PHY Driver"
> - depends on ARCH_OMAP2PLUS || COMPILE_TEST
> - select GENERIC_PHY
> - select OMAP_CONTROL_PHY
> - depends on OMAP_OCP2SCP
> - help
> - Enable this to support the PIPE3 PHY that is part of TI SOCs. This
> - driver takes care of all the PHY functionality apart from comparator.
> - This driver interacts with the "OMAP Control PHY Driver" to power
> - on/off the PHY.
> -
> -config TWL4030_USB
> - tristate "TWL4030 USB Transceiver Driver"
> - depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
> - depends on USB_SUPPORT
> - select GENERIC_PHY
> - select USB_PHY
> - help
> - Enable this to support the USB OTG transceiver on TWL4030
> - family chips (including the TWL5030 and TPS659x0 devices).
> - This transceiver supports high and full speed devices plus,
> - in host mode, low speed.
> -
> -config PHY_EXYNOS_DP_VIDEO
> - tristate "EXYNOS SoC series Display Port PHY driver"
> - depends on OF
> - depends on ARCH_EXYNOS || COMPILE_TEST
> - default ARCH_EXYNOS
> - select GENERIC_PHY
> - help
> - Support for Display Port PHY found on Samsung EXYNOS SoCs.
> -
> -config BCM_KONA_USB2_PHY
> - tristate "Broadcom Kona USB2 PHY Driver"
> - depends on HAS_IOMEM
> - select GENERIC_PHY
> - help
> - Enable this to support the Broadcom Kona USB 2.0 PHY.
> -
> -config PHY_EXYNOS5250_SATA
> - tristate "Exynos5250 Sata SerDes/PHY driver"
> - depends on SOC_EXYNOS5250
> - depends on HAS_IOMEM
> - depends on OF
> - select GENERIC_PHY
> - select I2C
> - select I2C_S3C2410
> - select MFD_SYSCON
> - help
> - Enable this to support SATA SerDes/Phy found on Samsung's
> - Exynos5250 based SoCs.This SerDes/Phy supports SATA 1.5 Gb/s,
> - SATA 3.0 Gb/s, SATA 6.0 Gb/s speeds. It supports one SATA host
> - port to accept one SATA device.
> -
> -config PHY_HIX5HD2_SATA
> - tristate "HIX5HD2 SATA PHY Driver"
> - depends on ARCH_HIX5HD2 && OF && HAS_IOMEM
> - select GENERIC_PHY
> - select MFD_SYSCON
> - help
> - Support for SATA PHY on Hisilicon hix5hd2 Soc.
> -
> config PHY_MT65XX_USB3
> tristate "Mediatek USB3.0 PHY Driver"
> depends on ARCH_MEDIATEK && OF
> @@ -222,93 +35,6 @@ config PHY_MT65XX_USB3
> for mt65xx SoCs. it supports two usb2.0 ports and
> one usb3.0 port.
>
> -config PHY_HI6220_USB
> - tristate "hi6220 USB PHY support"
> - depends on (ARCH_HISI && ARM64) || COMPILE_TEST
> - select GENERIC_PHY
> - select MFD_SYSCON
> - help
> - Enable this to support the HISILICON HI6220 USB PHY.
> -
> - To compile this driver as a module, choose M here.
> -
> -config PHY_SUN4I_USB
> - tristate "Allwinner sunxi SoC USB PHY driver"
> - depends on ARCH_SUNXI && HAS_IOMEM && OF
> - depends on RESET_CONTROLLER
> - depends on EXTCON
> - depends on POWER_SUPPLY
> - select GENERIC_PHY
> - help
> - Enable this to support the transceiver that is part of Allwinner
> - sunxi SoCs.
> -
> - This driver controls the entire USB PHY block, both the USB OTG
> - parts, as well as the 2 regular USB 2 host PHYs.
> -
> -config PHY_SUN9I_USB
> - tristate "Allwinner sun9i SoC USB PHY driver"
> - depends on ARCH_SUNXI && HAS_IOMEM && OF
> - depends on RESET_CONTROLLER
> - depends on USB_COMMON
> - select GENERIC_PHY
> - help
> - Enable this to support the transceiver that is part of Allwinner
> - sun9i SoCs.
> -
> - This driver controls each individual USB 2 host PHY.
> -
> -config PHY_SAMSUNG_USB2
> - tristate "Samsung USB 2.0 PHY driver"
> - depends on HAS_IOMEM
> - depends on USB_EHCI_EXYNOS || USB_OHCI_EXYNOS || USB_DWC2
> - select GENERIC_PHY
> - select MFD_SYSCON
> - default ARCH_EXYNOS
> - help
> - Enable this to support the Samsung USB 2.0 PHY driver for Samsung
> - SoCs. This driver provides the interface for USB 2.0 PHY. Support
> - for particular PHYs will be enabled based on the SoC type in addition
> - to this driver.
> -
> -config PHY_S5PV210_USB2
> - bool "Support for S5PV210"
> - depends on PHY_SAMSUNG_USB2
> - depends on ARCH_S5PV210
> - help
> - Enable USB PHY support for S5PV210. This option requires that Samsung
> - USB 2.0 PHY driver is enabled and means that support for this
> - particular SoC is compiled in the driver. In case of S5PV210 two phys
> - are available - device and host.
> -
> -config PHY_EXYNOS4210_USB2
> - bool
> - depends on PHY_SAMSUNG_USB2
> - default CPU_EXYNOS4210
> -
> -config PHY_EXYNOS4X12_USB2
> - bool
> - depends on PHY_SAMSUNG_USB2
> - default SOC_EXYNOS3250 || SOC_EXYNOS4212 || SOC_EXYNOS4412
> -
> -config PHY_EXYNOS5250_USB2
> - bool
> - depends on PHY_SAMSUNG_USB2
> - default SOC_EXYNOS5250 || SOC_EXYNOS5420
> -
> -config PHY_EXYNOS5_USBDRD
> - tristate "Exynos5 SoC series USB DRD PHY driver"
> - depends on ARCH_EXYNOS && OF
> - depends on HAS_IOMEM
> - depends on USB_DWC3_EXYNOS
> - select GENERIC_PHY
> - select MFD_SYSCON
> - default y
> - help
> - Enable USB DRD PHY support for Exynos 5 SoC series.
> - This driver provides PHY interface for USB 3.0 DRD controller
> - present on Exynos5 SoC series.
> -
> config PHY_PISTACHIO_USB
> tristate "IMG Pistachio USB2.0 PHY driver"
> depends on MACH_PISTACHIO
> @@ -316,55 +42,6 @@ config PHY_PISTACHIO_USB
> help
> Enable this to support the USB2.0 PHY on the IMG Pistachio SoC.
>
> -config PHY_QCOM_APQ8064_SATA
> - tristate "Qualcomm APQ8064 SATA SerDes/PHY driver"
> - depends on ARCH_QCOM
> - depends on HAS_IOMEM
> - depends on OF
> - select GENERIC_PHY
> -
> -config PHY_QCOM_IPQ806X_SATA
> - tristate "Qualcomm IPQ806x SATA SerDes/PHY driver"
> - depends on ARCH_QCOM
> - depends on HAS_IOMEM
> - depends on OF
> - select GENERIC_PHY
> -
> -config PHY_ROCKCHIP_USB
> - tristate "Rockchip USB2 PHY Driver"
> - depends on ARCH_ROCKCHIP && OF
> - select GENERIC_PHY
> - help
> - Enable this to support the Rockchip USB 2.0 PHY.
> -
> -config PHY_ROCKCHIP_EMMC
> - tristate "Rockchip EMMC PHY Driver"
> - depends on ARCH_ROCKCHIP && OF
> - select GENERIC_PHY
> - help
> - Enable this to support the Rockchip EMMC PHY.
> -
> -config PHY_ROCKCHIP_DP
> - tristate "Rockchip Display Port PHY Driver"
> - depends on ARCH_ROCKCHIP && OF
> - select GENERIC_PHY
> - help
> - Enable this to support the Rockchip Display Port PHY.
> -
> -config PHY_ST_SPEAR1310_MIPHY
> - tristate "ST SPEAR1310-MIPHY driver"
> - select GENERIC_PHY
> - depends on MACH_SPEAR1310 || COMPILE_TEST
> - help
> - Support for ST SPEAr1310 MIPHY which can be used for PCIe and SATA.
> -
> -config PHY_ST_SPEAR1340_MIPHY
> - tristate "ST SPEAR1340-MIPHY driver"
> - select GENERIC_PHY
> - depends on MACH_SPEAR1340 || COMPILE_TEST
> - help
> - Support for ST SPEAr1340 MIPHY which can be used for PCIe and SATA.
> -
> config PHY_XGENE
> tristate "APM X-Gene 15Gbps PHY support"
> depends on HAS_IOMEM && OF && (ARM64 || COMPILE_TEST)
> @@ -372,53 +49,20 @@ config PHY_XGENE
> help
> This option enables support for APM X-Gene SoC multi-purpose PHY.
>
> -config PHY_STIH407_USB
> - tristate "STMicroelectronics USB2 picoPHY driver for STiH407 family"
> - depends on RESET_CONTROLLER
> - depends on ARCH_STI || COMPILE_TEST
> - select GENERIC_PHY
> - help
> - Enable this support to enable the picoPHY device used by USB2
> - and USB3 controllers on STMicroelectronics STiH407 SoC families.
> -
> -config PHY_STIH41X_USB
> - tristate "STMicroelectronics USB2 PHY driver for STiH41x series"
> - depends on ARCH_STI
> - select GENERIC_PHY
> - help
> - Enable this to support the USB transceiver that is part of
> - STMicroelectronics STiH41x SoC series.
> -
> -config PHY_QCOM_UFS
> - tristate "Qualcomm UFS PHY driver"
> - depends on OF && ARCH_QCOM
> - select GENERIC_PHY
> - help
> - Support for UFS PHY on QCOM chipsets.
> -
> -config PHY_TUSB1210
> - tristate "TI TUSB1210 ULPI PHY module"
> - depends on USB_ULPI_BUS
> - select GENERIC_PHY
> - help
> - Support for TI TUSB1210 USB ULPI PHY.
> -
> -config PHY_BRCMSTB_SATA
> - tristate "Broadcom STB SATA PHY driver"
> - depends on ARCH_BRCMSTB || BMIPS_GENERIC
> - depends on OF
> - select GENERIC_PHY
> - help
> - Enable this to support the SATA3 PHY on 28nm or 40nm Broadcom STB
> SoCs. - Likely useful only with CONFIG_SATA_BRCMSTB enabled.
> -
> -config PHY_CYGNUS_PCIE
> - tristate "Broadcom Cygnus PCIe PHY driver"
> - depends on OF && (ARCH_BCM_CYGNUS || COMPILE_TEST)
> - select GENERIC_PHY
> - default ARCH_BCM_CYGNUS
> - help
> - Enable this to support the Broadcom Cygnus PCIe PHY.
> - If unsure, say N.
> +menuconfig PHY_PLAT
> + bool "Platform Phy drivers"
> +
> +if PHY_PLAT
> +source "drivers/phy/bcom/Kconfig"
> +source "drivers/phy/hisi/Kconfig"
> +source "drivers/phy/marvell/Kconfig"
> +source "drivers/phy/qcom/Kconfig"
> +source "drivers/phy/rcar/Kconfig"
> +source "drivers/phy/rockchip/Kconfig"
> +source "drivers/phy/samsung/Kconfig"
> +source "drivers/phy/st/Kconfig"
> +source "drivers/phy/sunxi/Kconfig"
> +source "drivers/phy/ti/Kconfig"
> +endif
>
> endmenu
> diff --git a/drivers/phy/Makefile b/drivers/phy/Makefile
> index 24596a9..73d563b 100644
> --- a/drivers/phy/Makefile
> +++ b/drivers/phy/Makefile
> @@ -3,52 +3,19 @@
> #
>
> obj-$(CONFIG_GENERIC_PHY) += phy-core.o
> -obj-$(CONFIG_PHY_BERLIN_USB) += phy-berlin-usb.o
> -obj-$(CONFIG_PHY_BERLIN_SATA) += phy-berlin-sata.o
> -obj-$(CONFIG_PHY_DM816X_USB) += phy-dm816x-usb.o
> -obj-$(CONFIG_ARMADA375_USBCLUSTER_PHY) += phy-armada375-usb2.o
> -obj-$(CONFIG_BCM_KONA_USB2_PHY) += phy-bcm-kona-usb2.o
> -obj-$(CONFIG_PHY_EXYNOS_DP_VIDEO) += phy-exynos-dp-video.o
> -obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO) += phy-exynos-mipi-video.o
> obj-$(CONFIG_PHY_LPC18XX_USB_OTG) += phy-lpc18xx-usb-otg.o
> -obj-$(CONFIG_PHY_PXA_28NM_USB2) += phy-pxa-28nm-usb2.o
> -obj-$(CONFIG_PHY_PXA_28NM_HSIC) += phy-pxa-28nm-hsic.o
> -obj-$(CONFIG_PHY_MVEBU_SATA) += phy-mvebu-sata.o
> -obj-$(CONFIG_PHY_MIPHY28LP) += phy-miphy28lp.o
> -obj-$(CONFIG_PHY_MIPHY365X) += phy-miphy365x.o
> -obj-$(CONFIG_PHY_RCAR_GEN2) += phy-rcar-gen2.o
> -obj-$(CONFIG_PHY_RCAR_GEN3_USB2) += phy-rcar-gen3-usb2.o
> -obj-$(CONFIG_OMAP_CONTROL_PHY) += phy-omap-control.o
> -obj-$(CONFIG_OMAP_USB2) += phy-omap-usb2.o
> -obj-$(CONFIG_TI_PIPE3) += phy-ti-pipe3.o
> -obj-$(CONFIG_TWL4030_USB) += phy-twl4030-usb.o
> -obj-$(CONFIG_PHY_EXYNOS5250_SATA) += phy-exynos5250-sata.o
> -obj-$(CONFIG_PHY_HIX5HD2_SATA) += phy-hix5hd2-sata.o
> -obj-$(CONFIG_PHY_HI6220_USB) += phy-hi6220-usb.o
> obj-$(CONFIG_PHY_MT65XX_USB3) += phy-mt65xx-usb3.o
> -obj-$(CONFIG_PHY_SUN4I_USB) += phy-sun4i-usb.o
> -obj-$(CONFIG_PHY_SUN9I_USB) += phy-sun9i-usb.o
> -obj-$(CONFIG_PHY_SAMSUNG_USB2) += phy-exynos-usb2.o
> -phy-exynos-usb2-y += phy-samsung-usb2.o
> -phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4210_USB2) += phy-exynos4210-usb2.o
> -phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4X12_USB2) += phy-exynos4x12-usb2.o
> -phy-exynos-usb2-$(CONFIG_PHY_EXYNOS5250_USB2) += phy-exynos5250-usb2.o
> -phy-exynos-usb2-$(CONFIG_PHY_S5PV210_USB2) += phy-s5pv210-usb2.o
> -obj-$(CONFIG_PHY_EXYNOS5_USBDRD) += phy-exynos5-usbdrd.o
> -obj-$(CONFIG_PHY_QCOM_APQ8064_SATA) += phy-qcom-apq8064-sata.o
> -obj-$(CONFIG_PHY_ROCKCHIP_USB) += phy-rockchip-usb.o
> -obj-$(CONFIG_PHY_ROCKCHIP_EMMC) += phy-rockchip-emmc.o
> -obj-$(CONFIG_PHY_ROCKCHIP_DP) += phy-rockchip-dp.o
> -obj-$(CONFIG_PHY_QCOM_IPQ806X_SATA) += phy-qcom-ipq806x-sata.o
> -obj-$(CONFIG_PHY_ST_SPEAR1310_MIPHY) += phy-spear1310-miphy.o
> -obj-$(CONFIG_PHY_ST_SPEAR1340_MIPHY) += phy-spear1340-miphy.o
> obj-$(CONFIG_PHY_XGENE) += phy-xgene.o
> -obj-$(CONFIG_PHY_STIH407_USB) += phy-stih407-usb.o
> -obj-$(CONFIG_PHY_STIH41X_USB) += phy-stih41x-usb.o
> -obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs.o
> -obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs-qmp-20nm.o
> -obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs-qmp-14nm.o
> -obj-$(CONFIG_PHY_TUSB1210) += phy-tusb1210.o
> -obj-$(CONFIG_PHY_BRCMSTB_SATA) += phy-brcmstb-sata.o
> obj-$(CONFIG_PHY_PISTACHIO_USB) += phy-pistachio-usb.o
> -obj-$(CONFIG_PHY_CYGNUS_PCIE) += phy-bcm-cygnus-pcie.o
> +
> +# Phy drivers for different platforms.
> +obj-$(CONFIG_PHY_PLAT) += bcom/ \
> + hisi/ \
> + marvell/ \
> + qcom/ \
> + rcar/ \
> + rockchip/ \
> + samsung/ \
> + st/ \
> + sunxi/ \
> + ti/
> diff --git a/drivers/phy/bcom/Kconfig b/drivers/phy/bcom/Kconfig
> new file mode 100644
> index 0000000..8243372
> --- /dev/null
> +++ b/drivers/phy/bcom/Kconfig
> @@ -0,0 +1,27 @@
> +#
> +# PHY drivers for Broadcom platforms
> +#
> +config PHY_CYGNUS_PCIE
> + tristate "Broadcom Cygnus PCIe PHY driver"
> + depends on OF && (ARCH_BCM_CYGNUS || COMPILE_TEST)
> + select GENERIC_PHY
> + default ARCH_BCM_CYGNUS
> + help
> + Enable this to support the Broadcom Cygnus PCIe PHY.
> + If unsure, say N.
> +
> +config BCM_KONA_USB2_PHY
> + tristate "Broadcom Kona USB2 PHY Driver"
> + depends on HAS_IOMEM
> + select GENERIC_PHY
> + help
> + Enable this to support the Broadcom Kona USB 2.0 PHY.
> +
> +config PHY_BRCMSTB_SATA
> + tristate "Broadcom STB SATA PHY driver"
> + depends on ARCH_BRCMSTB || BMIPS_GENERIC
> + depends on OF
> + select GENERIC_PHY
> + help
> + Enable this to support the SATA3 PHY on 28nm or 40nm Broadcom STB
> SoCs. + Likely useful only with CONFIG_SATA_BRCMSTB enabled.
> diff --git a/drivers/phy/bcom/Makefile b/drivers/phy/bcom/Makefile
> new file mode 100644
> index 0000000..f30fa76
> --- /dev/null
> +++ b/drivers/phy/bcom/Makefile
> @@ -0,0 +1,3 @@
> +obj-$(CONFIG_PHY_CYGNUS_PCIE) += phy-bcm-cygnus-pcie.o
> +obj-$(CONFIG_BCM_KONA_USB2_PHY) += phy-bcm-kona-usb2.o
> +obj-$(CONFIG_PHY_BRCMSTB_SATA) += phy-brcmstb-sata.o
> diff --git a/drivers/phy/phy-bcm-cygnus-pcie.c
> b/drivers/phy/bcom/phy-bcm-cygnus-pcie.c similarity index 100%
> rename from drivers/phy/phy-bcm-cygnus-pcie.c
> rename to drivers/phy/bcom/phy-bcm-cygnus-pcie.c
> diff --git a/drivers/phy/phy-bcm-kona-usb2.c
> b/drivers/phy/bcom/phy-bcm-kona-usb2.c similarity index 100%
> rename from drivers/phy/phy-bcm-kona-usb2.c
> rename to drivers/phy/bcom/phy-bcm-kona-usb2.c
> diff --git a/drivers/phy/phy-brcmstb-sata.c
> b/drivers/phy/bcom/phy-brcmstb-sata.c similarity index 100%
> rename from drivers/phy/phy-brcmstb-sata.c
> rename to drivers/phy/bcom/phy-brcmstb-sata.c
> diff --git a/drivers/phy/hisi/Kconfig b/drivers/phy/hisi/Kconfig
> new file mode 100644
> index 0000000..affa9ed
> --- /dev/null
> +++ b/drivers/phy/hisi/Kconfig
> @@ -0,0 +1,20 @@
> +#
> +# PHY drivers for HiSilicon platforms
> +#
> +config PHY_HIX5HD2_SATA
> + tristate "HIX5HD2 SATA PHY Driver"
> + depends on ARCH_HIX5HD2 && OF && HAS_IOMEM
> + select GENERIC_PHY
> + select MFD_SYSCON
> + help
> + Support for SATA PHY on Hisilicon hix5hd2 Soc.
> +
> +config PHY_HI6220_USB
> + tristate "hi6220 USB PHY support"
> + depends on (ARCH_HISI && ARM64) || COMPILE_TEST
> + select GENERIC_PHY
> + select MFD_SYSCON
> + help
> + Enable this to support the HISILICON HI6220 USB PHY.
> +
> + To compile this driver as a module, choose M here.
> diff --git a/drivers/phy/hisi/Makefile b/drivers/phy/hisi/Makefile
> new file mode 100644
> index 0000000..6059ed8
> --- /dev/null
> +++ b/drivers/phy/hisi/Makefile
> @@ -0,0 +1,2 @@
> +obj-$(CONFIG_PHY_HIX5HD2_SATA) += phy-hix5hd2-sata.o
> +obj-$(CONFIG_PHY_HI6220_USB) += phy-hi6220-usb.o
> diff --git a/drivers/phy/phy-hi6220-usb.c
> b/drivers/phy/hisi/phy-hi6220-usb.c similarity index 100%
> rename from drivers/phy/phy-hi6220-usb.c
> rename to drivers/phy/hisi/phy-hi6220-usb.c
> diff --git a/drivers/phy/phy-hix5hd2-sata.c
> b/drivers/phy/hisi/phy-hix5hd2-sata.c similarity index 100%
> rename from drivers/phy/phy-hix5hd2-sata.c
> rename to drivers/phy/hisi/phy-hix5hd2-sata.c
> diff --git a/drivers/phy/marvell/Kconfig b/drivers/phy/marvell/Kconfig
> new file mode 100644
> index 0000000..6c1576c
> --- /dev/null
> +++ b/drivers/phy/marvell/Kconfig
> @@ -0,0 +1,50 @@
> +#
> +# PHY drivers for Marvell platforms
> +#
> +config ARMADA375_USBCLUSTER_PHY
> + def_bool y
> + depends on MACH_ARMADA_375 || COMPILE_TEST
> + depends on OF && HAS_IOMEM
> + select GENERIC_PHY
> +
> +config PHY_BERLIN_USB
> + tristate "Marvell Berlin USB PHY Driver"
> + depends on ARCH_BERLIN && RESET_CONTROLLER && HAS_IOMEM && OF
> + select GENERIC_PHY
> + help
> + Enable this to support the USB PHY on Marvell Berlin SoCs.
> +
> +config PHY_BERLIN_SATA
> + tristate "Marvell Berlin SATA PHY driver"
> + depends on ARCH_BERLIN && HAS_IOMEM && OF
> + select GENERIC_PHY
> + help
> + Enable this to support the SATA PHY on Marvell Berlin SoCs.
> +
> +config PHY_MVEBU_SATA
> + def_bool y
> + depends on ARCH_DOVE || MACH_DOVE || MACH_KIRKWOOD
> + depends on OF
> + select GENERIC_PHY
> +
> +config PHY_PXA_28NM_HSIC
> + tristate "Marvell USB HSIC 28nm PHY Driver"
> + depends on HAS_IOMEM
> + select GENERIC_PHY
> + help
> + Enable this to support Marvell USB HSIC PHY driver for Marvell
> + SoC. This driver will do the PHY initialization and shutdown.
> + The PHY driver will be used by Marvell ehci driver.
> +
> + To compile this driver as a module, choose M here.
> +
> +config PHY_PXA_28NM_USB2
> + tristate "Marvell USB 2.0 28nm PHY Driver"
> + depends on HAS_IOMEM
> + select GENERIC_PHY
> + help
> + Enable this to support Marvell USB 2.0 PHY driver for Marvell
> + SoC. This driver will do the PHY initialization and shutdown.
> + The PHY driver will be used by Marvell udc/ehci/otg driver.
> +
> + 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 0000000..f4fa255
> --- /dev/null
> +++ b/drivers/phy/marvell/Makefile
> @@ -0,0 +1,6 @@
> +obj-$(CONFIG_ARMADA375_USBCLUSTER_PHY) += phy-armada375-usb2.o
> +obj-$(CONFIG_PHY_BERLIN_USB) += phy-berlin-usb.o
> +obj-$(CONFIG_PHY_BERLIN_SATA) += phy-berlin-sata.o
> +obj-$(CONFIG_PHY_MVEBU_SATA) += phy-mvebu-sata.o
> +obj-$(CONFIG_PHY_PXA_28NM_USB2) += phy-pxa-28nm-usb2.o
> +obj-$(CONFIG_PHY_PXA_28NM_HSIC) += phy-pxa-28nm-hsic.o
> diff --git a/drivers/phy/phy-armada375-usb2.c
> b/drivers/phy/marvell/phy-armada375-usb2.c similarity index 100%
> rename from drivers/phy/phy-armada375-usb2.c
> rename to drivers/phy/marvell/phy-armada375-usb2.c
> diff --git a/drivers/phy/phy-berlin-sata.c
> b/drivers/phy/marvell/phy-berlin-sata.c similarity index 100%
> rename from drivers/phy/phy-berlin-sata.c
> rename to drivers/phy/marvell/phy-berlin-sata.c
> diff --git a/drivers/phy/phy-berlin-usb.c
> b/drivers/phy/marvell/phy-berlin-usb.c similarity index 100%
> rename from drivers/phy/phy-berlin-usb.c
> rename to drivers/phy/marvell/phy-berlin-usb.c
> diff --git a/drivers/phy/phy-mvebu-sata.c
> b/drivers/phy/marvell/phy-mvebu-sata.c similarity index 100%
> rename from drivers/phy/phy-mvebu-sata.c
> rename to 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 similarity index 100%
> rename from drivers/phy/phy-pxa-28nm-hsic.c
> rename to 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 similarity index 100%
> rename from drivers/phy/phy-pxa-28nm-usb2.c
> rename to drivers/phy/marvell/phy-pxa-28nm-usb2.c
> diff --git a/drivers/phy/qcom/Kconfig b/drivers/phy/qcom/Kconfig
> new file mode 100644
> index 0000000..9718d01
> --- /dev/null
> +++ b/drivers/phy/qcom/Kconfig
> @@ -0,0 +1,23 @@
> +#
> +# PHY drivers for Qualcomm platforms
> +#
> +config PHY_QCOM_APQ8064_SATA
> + tristate "Qualcomm APQ8064 SATA SerDes/PHY driver"
> + depends on ARCH_QCOM
> + depends on HAS_IOMEM
> + depends on OF
> + select GENERIC_PHY
> +
> +config PHY_QCOM_IPQ806X_SATA
> + tristate "Qualcomm IPQ806x SATA SerDes/PHY driver"
> + depends on ARCH_QCOM
> + depends on HAS_IOMEM
> + depends on OF
> + select GENERIC_PHY
> +
> +config PHY_QCOM_UFS
> + tristate "Qualcomm UFS PHY driver"
> + depends on OF && ARCH_QCOM
> + select GENERIC_PHY
> + help
> + Support for UFS PHY on QCOM chipsets.
> diff --git a/drivers/phy/qcom/Makefile b/drivers/phy/qcom/Makefile
> new file mode 100644
> index 0000000..2db3e77
> --- /dev/null
> +++ b/drivers/phy/qcom/Makefile
> @@ -0,0 +1,5 @@
> +obj-$(CONFIG_PHY_QCOM_APQ8064_SATA) += phy-qcom-apq8064-sata.o
> +obj-$(CONFIG_PHY_QCOM_IPQ806X_SATA) += phy-qcom-ipq806x-sata.o
> +obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs.o \
> + += phy-qcom-ufs-qmp-20nm.o \
> + += phy-qcom-ufs-qmp-14nm.o
> diff --git a/drivers/phy/phy-qcom-apq8064-sata.c
> b/drivers/phy/qcom/phy-qcom-apq8064-sata.c similarity index 100%
> rename from drivers/phy/phy-qcom-apq8064-sata.c
> rename to drivers/phy/qcom/phy-qcom-apq8064-sata.c
> diff --git a/drivers/phy/phy-qcom-ipq806x-sata.c
> b/drivers/phy/qcom/phy-qcom-ipq806x-sata.c similarity index 100%
> rename from drivers/phy/phy-qcom-ipq806x-sata.c
> rename to drivers/phy/qcom/phy-qcom-ipq806x-sata.c
> diff --git a/drivers/phy/phy-qcom-ufs-i.h
> b/drivers/phy/qcom/phy-qcom-ufs-i.h similarity index 100%
> rename from drivers/phy/phy-qcom-ufs-i.h
> rename to drivers/phy/qcom/phy-qcom-ufs-i.h
> diff --git a/drivers/phy/phy-qcom-ufs-qmp-14nm.c
> b/drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.c similarity index 100%
> rename from drivers/phy/phy-qcom-ufs-qmp-14nm.c
> rename to drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.c
> diff --git a/drivers/phy/phy-qcom-ufs-qmp-14nm.h
> b/drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.h similarity index 100%
> rename from drivers/phy/phy-qcom-ufs-qmp-14nm.h
> rename to drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.h
> diff --git a/drivers/phy/phy-qcom-ufs-qmp-20nm.c
> b/drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.c similarity index 100%
> rename from drivers/phy/phy-qcom-ufs-qmp-20nm.c
> rename to drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.c
> diff --git a/drivers/phy/phy-qcom-ufs-qmp-20nm.h
> b/drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.h similarity index 100%
> rename from drivers/phy/phy-qcom-ufs-qmp-20nm.h
> rename to drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.h
> diff --git a/drivers/phy/phy-qcom-ufs.c b/drivers/phy/qcom/phy-qcom-ufs.c
> similarity index 100%
> rename from drivers/phy/phy-qcom-ufs.c
> rename to drivers/phy/qcom/phy-qcom-ufs.c
> diff --git a/drivers/phy/rcar/Kconfig b/drivers/phy/rcar/Kconfig
> new file mode 100644
> index 0000000..169b5e2
> --- /dev/null
> +++ b/drivers/phy/rcar/Kconfig
> @@ -0,0 +1,16 @@
> +#
> +# PHY drivers for Renesas's r-car platforms
> +#
> +config PHY_RCAR_GEN2
> + tristate "Renesas R-Car generation 2 USB PHY driver"
> + depends on ARCH_SHMOBILE
> + depends on GENERIC_PHY
> + help
> + Support for USB PHY found on Renesas R-Car generation 2 SoCs.
> +
> +config PHY_RCAR_GEN3_USB2
> + tristate "Renesas R-Car generation 3 USB 2.0 PHY driver"
> + depends on OF && ARCH_SHMOBILE
> + select GENERIC_PHY
> + help
> + Support for USB 2.0 PHY found on Renesas R-Car generation 3 SoCs.
> diff --git a/drivers/phy/rcar/Makefile b/drivers/phy/rcar/Makefile
> new file mode 100644
> index 0000000..695241a
> --- /dev/null
> +++ b/drivers/phy/rcar/Makefile
> @@ -0,0 +1,2 @@
> +obj-$(CONFIG_PHY_RCAR_GEN2) += phy-rcar-gen2.o
> +obj-$(CONFIG_PHY_RCAR_GEN3_USB2) += phy-rcar-gen3-usb2.o
> diff --git a/drivers/phy/phy-rcar-gen2.c
> b/drivers/phy/rcar/phy-rcar-gen2.c similarity index 100%
> rename from drivers/phy/phy-rcar-gen2.c
> rename to drivers/phy/rcar/phy-rcar-gen2.c
> diff --git a/drivers/phy/phy-rcar-gen3-usb2.c
> b/drivers/phy/rcar/phy-rcar-gen3-usb2.c similarity index 100%
> rename from drivers/phy/phy-rcar-gen3-usb2.c
> rename to drivers/phy/rcar/phy-rcar-gen3-usb2.c
> diff --git a/drivers/phy/rockchip/Kconfig b/drivers/phy/rockchip/Kconfig
> new file mode 100644
> index 0000000..c575d1e
> --- /dev/null
> +++ b/drivers/phy/rockchip/Kconfig
> @@ -0,0 +1,23 @@
> +#
> +# PHY drivers for Rockchip platforms
> +#
> +config PHY_ROCKCHIP_USB
> + tristate "Rockchip USB2 PHY Driver"
> + depends on ARCH_ROCKCHIP && OF
> + select GENERIC_PHY
> + help
> + Enable this to support the Rockchip USB 2.0 PHY.
> +
> +config PHY_ROCKCHIP_EMMC
> + tristate "Rockchip EMMC PHY Driver"
> + depends on ARCH_ROCKCHIP && OF
> + select GENERIC_PHY
> + help
> + Enable this to support the Rockchip EMMC PHY.
> +
> +config PHY_ROCKCHIP_DP
> + tristate "Rockchip Display Port PHY Driver"
> + depends on ARCH_ROCKCHIP && OF
> + select GENERIC_PHY
> + help
> + Enable this to support the Rockchip Display Port PHY.
> diff --git a/drivers/phy/rockchip/Makefile b/drivers/phy/rockchip/Makefile
> new file mode 100644
> index 0000000..c15acc1
> --- /dev/null
> +++ b/drivers/phy/rockchip/Makefile
> @@ -0,0 +1,3 @@
> +obj-$(CONFIG_PHY_ROCKCHIP_DP) += phy-rockchip-dp.o
> +obj-$(CONFIG_PHY_ROCKCHIP_EMMC) += phy-rockchip-emmc.o
> +obj-$(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 similarity index 100%
> rename from drivers/phy/phy-rockchip-dp.c
> rename to drivers/phy/rockchip/phy-rockchip-dp.c
> diff --git a/drivers/phy/phy-rockchip-emmc.c
> b/drivers/phy/rockchip/phy-rockchip-emmc.c similarity index 100%
> rename from drivers/phy/phy-rockchip-emmc.c
> rename to drivers/phy/rockchip/phy-rockchip-emmc.c
> diff --git a/drivers/phy/phy-rockchip-usb.c
> b/drivers/phy/rockchip/phy-rockchip-usb.c similarity index 100%
> rename from drivers/phy/phy-rockchip-usb.c
> rename to drivers/phy/rockchip/phy-rockchip-usb.c
> diff --git a/drivers/phy/samsung/Kconfig b/drivers/phy/samsung/Kconfig
> new file mode 100644
> index 0000000..80bdea7
> --- /dev/null
> +++ b/drivers/phy/samsung/Kconfig
> @@ -0,0 +1,87 @@
> +#
> +# PHY drivers for Samsung platforms
> +#
> +config PHY_SAMSUNG_USB2
> + tristate "Samsung USB 2.0 PHY driver"
> + depends on HAS_IOMEM
> + depends on USB_EHCI_EXYNOS || USB_OHCI_EXYNOS || USB_DWC2
> + select GENERIC_PHY
> + select MFD_SYSCON
> + default ARCH_EXYNOS
> + help
> + Enable this to support the Samsung USB 2.0 PHY driver for Samsung
> + SoCs. This driver provides the interface for USB 2.0 PHY. Support
> + for particular PHYs will be enabled based on the SoC type in addition
> + to this driver.
> +
> +config PHY_S5PV210_USB2
> + bool "Support for S5PV210"
> + depends on PHY_SAMSUNG_USB2
> + depends on ARCH_S5PV210
> + help
> + Enable USB PHY support for S5PV210. This option requires that Samsung
> + USB 2.0 PHY driver is enabled and means that support for this
> + particular SoC is compiled in the driver. In case of S5PV210 two phys
> + are available - device and host.
> +
> +config PHY_EXYNOS4210_USB2
> + bool
> + depends on PHY_SAMSUNG_USB2
> + default CPU_EXYNOS4210
> +
> +config PHY_EXYNOS4X12_USB2
> + bool
> + depends on PHY_SAMSUNG_USB2
> + default SOC_EXYNOS3250 || SOC_EXYNOS4212 || SOC_EXYNOS4412
> +
> +config PHY_EXYNOS5250_USB2
> + bool
> + depends on PHY_SAMSUNG_USB2
> + default SOC_EXYNOS5250 || SOC_EXYNOS5420
> +
> +config PHY_EXYNOS5_USBDRD
> + tristate "Exynos5 SoC series USB DRD PHY driver"
> + depends on ARCH_EXYNOS && OF
> + depends on HAS_IOMEM
> + depends on USB_DWC3_EXYNOS
> + select GENERIC_PHY
> + select MFD_SYSCON
> + default y
> + help
> + Enable USB DRD PHY support for Exynos 5 SoC series.
> + This driver provides PHY interface for USB 3.0 DRD controller
> + present on Exynos5 SoC series.
> +
> +config PHY_EXYNOS_DP_VIDEO
> + tristate "EXYNOS SoC series Display Port PHY driver"
> + depends on OF
> + depends on ARCH_EXYNOS || COMPILE_TEST
> + default ARCH_EXYNOS
> + select GENERIC_PHY
> + help
> + Support for Display Port PHY found on Samsung EXYNOS SoCs.
> +
> +config PHY_EXYNOS_MIPI_VIDEO
> + tristate "S5P/EXYNOS SoC series MIPI CSI-2/DSI PHY driver"
> + depends on HAS_IOMEM
> + depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
> + select GENERIC_PHY
> + default y if ARCH_S5PV210 || ARCH_EXYNOS
> + help
> + Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P
> + and EXYNOS SoCs.
> +
> +config PHY_EXYNOS5250_SATA
> + tristate "Exynos5250 Sata SerDes/PHY driver"
> + depends on SOC_EXYNOS5250
> + depends on HAS_IOMEM
> + depends on OF
> + select GENERIC_PHY
> + select I2C
> + select I2C_S3C2410
> + select MFD_SYSCON
> + help
> + Enable this to support SATA SerDes/Phy found on Samsung's
> + Exynos5250 based SoCs.This SerDes/Phy supports SATA 1.5 Gb/s,
> + SATA 3.0 Gb/s, SATA 6.0 Gb/s speeds. It supports one SATA host
> + port to accept one SATA device.
> diff --git a/drivers/phy/samsung/Makefile b/drivers/phy/samsung/Makefile
> new file mode 100644
> index 0000000..585dbd7
> --- /dev/null
> +++ b/drivers/phy/samsung/Makefile
> @@ -0,0 +1,10 @@
> +obj-$(CONFIG_PHY_SAMSUNG_USB2) += phy-exynos-usb2.o
> +phy-exynos-usb2-y += phy-samsung-usb2.o
> +phy-exynos-usb2-$(CONFIG_PHY_S5PV210_USB2) += phy-s5pv210-usb2.o
> +phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4210_USB2) += phy-exynos4210-usb2.o
> +phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4X12_USB2) += phy-exynos4x12-usb2.o
> +phy-exynos-usb2-$(CONFIG_PHY_EXYNOS5250_USB2) += phy-exynos5250-usb2.o
> +obj-$(CONFIG_PHY_EXYNOS5_USBDRD) += phy-exynos5-usbdrd.o
> +obj-$(CONFIG_PHY_EXYNOS_DP_VIDEO) += phy-exynos-dp-video.o
> +obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO) += phy-exynos-mipi-video.o
> +obj-$(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 similarity index 100%
> rename from drivers/phy/phy-exynos-dp-video.c
> rename to 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 similarity index 100%
> rename from drivers/phy/phy-exynos-mipi-video.c
> rename to drivers/phy/samsung/phy-exynos-mipi-video.c
> diff --git a/drivers/phy/phy-exynos4210-usb2.c
> b/drivers/phy/samsung/phy-exynos4210-usb2.c similarity index 100%
> rename from drivers/phy/phy-exynos4210-usb2.c
> rename to drivers/phy/samsung/phy-exynos4210-usb2.c
> diff --git a/drivers/phy/phy-exynos4x12-usb2.c
> b/drivers/phy/samsung/phy-exynos4x12-usb2.c similarity index 100%
> rename from drivers/phy/phy-exynos4x12-usb2.c
> rename to drivers/phy/samsung/phy-exynos4x12-usb2.c
> diff --git a/drivers/phy/phy-exynos5-usbdrd.c
> b/drivers/phy/samsung/phy-exynos5-usbdrd.c similarity index 100%
> rename from drivers/phy/phy-exynos5-usbdrd.c
> rename to drivers/phy/samsung/phy-exynos5-usbdrd.c
> diff --git a/drivers/phy/phy-exynos5250-sata.c
> b/drivers/phy/samsung/phy-exynos5250-sata.c similarity index 100%
> rename from drivers/phy/phy-exynos5250-sata.c
> rename to drivers/phy/samsung/phy-exynos5250-sata.c
> diff --git a/drivers/phy/phy-exynos5250-usb2.c
> b/drivers/phy/samsung/phy-exynos5250-usb2.c similarity index 100%
> rename from drivers/phy/phy-exynos5250-usb2.c
> rename to drivers/phy/samsung/phy-exynos5250-usb2.c
> diff --git a/drivers/phy/phy-s5pv210-usb2.c
> b/drivers/phy/samsung/phy-s5pv210-usb2.c similarity index 100%
> rename from drivers/phy/phy-s5pv210-usb2.c
> rename to drivers/phy/samsung/phy-s5pv210-usb2.c
> diff --git a/drivers/phy/phy-samsung-usb2.c
> b/drivers/phy/samsung/phy-samsung-usb2.c similarity index 100%
> rename from drivers/phy/phy-samsung-usb2.c
> rename to drivers/phy/samsung/phy-samsung-usb2.c
> diff --git a/drivers/phy/phy-samsung-usb2.h
> b/drivers/phy/samsung/phy-samsung-usb2.h similarity index 100%
> rename from drivers/phy/phy-samsung-usb2.h
> rename to drivers/phy/samsung/phy-samsung-usb2.h
> diff --git a/drivers/phy/st/Kconfig b/drivers/phy/st/Kconfig
> new file mode 100644
> index 0000000..651b2bf
> --- /dev/null
> +++ b/drivers/phy/st/Kconfig
> @@ -0,0 +1,51 @@
> +#
> +# PHY drivers for ST Micro platforms
> +#
> +config PHY_MIPHY28LP
> + tristate "STMicroelectronics MIPHY28LP PHY driver for STiH407"
> + depends on ARCH_STI
> + select GENERIC_PHY
> + help
> + Enable this to support the miphy transceiver (for SATA/PCIE/USB3)
> + that is part of STMicroelectronics STiH407 SoC.
> +
> +config PHY_MIPHY365X
> + tristate "STMicroelectronics MIPHY365X PHY driver for STiH41x series"
> + depends on ARCH_STI
> + depends on HAS_IOMEM
> + depends on OF
> + select GENERIC_PHY
> + help
> + Enable this to support the miphy transceiver (for SATA/PCIE)
> + that is part of STMicroelectronics STiH41x SoC series.
> +
> +config PHY_ST_SPEAR1310_MIPHY
> + tristate "ST SPEAR1310-MIPHY driver"
> + select GENERIC_PHY
> + depends on MACH_SPEAR1310 || COMPILE_TEST
> + help
> + Support for ST SPEAr1310 MIPHY which can be used for PCIe and SATA.
> +
> +config PHY_ST_SPEAR1340_MIPHY
> + tristate "ST SPEAR1340-MIPHY driver"
> + select GENERIC_PHY
> + depends on MACH_SPEAR1340 || COMPILE_TEST
> + help
> + Support for ST SPEAr1340 MIPHY which can be used for PCIe and SATA.
> +
> +config PHY_STIH407_USB
> + tristate "STMicroelectronics USB2 picoPHY driver for STiH407 family"
> + depends on RESET_CONTROLLER
> + depends on ARCH_STI || COMPILE_TEST
> + select GENERIC_PHY
> + help
> + Enable this support to enable the picoPHY device used by USB2
> + and USB3 controllers on STMicroelectronics STiH407 SoC families.
> +
> +config PHY_STIH41X_USB
> + tristate "STMicroelectronics USB2 PHY driver for STiH41x series"
> + depends on ARCH_STI
> + select GENERIC_PHY
> + help
> + Enable this to support the USB transceiver that is part of
> + STMicroelectronics STiH41x SoC series.
> diff --git a/drivers/phy/st/Makefile b/drivers/phy/st/Makefile
> new file mode 100644
> index 0000000..907561b
> --- /dev/null
> +++ b/drivers/phy/st/Makefile
> @@ -0,0 +1,6 @@
> +obj-$(CONFIG_PHY_MIPHY28LP) += phy-miphy28lp.o
> +obj-$(CONFIG_PHY_MIPHY365X) += phy-miphy365x.o
> +obj-$(CONFIG_PHY_ST_SPEAR1310_MIPHY) += phy-spear1310-miphy.o
> +obj-$(CONFIG_PHY_ST_SPEAR1340_MIPHY) += phy-spear1340-miphy.o
> +obj-$(CONFIG_PHY_STIH407_USB) += phy-stih407-usb.o
> +obj-$(CONFIG_PHY_STIH41X_USB) += phy-stih41x-usb.o
> diff --git a/drivers/phy/phy-miphy28lp.c b/drivers/phy/st/phy-miphy28lp.c
> similarity index 100%
> rename from drivers/phy/phy-miphy28lp.c
> rename to drivers/phy/st/phy-miphy28lp.c
> diff --git a/drivers/phy/phy-miphy365x.c b/drivers/phy/st/phy-miphy365x.c
> similarity index 100%
> rename from drivers/phy/phy-miphy365x.c
> rename to drivers/phy/st/phy-miphy365x.c
> diff --git a/drivers/phy/phy-spear1310-miphy.c
> b/drivers/phy/st/phy-spear1310-miphy.c similarity index 100%
> rename from drivers/phy/phy-spear1310-miphy.c
> rename to drivers/phy/st/phy-spear1310-miphy.c
> diff --git a/drivers/phy/phy-spear1340-miphy.c
> b/drivers/phy/st/phy-spear1340-miphy.c similarity index 100%
> rename from drivers/phy/phy-spear1340-miphy.c
> rename to drivers/phy/st/phy-spear1340-miphy.c
> diff --git a/drivers/phy/phy-stih407-usb.c
> b/drivers/phy/st/phy-stih407-usb.c similarity index 100%
> rename from drivers/phy/phy-stih407-usb.c
> rename to drivers/phy/st/phy-stih407-usb.c
> diff --git a/drivers/phy/phy-stih41x-usb.c
> b/drivers/phy/st/phy-stih41x-usb.c similarity index 100%
> rename from drivers/phy/phy-stih41x-usb.c
> rename to drivers/phy/st/phy-stih41x-usb.c
> diff --git a/drivers/phy/sunxi/Kconfig b/drivers/phy/sunxi/Kconfig
> new file mode 100644
> index 0000000..eb06427
> --- /dev/null
> +++ b/drivers/phy/sunxi/Kconfig
> @@ -0,0 +1,28 @@
> +#
> +# PHY drivers for Allwinner's sunxi platforms
> +#
> +config PHY_SUN4I_USB
> + tristate "Allwinner sunxi SoC USB PHY driver"
> + depends on ARCH_SUNXI && HAS_IOMEM && OF
> + depends on RESET_CONTROLLER
> + depends on EXTCON
> + depends on POWER_SUPPLY
> + select GENERIC_PHY
> + help
> + Enable this to support the transceiver that is part of Allwinner
> + sunxi SoCs.
> +
> + This driver controls the entire USB PHY block, both the USB OTG
> + parts, as well as the 2 regular USB 2 host PHYs.
> +
> +config PHY_SUN9I_USB
> + tristate "Allwinner sun9i SoC USB PHY driver"
> + depends on ARCH_SUNXI && HAS_IOMEM && OF
> + depends on RESET_CONTROLLER
> + depends on USB_COMMON
> + select GENERIC_PHY
> + help
> + Enable this to support the transceiver that is part of Allwinner
> + sun9i SoCs.
> +
> + This driver controls each individual USB 2 host PHY.
> diff --git a/drivers/phy/sunxi/Makefile b/drivers/phy/sunxi/Makefile
> new file mode 100644
> index 0000000..8605529c
> --- /dev/null
> +++ b/drivers/phy/sunxi/Makefile
> @@ -0,0 +1,2 @@
> +obj-$(CONFIG_PHY_SUN4I_USB) += phy-sun4i-usb.o
> +obj-$(CONFIG_PHY_SUN9I_USB) += phy-sun9i-usb.o
> diff --git a/drivers/phy/phy-sun4i-usb.c
> b/drivers/phy/sunxi/phy-sun4i-usb.c similarity index 100%
> rename from drivers/phy/phy-sun4i-usb.c
> rename to drivers/phy/sunxi/phy-sun4i-usb.c
> diff --git a/drivers/phy/phy-sun9i-usb.c
> b/drivers/phy/sunxi/phy-sun9i-usb.c similarity index 100%
> rename from drivers/phy/phy-sun9i-usb.c
> rename to drivers/phy/sunxi/phy-sun9i-usb.c
> diff --git a/drivers/phy/ti/Kconfig b/drivers/phy/ti/Kconfig
> new file mode 100644
> index 0000000..1e3e307
> --- /dev/null
> +++ b/drivers/phy/ti/Kconfig
> @@ -0,0 +1,67 @@
> +#
> +# PHY drivers for TI platforms
> +#
> +config PHY_DM816X_USB
> + tristate "TI dm816x USB PHY driver"
> + depends on ARCH_OMAP2PLUS
> + depends on USB_SUPPORT
> + select GENERIC_PHY
> + select USB_PHY
> + help
> + Enable this for dm816x USB to work.
> +
> +config OMAP_CONTROL_PHY
> + tristate "OMAP CONTROL PHY Driver"
> + depends on ARCH_OMAP2PLUS || COMPILE_TEST
> + help
> + Enable this to add support for the PHY part present in the control
> + module. This driver has API to power on the USB2 PHY and to write to
> + the mailbox. The mailbox is present only in omap4 and the register to
> + power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an
> + additional register to power on USB3 PHY/SATA PHY/PCIE PHY
> + (PIPE3 PHY).
> +
> +config OMAP_USB2
> + tristate "OMAP USB2 PHY Driver"
> + depends on ARCH_OMAP2PLUS
> + depends on USB_SUPPORT
> + select GENERIC_PHY
> + select USB_PHY
> + select OMAP_CONTROL_PHY
> + depends on OMAP_OCP2SCP
> + help
> + Enable this to support the transceiver that is part of SOC. This
> + driver takes care of all the PHY functionality apart from comparator.
> + The USB OTG controller communicates with the comparator using this
> + driver.
> +
> +config TI_PIPE3
> + tristate "TI PIPE3 PHY Driver"
> + depends on ARCH_OMAP2PLUS || COMPILE_TEST
> + select GENERIC_PHY
> + select OMAP_CONTROL_PHY
> + depends on OMAP_OCP2SCP
> + help
> + Enable this to support the PIPE3 PHY that is part of TI SOCs. This
> + driver takes care of all the PHY functionality apart from comparator.
> + This driver interacts with the "OMAP Control PHY Driver" to power
> + on/off the PHY.
> +
> +config PHY_TUSB1210
> + tristate "TI TUSB1210 ULPI PHY module"
> + depends on USB_ULPI_BUS
> + select GENERIC_PHY
> + help
> + Support for TI TUSB1210 USB ULPI PHY.
> +
> +config TWL4030_USB
> + tristate "TWL4030 USB Transceiver Driver"
> + depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
> + depends on USB_SUPPORT
> + select GENERIC_PHY
> + select USB_PHY
> + help
> + Enable this to support the USB OTG transceiver on TWL4030
> + family chips (including the TWL5030 and TPS659x0 devices).
> + This transceiver supports high and full speed devices plus,
> + in host mode, low speed.
> diff --git a/drivers/phy/ti/Makefile b/drivers/phy/ti/Makefile
> new file mode 100644
> index 0000000..2d16f77
> --- /dev/null
> +++ b/drivers/phy/ti/Makefile
> @@ -0,0 +1,6 @@
> +obj-$(CONFIG_PHY_DM816X_USB) += phy-dm816x-usb.o
> +obj-$(CONFIG_OMAP_CONTROL_PHY) += phy-omap-control.o
> +obj-$(CONFIG_OMAP_USB2) += phy-omap-usb2.o
> +obj-$(CONFIG_TI_PIPE3) += phy-ti-pipe3.o
> +obj-$(CONFIG_PHY_TUSB1210) += phy-tusb1210.o
> +obj-$(CONFIG_TWL4030_USB) += phy-twl4030-usb.o
> diff --git a/drivers/phy/phy-dm816x-usb.c
> b/drivers/phy/ti/phy-dm816x-usb.c similarity index 100%
> rename from drivers/phy/phy-dm816x-usb.c
> rename to drivers/phy/ti/phy-dm816x-usb.c
> diff --git a/drivers/phy/phy-omap-control.c
> b/drivers/phy/ti/phy-omap-control.c similarity index 100%
> rename from drivers/phy/phy-omap-control.c
> rename to drivers/phy/ti/phy-omap-control.c
> diff --git a/drivers/phy/phy-omap-usb2.c b/drivers/phy/ti/phy-omap-usb2.c
> similarity index 100%
> rename from drivers/phy/phy-omap-usb2.c
> rename to drivers/phy/ti/phy-omap-usb2.c
> diff --git a/drivers/phy/phy-ti-pipe3.c b/drivers/phy/ti/phy-ti-pipe3.c
> similarity index 100%
> rename from drivers/phy/phy-ti-pipe3.c
> rename to drivers/phy/ti/phy-ti-pipe3.c
> diff --git a/drivers/phy/phy-tusb1210.c b/drivers/phy/ti/phy-tusb1210.c
> similarity index 100%
> rename from drivers/phy/phy-tusb1210.c
> rename to drivers/phy/ti/phy-tusb1210.c
> diff --git a/drivers/phy/phy-twl4030-usb.c
> b/drivers/phy/ti/phy-twl4030-usb.c similarity index 100%
> rename from drivers/phy/phy-twl4030-usb.c
> rename to drivers/phy/ti/phy-twl4030-usb.c
> diff --git a/drivers/phy/ulpi_phy.h b/drivers/phy/ti/ulpi_phy.h
> similarity index 100%
> rename from drivers/phy/ulpi_phy.h
> rename to drivers/phy/ti/ulpi_phy.h
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-01 15:16 ` Heiko Stuebner
0 siblings, 0 replies; 40+ messages in thread
From: Heiko Stuebner @ 2016-04-01 15:16 UTC (permalink / raw)
To: linux-arm-kernel
Am Freitag, 1. April 2016, 16:59:15 schrieb Vivek Gautam:
> Adding vendor specific directories in phy to group
> phy drivers under their respective vendor umbrella.
>
> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
I don't have a preference about the phy-locations either way, so for
Rockchip phys
Acked-by: Heiko Stuebner <heiko@sntech.de>
> ---
>
> With growing number of phy drivers, it makes sense to
> group these drivers under their respective vendor/platform
> umbrella directory.
>
> Build-tested 'multi_v7_defconfig'.
>
> drivers/phy/Kconfig | 386
> +--------------------- drivers/phy/Makefile
> | 57 +---
> drivers/phy/bcom/Kconfig | 27 ++
> drivers/phy/bcom/Makefile | 3 +
> drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c | 0
> drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c | 0
> drivers/phy/{ => bcom}/phy-brcmstb-sata.c | 0
> drivers/phy/hisi/Kconfig | 20 ++
> drivers/phy/hisi/Makefile | 2 +
> drivers/phy/{ => hisi}/phy-hi6220-usb.c | 0
> drivers/phy/{ => hisi}/phy-hix5hd2-sata.c | 0
> drivers/phy/marvell/Kconfig | 50 +++
> drivers/phy/marvell/Makefile | 6 +
> drivers/phy/{ => marvell}/phy-armada375-usb2.c | 0
> drivers/phy/{ => marvell}/phy-berlin-sata.c | 0
> drivers/phy/{ => marvell}/phy-berlin-usb.c | 0
> drivers/phy/{ => marvell}/phy-mvebu-sata.c | 0
> drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c | 0
> drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c | 0
> drivers/phy/qcom/Kconfig | 23 ++
> drivers/phy/qcom/Makefile | 5 +
> drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-i.h | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h | 0
> drivers/phy/{ => qcom}/phy-qcom-ufs.c | 0
> drivers/phy/rcar/Kconfig | 16 +
> drivers/phy/rcar/Makefile | 2 +
> drivers/phy/{ => rcar}/phy-rcar-gen2.c | 0
> drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c | 0
> drivers/phy/rockchip/Kconfig | 23 ++
> drivers/phy/rockchip/Makefile | 3 +
> drivers/phy/{ => rockchip}/phy-rockchip-dp.c | 0
> drivers/phy/{ => rockchip}/phy-rockchip-emmc.c | 0
> drivers/phy/{ => rockchip}/phy-rockchip-usb.c | 0
> drivers/phy/samsung/Kconfig | 87 +++++
> drivers/phy/samsung/Makefile | 10 +
> drivers/phy/{ => samsung}/phy-exynos-dp-video.c | 0
> drivers/phy/{ => samsung}/phy-exynos-mipi-video.c | 0
> drivers/phy/{ => samsung}/phy-exynos4210-usb2.c | 0
> drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c | 0
> drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c | 0
> drivers/phy/{ => samsung}/phy-exynos5250-sata.c | 0
> drivers/phy/{ => samsung}/phy-exynos5250-usb2.c | 0
> drivers/phy/{ => samsung}/phy-s5pv210-usb2.c | 0
> drivers/phy/{ => samsung}/phy-samsung-usb2.c | 0
> drivers/phy/{ => samsung}/phy-samsung-usb2.h | 0
> drivers/phy/st/Kconfig | 51 +++
> drivers/phy/st/Makefile | 6 +
> drivers/phy/{ => st}/phy-miphy28lp.c | 0
> drivers/phy/{ => st}/phy-miphy365x.c | 0
> drivers/phy/{ => st}/phy-spear1310-miphy.c | 0
> drivers/phy/{ => st}/phy-spear1340-miphy.c | 0
> drivers/phy/{ => st}/phy-stih407-usb.c | 0
> drivers/phy/{ => st}/phy-stih41x-usb.c | 0
> drivers/phy/sunxi/Kconfig | 28 ++
> drivers/phy/sunxi/Makefile | 2 +
> drivers/phy/{ => sunxi}/phy-sun4i-usb.c | 0
> drivers/phy/{ => sunxi}/phy-sun9i-usb.c | 0
> drivers/phy/ti/Kconfig | 67 ++++
> drivers/phy/ti/Makefile | 6 +
> drivers/phy/{ => ti}/phy-dm816x-usb.c | 0
> drivers/phy/{ => ti}/phy-omap-control.c | 0
> drivers/phy/{ => ti}/phy-omap-usb2.c | 0
> drivers/phy/{ => ti}/phy-ti-pipe3.c | 0
> drivers/phy/{ => ti}/phy-tusb1210.c | 0
> drivers/phy/{ => ti}/phy-twl4030-usb.c | 0
> drivers/phy/{ => ti}/ulpi_phy.h | 0
> 71 files changed, 464 insertions(+), 416 deletions(-)
> create mode 100644 drivers/phy/bcom/Kconfig
> create mode 100644 drivers/phy/bcom/Makefile
> rename drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c (100%)
> rename drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c (100%)
> rename drivers/phy/{ => bcom}/phy-brcmstb-sata.c (100%)
> create mode 100644 drivers/phy/hisi/Kconfig
> create mode 100644 drivers/phy/hisi/Makefile
> rename drivers/phy/{ => hisi}/phy-hi6220-usb.c (100%)
> rename drivers/phy/{ => hisi}/phy-hix5hd2-sata.c (100%)
> create mode 100644 drivers/phy/marvell/Kconfig
> create mode 100644 drivers/phy/marvell/Makefile
> rename drivers/phy/{ => marvell}/phy-armada375-usb2.c (100%)
> rename drivers/phy/{ => marvell}/phy-berlin-sata.c (100%)
> rename drivers/phy/{ => marvell}/phy-berlin-usb.c (100%)
> rename drivers/phy/{ => marvell}/phy-mvebu-sata.c (100%)
> rename drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c (100%)
> rename drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c (100%)
> create mode 100644 drivers/phy/qcom/Kconfig
> create mode 100644 drivers/phy/qcom/Makefile
> rename drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-i.h (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h (100%)
> rename drivers/phy/{ => qcom}/phy-qcom-ufs.c (100%)
> create mode 100644 drivers/phy/rcar/Kconfig
> create mode 100644 drivers/phy/rcar/Makefile
> rename drivers/phy/{ => rcar}/phy-rcar-gen2.c (100%)
> rename drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c (100%)
> create mode 100644 drivers/phy/rockchip/Kconfig
> create mode 100644 drivers/phy/rockchip/Makefile
> rename drivers/phy/{ => rockchip}/phy-rockchip-dp.c (100%)
> rename drivers/phy/{ => rockchip}/phy-rockchip-emmc.c (100%)
> rename drivers/phy/{ => rockchip}/phy-rockchip-usb.c (100%)
> create mode 100644 drivers/phy/samsung/Kconfig
> create mode 100644 drivers/phy/samsung/Makefile
> rename drivers/phy/{ => samsung}/phy-exynos-dp-video.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos-mipi-video.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos4210-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos5250-sata.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos5250-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-s5pv210-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-samsung-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-samsung-usb2.h (100%)
> create mode 100644 drivers/phy/st/Kconfig
> create mode 100644 drivers/phy/st/Makefile
> rename drivers/phy/{ => st}/phy-miphy28lp.c (100%)
> rename drivers/phy/{ => st}/phy-miphy365x.c (100%)
> rename drivers/phy/{ => st}/phy-spear1310-miphy.c (100%)
> rename drivers/phy/{ => st}/phy-spear1340-miphy.c (100%)
> rename drivers/phy/{ => st}/phy-stih407-usb.c (100%)
> rename drivers/phy/{ => st}/phy-stih41x-usb.c (100%)
> create mode 100644 drivers/phy/sunxi/Kconfig
> create mode 100644 drivers/phy/sunxi/Makefile
> rename drivers/phy/{ => sunxi}/phy-sun4i-usb.c (100%)
> rename drivers/phy/{ => sunxi}/phy-sun9i-usb.c (100%)
> create mode 100644 drivers/phy/ti/Kconfig
> create mode 100644 drivers/phy/ti/Makefile
> rename drivers/phy/{ => ti}/phy-dm816x-usb.c (100%)
> rename drivers/phy/{ => ti}/phy-omap-control.c (100%)
> rename drivers/phy/{ => ti}/phy-omap-usb2.c (100%)
> rename drivers/phy/{ => ti}/phy-ti-pipe3.c (100%)
> rename drivers/phy/{ => ti}/phy-tusb1210.c (100%)
> rename drivers/phy/{ => ti}/phy-twl4030-usb.c (100%)
> rename drivers/phy/{ => ti}/ulpi_phy.h (100%)
>
> diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
> index 26566db..80c8c68 100644
> --- a/drivers/phy/Kconfig
> +++ b/drivers/phy/Kconfig
> @@ -15,45 +15,6 @@ config GENERIC_PHY
> phy users can obtain reference to the PHY. All the users of this
> framework should select this config.
>
> -config PHY_BERLIN_USB
> - tristate "Marvell Berlin USB PHY Driver"
> - depends on ARCH_BERLIN && RESET_CONTROLLER && HAS_IOMEM && OF
> - select GENERIC_PHY
> - help
> - Enable this to support the USB PHY on Marvell Berlin SoCs.
> -
> -config PHY_BERLIN_SATA
> - tristate "Marvell Berlin SATA PHY driver"
> - depends on ARCH_BERLIN && HAS_IOMEM && OF
> - select GENERIC_PHY
> - help
> - Enable this to support the SATA PHY on Marvell Berlin SoCs.
> -
> -config ARMADA375_USBCLUSTER_PHY
> - def_bool y
> - depends on MACH_ARMADA_375 || COMPILE_TEST
> - depends on OF && HAS_IOMEM
> - select GENERIC_PHY
> -
> -config PHY_DM816X_USB
> - tristate "TI dm816x USB PHY driver"
> - depends on ARCH_OMAP2PLUS
> - depends on USB_SUPPORT
> - select GENERIC_PHY
> - select USB_PHY
> - help
> - Enable this for dm816x USB to work.
> -
> -config PHY_EXYNOS_MIPI_VIDEO
> - tristate "S5P/EXYNOS SoC series MIPI CSI-2/DSI PHY driver"
> - depends on HAS_IOMEM
> - depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
> - select GENERIC_PHY
> - default y if ARCH_S5PV210 || ARCH_EXYNOS
> - help
> - Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P
> - and EXYNOS SoCs.
> -
> config PHY_LPC18XX_USB_OTG
> tristate "NXP LPC18xx/43xx SoC USB OTG PHY driver"
> depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
> @@ -65,154 +26,6 @@ config PHY_LPC18XX_USB_OTG
> This driver is need for USB0 support on LPC18xx/43xx and takes
> care of enabling and clock setup.
>
> -config PHY_PXA_28NM_HSIC
> - tristate "Marvell USB HSIC 28nm PHY Driver"
> - depends on HAS_IOMEM
> - select GENERIC_PHY
> - help
> - Enable this to support Marvell USB HSIC PHY driver for Marvell
> - SoC. This driver will do the PHY initialization and shutdown.
> - The PHY driver will be used by Marvell ehci driver.
> -
> - To compile this driver as a module, choose M here.
> -
> -config PHY_PXA_28NM_USB2
> - tristate "Marvell USB 2.0 28nm PHY Driver"
> - depends on HAS_IOMEM
> - select GENERIC_PHY
> - help
> - Enable this to support Marvell USB 2.0 PHY driver for Marvell
> - SoC. This driver will do the PHY initialization and shutdown.
> - The PHY driver will be used by Marvell udc/ehci/otg driver.
> -
> - To compile this driver as a module, choose M here.
> -
> -config PHY_MVEBU_SATA
> - def_bool y
> - depends on ARCH_DOVE || MACH_DOVE || MACH_KIRKWOOD
> - depends on OF
> - select GENERIC_PHY
> -
> -config PHY_MIPHY28LP
> - tristate "STMicroelectronics MIPHY28LP PHY driver for STiH407"
> - depends on ARCH_STI
> - select GENERIC_PHY
> - help
> - Enable this to support the miphy transceiver (for SATA/PCIE/USB3)
> - that is part of STMicroelectronics STiH407 SoC.
> -
> -config PHY_MIPHY365X
> - tristate "STMicroelectronics MIPHY365X PHY driver for STiH41x series"
> - depends on ARCH_STI
> - depends on HAS_IOMEM
> - depends on OF
> - select GENERIC_PHY
> - help
> - Enable this to support the miphy transceiver (for SATA/PCIE)
> - that is part of STMicroelectronics STiH41x SoC series.
> -
> -config PHY_RCAR_GEN2
> - tristate "Renesas R-Car generation 2 USB PHY driver"
> - depends on ARCH_SHMOBILE
> - depends on GENERIC_PHY
> - help
> - Support for USB PHY found on Renesas R-Car generation 2 SoCs.
> -
> -config PHY_RCAR_GEN3_USB2
> - tristate "Renesas R-Car generation 3 USB 2.0 PHY driver"
> - depends on OF && ARCH_SHMOBILE
> - select GENERIC_PHY
> - help
> - Support for USB 2.0 PHY found on Renesas R-Car generation 3 SoCs.
> -
> -config OMAP_CONTROL_PHY
> - tristate "OMAP CONTROL PHY Driver"
> - depends on ARCH_OMAP2PLUS || COMPILE_TEST
> - help
> - Enable this to add support for the PHY part present in the control
> - module. This driver has API to power on the USB2 PHY and to write to
> - the mailbox. The mailbox is present only in omap4 and the register to
> - power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an
> - additional register to power on USB3 PHY/SATA PHY/PCIE PHY
> - (PIPE3 PHY).
> -
> -config OMAP_USB2
> - tristate "OMAP USB2 PHY Driver"
> - depends on ARCH_OMAP2PLUS
> - depends on USB_SUPPORT
> - select GENERIC_PHY
> - select USB_PHY
> - select OMAP_CONTROL_PHY
> - depends on OMAP_OCP2SCP
> - help
> - Enable this to support the transceiver that is part of SOC. This
> - driver takes care of all the PHY functionality apart from comparator.
> - The USB OTG controller communicates with the comparator using this
> - driver.
> -
> -config TI_PIPE3
> - tristate "TI PIPE3 PHY Driver"
> - depends on ARCH_OMAP2PLUS || COMPILE_TEST
> - select GENERIC_PHY
> - select OMAP_CONTROL_PHY
> - depends on OMAP_OCP2SCP
> - help
> - Enable this to support the PIPE3 PHY that is part of TI SOCs. This
> - driver takes care of all the PHY functionality apart from comparator.
> - This driver interacts with the "OMAP Control PHY Driver" to power
> - on/off the PHY.
> -
> -config TWL4030_USB
> - tristate "TWL4030 USB Transceiver Driver"
> - depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
> - depends on USB_SUPPORT
> - select GENERIC_PHY
> - select USB_PHY
> - help
> - Enable this to support the USB OTG transceiver on TWL4030
> - family chips (including the TWL5030 and TPS659x0 devices).
> - This transceiver supports high and full speed devices plus,
> - in host mode, low speed.
> -
> -config PHY_EXYNOS_DP_VIDEO
> - tristate "EXYNOS SoC series Display Port PHY driver"
> - depends on OF
> - depends on ARCH_EXYNOS || COMPILE_TEST
> - default ARCH_EXYNOS
> - select GENERIC_PHY
> - help
> - Support for Display Port PHY found on Samsung EXYNOS SoCs.
> -
> -config BCM_KONA_USB2_PHY
> - tristate "Broadcom Kona USB2 PHY Driver"
> - depends on HAS_IOMEM
> - select GENERIC_PHY
> - help
> - Enable this to support the Broadcom Kona USB 2.0 PHY.
> -
> -config PHY_EXYNOS5250_SATA
> - tristate "Exynos5250 Sata SerDes/PHY driver"
> - depends on SOC_EXYNOS5250
> - depends on HAS_IOMEM
> - depends on OF
> - select GENERIC_PHY
> - select I2C
> - select I2C_S3C2410
> - select MFD_SYSCON
> - help
> - Enable this to support SATA SerDes/Phy found on Samsung's
> - Exynos5250 based SoCs.This SerDes/Phy supports SATA 1.5 Gb/s,
> - SATA 3.0 Gb/s, SATA 6.0 Gb/s speeds. It supports one SATA host
> - port to accept one SATA device.
> -
> -config PHY_HIX5HD2_SATA
> - tristate "HIX5HD2 SATA PHY Driver"
> - depends on ARCH_HIX5HD2 && OF && HAS_IOMEM
> - select GENERIC_PHY
> - select MFD_SYSCON
> - help
> - Support for SATA PHY on Hisilicon hix5hd2 Soc.
> -
> config PHY_MT65XX_USB3
> tristate "Mediatek USB3.0 PHY Driver"
> depends on ARCH_MEDIATEK && OF
> @@ -222,93 +35,6 @@ config PHY_MT65XX_USB3
> for mt65xx SoCs. it supports two usb2.0 ports and
> one usb3.0 port.
>
> -config PHY_HI6220_USB
> - tristate "hi6220 USB PHY support"
> - depends on (ARCH_HISI && ARM64) || COMPILE_TEST
> - select GENERIC_PHY
> - select MFD_SYSCON
> - help
> - Enable this to support the HISILICON HI6220 USB PHY.
> -
> - To compile this driver as a module, choose M here.
> -
> -config PHY_SUN4I_USB
> - tristate "Allwinner sunxi SoC USB PHY driver"
> - depends on ARCH_SUNXI && HAS_IOMEM && OF
> - depends on RESET_CONTROLLER
> - depends on EXTCON
> - depends on POWER_SUPPLY
> - select GENERIC_PHY
> - help
> - Enable this to support the transceiver that is part of Allwinner
> - sunxi SoCs.
> -
> - This driver controls the entire USB PHY block, both the USB OTG
> - parts, as well as the 2 regular USB 2 host PHYs.
> -
> -config PHY_SUN9I_USB
> - tristate "Allwinner sun9i SoC USB PHY driver"
> - depends on ARCH_SUNXI && HAS_IOMEM && OF
> - depends on RESET_CONTROLLER
> - depends on USB_COMMON
> - select GENERIC_PHY
> - help
> - Enable this to support the transceiver that is part of Allwinner
> - sun9i SoCs.
> -
> - This driver controls each individual USB 2 host PHY.
> -
> -config PHY_SAMSUNG_USB2
> - tristate "Samsung USB 2.0 PHY driver"
> - depends on HAS_IOMEM
> - depends on USB_EHCI_EXYNOS || USB_OHCI_EXYNOS || USB_DWC2
> - select GENERIC_PHY
> - select MFD_SYSCON
> - default ARCH_EXYNOS
> - help
> - Enable this to support the Samsung USB 2.0 PHY driver for Samsung
> - SoCs. This driver provides the interface for USB 2.0 PHY. Support
> - for particular PHYs will be enabled based on the SoC type in addition
> - to this driver.
> -
> -config PHY_S5PV210_USB2
> - bool "Support for S5PV210"
> - depends on PHY_SAMSUNG_USB2
> - depends on ARCH_S5PV210
> - help
> - Enable USB PHY support for S5PV210. This option requires that Samsung
> - USB 2.0 PHY driver is enabled and means that support for this
> - particular SoC is compiled in the driver. In case of S5PV210 two phys
> - are available - device and host.
> -
> -config PHY_EXYNOS4210_USB2
> - bool
> - depends on PHY_SAMSUNG_USB2
> - default CPU_EXYNOS4210
> -
> -config PHY_EXYNOS4X12_USB2
> - bool
> - depends on PHY_SAMSUNG_USB2
> - default SOC_EXYNOS3250 || SOC_EXYNOS4212 || SOC_EXYNOS4412
> -
> -config PHY_EXYNOS5250_USB2
> - bool
> - depends on PHY_SAMSUNG_USB2
> - default SOC_EXYNOS5250 || SOC_EXYNOS5420
> -
> -config PHY_EXYNOS5_USBDRD
> - tristate "Exynos5 SoC series USB DRD PHY driver"
> - depends on ARCH_EXYNOS && OF
> - depends on HAS_IOMEM
> - depends on USB_DWC3_EXYNOS
> - select GENERIC_PHY
> - select MFD_SYSCON
> - default y
> - help
> - Enable USB DRD PHY support for Exynos 5 SoC series.
> - This driver provides PHY interface for USB 3.0 DRD controller
> - present on Exynos5 SoC series.
> -
> config PHY_PISTACHIO_USB
> tristate "IMG Pistachio USB2.0 PHY driver"
> depends on MACH_PISTACHIO
> @@ -316,55 +42,6 @@ config PHY_PISTACHIO_USB
> help
> Enable this to support the USB2.0 PHY on the IMG Pistachio SoC.
>
> -config PHY_QCOM_APQ8064_SATA
> - tristate "Qualcomm APQ8064 SATA SerDes/PHY driver"
> - depends on ARCH_QCOM
> - depends on HAS_IOMEM
> - depends on OF
> - select GENERIC_PHY
> -
> -config PHY_QCOM_IPQ806X_SATA
> - tristate "Qualcomm IPQ806x SATA SerDes/PHY driver"
> - depends on ARCH_QCOM
> - depends on HAS_IOMEM
> - depends on OF
> - select GENERIC_PHY
> -
> -config PHY_ROCKCHIP_USB
> - tristate "Rockchip USB2 PHY Driver"
> - depends on ARCH_ROCKCHIP && OF
> - select GENERIC_PHY
> - help
> - Enable this to support the Rockchip USB 2.0 PHY.
> -
> -config PHY_ROCKCHIP_EMMC
> - tristate "Rockchip EMMC PHY Driver"
> - depends on ARCH_ROCKCHIP && OF
> - select GENERIC_PHY
> - help
> - Enable this to support the Rockchip EMMC PHY.
> -
> -config PHY_ROCKCHIP_DP
> - tristate "Rockchip Display Port PHY Driver"
> - depends on ARCH_ROCKCHIP && OF
> - select GENERIC_PHY
> - help
> - Enable this to support the Rockchip Display Port PHY.
> -
> -config PHY_ST_SPEAR1310_MIPHY
> - tristate "ST SPEAR1310-MIPHY driver"
> - select GENERIC_PHY
> - depends on MACH_SPEAR1310 || COMPILE_TEST
> - help
> - Support for ST SPEAr1310 MIPHY which can be used for PCIe and SATA.
> -
> -config PHY_ST_SPEAR1340_MIPHY
> - tristate "ST SPEAR1340-MIPHY driver"
> - select GENERIC_PHY
> - depends on MACH_SPEAR1340 || COMPILE_TEST
> - help
> - Support for ST SPEAr1340 MIPHY which can be used for PCIe and SATA.
> -
> config PHY_XGENE
> tristate "APM X-Gene 15Gbps PHY support"
> depends on HAS_IOMEM && OF && (ARM64 || COMPILE_TEST)
> @@ -372,53 +49,20 @@ config PHY_XGENE
> help
> This option enables support for APM X-Gene SoC multi-purpose PHY.
>
> -config PHY_STIH407_USB
> - tristate "STMicroelectronics USB2 picoPHY driver for STiH407 family"
> - depends on RESET_CONTROLLER
> - depends on ARCH_STI || COMPILE_TEST
> - select GENERIC_PHY
> - help
> - Enable this support to enable the picoPHY device used by USB2
> - and USB3 controllers on STMicroelectronics STiH407 SoC families.
> -
> -config PHY_STIH41X_USB
> - tristate "STMicroelectronics USB2 PHY driver for STiH41x series"
> - depends on ARCH_STI
> - select GENERIC_PHY
> - help
> - Enable this to support the USB transceiver that is part of
> - STMicroelectronics STiH41x SoC series.
> -
> -config PHY_QCOM_UFS
> - tristate "Qualcomm UFS PHY driver"
> - depends on OF && ARCH_QCOM
> - select GENERIC_PHY
> - help
> - Support for UFS PHY on QCOM chipsets.
> -
> -config PHY_TUSB1210
> - tristate "TI TUSB1210 ULPI PHY module"
> - depends on USB_ULPI_BUS
> - select GENERIC_PHY
> - help
> - Support for TI TUSB1210 USB ULPI PHY.
> -
> -config PHY_BRCMSTB_SATA
> - tristate "Broadcom STB SATA PHY driver"
> - depends on ARCH_BRCMSTB || BMIPS_GENERIC
> - depends on OF
> - select GENERIC_PHY
> - help
> - Enable this to support the SATA3 PHY on 28nm or 40nm Broadcom STB
> SoCs. - Likely useful only with CONFIG_SATA_BRCMSTB enabled.
> -
> -config PHY_CYGNUS_PCIE
> - tristate "Broadcom Cygnus PCIe PHY driver"
> - depends on OF && (ARCH_BCM_CYGNUS || COMPILE_TEST)
> - select GENERIC_PHY
> - default ARCH_BCM_CYGNUS
> - help
> - Enable this to support the Broadcom Cygnus PCIe PHY.
> - If unsure, say N.
> +menuconfig PHY_PLAT
> + bool "Platform Phy drivers"
> +
> +if PHY_PLAT
> +source "drivers/phy/bcom/Kconfig"
> +source "drivers/phy/hisi/Kconfig"
> +source "drivers/phy/marvell/Kconfig"
> +source "drivers/phy/qcom/Kconfig"
> +source "drivers/phy/rcar/Kconfig"
> +source "drivers/phy/rockchip/Kconfig"
> +source "drivers/phy/samsung/Kconfig"
> +source "drivers/phy/st/Kconfig"
> +source "drivers/phy/sunxi/Kconfig"
> +source "drivers/phy/ti/Kconfig"
> +endif
>
> endmenu
> diff --git a/drivers/phy/Makefile b/drivers/phy/Makefile
> index 24596a9..73d563b 100644
> --- a/drivers/phy/Makefile
> +++ b/drivers/phy/Makefile
> @@ -3,52 +3,19 @@
> #
>
> obj-$(CONFIG_GENERIC_PHY) += phy-core.o
> -obj-$(CONFIG_PHY_BERLIN_USB) += phy-berlin-usb.o
> -obj-$(CONFIG_PHY_BERLIN_SATA) += phy-berlin-sata.o
> -obj-$(CONFIG_PHY_DM816X_USB) += phy-dm816x-usb.o
> -obj-$(CONFIG_ARMADA375_USBCLUSTER_PHY) += phy-armada375-usb2.o
> -obj-$(CONFIG_BCM_KONA_USB2_PHY) += phy-bcm-kona-usb2.o
> -obj-$(CONFIG_PHY_EXYNOS_DP_VIDEO) += phy-exynos-dp-video.o
> -obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO) += phy-exynos-mipi-video.o
> obj-$(CONFIG_PHY_LPC18XX_USB_OTG) += phy-lpc18xx-usb-otg.o
> -obj-$(CONFIG_PHY_PXA_28NM_USB2) += phy-pxa-28nm-usb2.o
> -obj-$(CONFIG_PHY_PXA_28NM_HSIC) += phy-pxa-28nm-hsic.o
> -obj-$(CONFIG_PHY_MVEBU_SATA) += phy-mvebu-sata.o
> -obj-$(CONFIG_PHY_MIPHY28LP) += phy-miphy28lp.o
> -obj-$(CONFIG_PHY_MIPHY365X) += phy-miphy365x.o
> -obj-$(CONFIG_PHY_RCAR_GEN2) += phy-rcar-gen2.o
> -obj-$(CONFIG_PHY_RCAR_GEN3_USB2) += phy-rcar-gen3-usb2.o
> -obj-$(CONFIG_OMAP_CONTROL_PHY) += phy-omap-control.o
> -obj-$(CONFIG_OMAP_USB2) += phy-omap-usb2.o
> -obj-$(CONFIG_TI_PIPE3) += phy-ti-pipe3.o
> -obj-$(CONFIG_TWL4030_USB) += phy-twl4030-usb.o
> -obj-$(CONFIG_PHY_EXYNOS5250_SATA) += phy-exynos5250-sata.o
> -obj-$(CONFIG_PHY_HIX5HD2_SATA) += phy-hix5hd2-sata.o
> -obj-$(CONFIG_PHY_HI6220_USB) += phy-hi6220-usb.o
> obj-$(CONFIG_PHY_MT65XX_USB3) += phy-mt65xx-usb3.o
> -obj-$(CONFIG_PHY_SUN4I_USB) += phy-sun4i-usb.o
> -obj-$(CONFIG_PHY_SUN9I_USB) += phy-sun9i-usb.o
> -obj-$(CONFIG_PHY_SAMSUNG_USB2) += phy-exynos-usb2.o
> -phy-exynos-usb2-y += phy-samsung-usb2.o
> -phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4210_USB2) += phy-exynos4210-usb2.o
> -phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4X12_USB2) += phy-exynos4x12-usb2.o
> -phy-exynos-usb2-$(CONFIG_PHY_EXYNOS5250_USB2) += phy-exynos5250-usb2.o
> -phy-exynos-usb2-$(CONFIG_PHY_S5PV210_USB2) += phy-s5pv210-usb2.o
> -obj-$(CONFIG_PHY_EXYNOS5_USBDRD) += phy-exynos5-usbdrd.o
> -obj-$(CONFIG_PHY_QCOM_APQ8064_SATA) += phy-qcom-apq8064-sata.o
> -obj-$(CONFIG_PHY_ROCKCHIP_USB) += phy-rockchip-usb.o
> -obj-$(CONFIG_PHY_ROCKCHIP_EMMC) += phy-rockchip-emmc.o
> -obj-$(CONFIG_PHY_ROCKCHIP_DP) += phy-rockchip-dp.o
> -obj-$(CONFIG_PHY_QCOM_IPQ806X_SATA) += phy-qcom-ipq806x-sata.o
> -obj-$(CONFIG_PHY_ST_SPEAR1310_MIPHY) += phy-spear1310-miphy.o
> -obj-$(CONFIG_PHY_ST_SPEAR1340_MIPHY) += phy-spear1340-miphy.o
> obj-$(CONFIG_PHY_XGENE) += phy-xgene.o
> -obj-$(CONFIG_PHY_STIH407_USB) += phy-stih407-usb.o
> -obj-$(CONFIG_PHY_STIH41X_USB) += phy-stih41x-usb.o
> -obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs.o
> -obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs-qmp-20nm.o
> -obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs-qmp-14nm.o
> -obj-$(CONFIG_PHY_TUSB1210) += phy-tusb1210.o
> -obj-$(CONFIG_PHY_BRCMSTB_SATA) += phy-brcmstb-sata.o
> obj-$(CONFIG_PHY_PISTACHIO_USB) += phy-pistachio-usb.o
> -obj-$(CONFIG_PHY_CYGNUS_PCIE) += phy-bcm-cygnus-pcie.o
> +
> +# Phy drivers for different platforms.
> +obj-$(CONFIG_PHY_PLAT) += bcom/ \
> + hisi/ \
> + marvell/ \
> + qcom/ \
> + rcar/ \
> + rockchip/ \
> + samsung/ \
> + st/ \
> + sunxi/ \
> + ti/
> diff --git a/drivers/phy/bcom/Kconfig b/drivers/phy/bcom/Kconfig
> new file mode 100644
> index 0000000..8243372
> --- /dev/null
> +++ b/drivers/phy/bcom/Kconfig
> @@ -0,0 +1,27 @@
> +#
> +# PHY drivers for Broadcom platforms
> +#
> +config PHY_CYGNUS_PCIE
> + tristate "Broadcom Cygnus PCIe PHY driver"
> + depends on OF && (ARCH_BCM_CYGNUS || COMPILE_TEST)
> + select GENERIC_PHY
> + default ARCH_BCM_CYGNUS
> + help
> + Enable this to support the Broadcom Cygnus PCIe PHY.
> + If unsure, say N.
> +
> +config BCM_KONA_USB2_PHY
> + tristate "Broadcom Kona USB2 PHY Driver"
> + depends on HAS_IOMEM
> + select GENERIC_PHY
> + help
> + Enable this to support the Broadcom Kona USB 2.0 PHY.
> +
> +config PHY_BRCMSTB_SATA
> + tristate "Broadcom STB SATA PHY driver"
> + depends on ARCH_BRCMSTB || BMIPS_GENERIC
> + depends on OF
> + select GENERIC_PHY
> + help
> + Enable this to support the SATA3 PHY on 28nm or 40nm Broadcom STB
> SoCs. + Likely useful only with CONFIG_SATA_BRCMSTB enabled.
> diff --git a/drivers/phy/bcom/Makefile b/drivers/phy/bcom/Makefile
> new file mode 100644
> index 0000000..f30fa76
> --- /dev/null
> +++ b/drivers/phy/bcom/Makefile
> @@ -0,0 +1,3 @@
> +obj-$(CONFIG_PHY_CYGNUS_PCIE) += phy-bcm-cygnus-pcie.o
> +obj-$(CONFIG_BCM_KONA_USB2_PHY) += phy-bcm-kona-usb2.o
> +obj-$(CONFIG_PHY_BRCMSTB_SATA) += phy-brcmstb-sata.o
> diff --git a/drivers/phy/phy-bcm-cygnus-pcie.c
> b/drivers/phy/bcom/phy-bcm-cygnus-pcie.c similarity index 100%
> rename from drivers/phy/phy-bcm-cygnus-pcie.c
> rename to drivers/phy/bcom/phy-bcm-cygnus-pcie.c
> diff --git a/drivers/phy/phy-bcm-kona-usb2.c
> b/drivers/phy/bcom/phy-bcm-kona-usb2.c similarity index 100%
> rename from drivers/phy/phy-bcm-kona-usb2.c
> rename to drivers/phy/bcom/phy-bcm-kona-usb2.c
> diff --git a/drivers/phy/phy-brcmstb-sata.c
> b/drivers/phy/bcom/phy-brcmstb-sata.c similarity index 100%
> rename from drivers/phy/phy-brcmstb-sata.c
> rename to drivers/phy/bcom/phy-brcmstb-sata.c
> diff --git a/drivers/phy/hisi/Kconfig b/drivers/phy/hisi/Kconfig
> new file mode 100644
> index 0000000..affa9ed
> --- /dev/null
> +++ b/drivers/phy/hisi/Kconfig
> @@ -0,0 +1,20 @@
> +#
> +# PHY drivers for HiSilicon platforms
> +#
> +config PHY_HIX5HD2_SATA
> + tristate "HIX5HD2 SATA PHY Driver"
> + depends on ARCH_HIX5HD2 && OF && HAS_IOMEM
> + select GENERIC_PHY
> + select MFD_SYSCON
> + help
> + Support for SATA PHY on Hisilicon hix5hd2 Soc.
> +
> +config PHY_HI6220_USB
> + tristate "hi6220 USB PHY support"
> + depends on (ARCH_HISI && ARM64) || COMPILE_TEST
> + select GENERIC_PHY
> + select MFD_SYSCON
> + help
> + Enable this to support the HISILICON HI6220 USB PHY.
> +
> + To compile this driver as a module, choose M here.
> diff --git a/drivers/phy/hisi/Makefile b/drivers/phy/hisi/Makefile
> new file mode 100644
> index 0000000..6059ed8
> --- /dev/null
> +++ b/drivers/phy/hisi/Makefile
> @@ -0,0 +1,2 @@
> +obj-$(CONFIG_PHY_HIX5HD2_SATA) += phy-hix5hd2-sata.o
> +obj-$(CONFIG_PHY_HI6220_USB) += phy-hi6220-usb.o
> diff --git a/drivers/phy/phy-hi6220-usb.c
> b/drivers/phy/hisi/phy-hi6220-usb.c similarity index 100%
> rename from drivers/phy/phy-hi6220-usb.c
> rename to drivers/phy/hisi/phy-hi6220-usb.c
> diff --git a/drivers/phy/phy-hix5hd2-sata.c
> b/drivers/phy/hisi/phy-hix5hd2-sata.c similarity index 100%
> rename from drivers/phy/phy-hix5hd2-sata.c
> rename to drivers/phy/hisi/phy-hix5hd2-sata.c
> diff --git a/drivers/phy/marvell/Kconfig b/drivers/phy/marvell/Kconfig
> new file mode 100644
> index 0000000..6c1576c
> --- /dev/null
> +++ b/drivers/phy/marvell/Kconfig
> @@ -0,0 +1,50 @@
> +#
> +# PHY drivers for Marvell platforms
> +#
> +config ARMADA375_USBCLUSTER_PHY
> + def_bool y
> + depends on MACH_ARMADA_375 || COMPILE_TEST
> + depends on OF && HAS_IOMEM
> + select GENERIC_PHY
> +
> +config PHY_BERLIN_USB
> + tristate "Marvell Berlin USB PHY Driver"
> + depends on ARCH_BERLIN && RESET_CONTROLLER && HAS_IOMEM && OF
> + select GENERIC_PHY
> + help
> + Enable this to support the USB PHY on Marvell Berlin SoCs.
> +
> +config PHY_BERLIN_SATA
> + tristate "Marvell Berlin SATA PHY driver"
> + depends on ARCH_BERLIN && HAS_IOMEM && OF
> + select GENERIC_PHY
> + help
> + Enable this to support the SATA PHY on Marvell Berlin SoCs.
> +
> +config PHY_MVEBU_SATA
> + def_bool y
> + depends on ARCH_DOVE || MACH_DOVE || MACH_KIRKWOOD
> + depends on OF
> + select GENERIC_PHY
> +
> +config PHY_PXA_28NM_HSIC
> + tristate "Marvell USB HSIC 28nm PHY Driver"
> + depends on HAS_IOMEM
> + select GENERIC_PHY
> + help
> + Enable this to support Marvell USB HSIC PHY driver for Marvell
> + SoC. This driver will do the PHY initialization and shutdown.
> + The PHY driver will be used by Marvell ehci driver.
> +
> + To compile this driver as a module, choose M here.
> +
> +config PHY_PXA_28NM_USB2
> + tristate "Marvell USB 2.0 28nm PHY Driver"
> + depends on HAS_IOMEM
> + select GENERIC_PHY
> + help
> + Enable this to support Marvell USB 2.0 PHY driver for Marvell
> + SoC. This driver will do the PHY initialization and shutdown.
> + The PHY driver will be used by Marvell udc/ehci/otg driver.
> +
> + 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 0000000..f4fa255
> --- /dev/null
> +++ b/drivers/phy/marvell/Makefile
> @@ -0,0 +1,6 @@
> +obj-$(CONFIG_ARMADA375_USBCLUSTER_PHY) += phy-armada375-usb2.o
> +obj-$(CONFIG_PHY_BERLIN_USB) += phy-berlin-usb.o
> +obj-$(CONFIG_PHY_BERLIN_SATA) += phy-berlin-sata.o
> +obj-$(CONFIG_PHY_MVEBU_SATA) += phy-mvebu-sata.o
> +obj-$(CONFIG_PHY_PXA_28NM_USB2) += phy-pxa-28nm-usb2.o
> +obj-$(CONFIG_PHY_PXA_28NM_HSIC) += phy-pxa-28nm-hsic.o
> diff --git a/drivers/phy/phy-armada375-usb2.c
> b/drivers/phy/marvell/phy-armada375-usb2.c similarity index 100%
> rename from drivers/phy/phy-armada375-usb2.c
> rename to drivers/phy/marvell/phy-armada375-usb2.c
> diff --git a/drivers/phy/phy-berlin-sata.c
> b/drivers/phy/marvell/phy-berlin-sata.c similarity index 100%
> rename from drivers/phy/phy-berlin-sata.c
> rename to drivers/phy/marvell/phy-berlin-sata.c
> diff --git a/drivers/phy/phy-berlin-usb.c
> b/drivers/phy/marvell/phy-berlin-usb.c similarity index 100%
> rename from drivers/phy/phy-berlin-usb.c
> rename to drivers/phy/marvell/phy-berlin-usb.c
> diff --git a/drivers/phy/phy-mvebu-sata.c
> b/drivers/phy/marvell/phy-mvebu-sata.c similarity index 100%
> rename from drivers/phy/phy-mvebu-sata.c
> rename to 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 similarity index 100%
> rename from drivers/phy/phy-pxa-28nm-hsic.c
> rename to 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 similarity index 100%
> rename from drivers/phy/phy-pxa-28nm-usb2.c
> rename to drivers/phy/marvell/phy-pxa-28nm-usb2.c
> diff --git a/drivers/phy/qcom/Kconfig b/drivers/phy/qcom/Kconfig
> new file mode 100644
> index 0000000..9718d01
> --- /dev/null
> +++ b/drivers/phy/qcom/Kconfig
> @@ -0,0 +1,23 @@
> +#
> +# PHY drivers for Qualcomm platforms
> +#
> +config PHY_QCOM_APQ8064_SATA
> + tristate "Qualcomm APQ8064 SATA SerDes/PHY driver"
> + depends on ARCH_QCOM
> + depends on HAS_IOMEM
> + depends on OF
> + select GENERIC_PHY
> +
> +config PHY_QCOM_IPQ806X_SATA
> + tristate "Qualcomm IPQ806x SATA SerDes/PHY driver"
> + depends on ARCH_QCOM
> + depends on HAS_IOMEM
> + depends on OF
> + select GENERIC_PHY
> +
> +config PHY_QCOM_UFS
> + tristate "Qualcomm UFS PHY driver"
> + depends on OF && ARCH_QCOM
> + select GENERIC_PHY
> + help
> + Support for UFS PHY on QCOM chipsets.
> diff --git a/drivers/phy/qcom/Makefile b/drivers/phy/qcom/Makefile
> new file mode 100644
> index 0000000..2db3e77
> --- /dev/null
> +++ b/drivers/phy/qcom/Makefile
> @@ -0,0 +1,5 @@
> +obj-$(CONFIG_PHY_QCOM_APQ8064_SATA) += phy-qcom-apq8064-sata.o
> +obj-$(CONFIG_PHY_QCOM_IPQ806X_SATA) += phy-qcom-ipq806x-sata.o
> +obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs.o \
> + += phy-qcom-ufs-qmp-20nm.o \
> + += phy-qcom-ufs-qmp-14nm.o
> diff --git a/drivers/phy/phy-qcom-apq8064-sata.c
> b/drivers/phy/qcom/phy-qcom-apq8064-sata.c similarity index 100%
> rename from drivers/phy/phy-qcom-apq8064-sata.c
> rename to drivers/phy/qcom/phy-qcom-apq8064-sata.c
> diff --git a/drivers/phy/phy-qcom-ipq806x-sata.c
> b/drivers/phy/qcom/phy-qcom-ipq806x-sata.c similarity index 100%
> rename from drivers/phy/phy-qcom-ipq806x-sata.c
> rename to drivers/phy/qcom/phy-qcom-ipq806x-sata.c
> diff --git a/drivers/phy/phy-qcom-ufs-i.h
> b/drivers/phy/qcom/phy-qcom-ufs-i.h similarity index 100%
> rename from drivers/phy/phy-qcom-ufs-i.h
> rename to drivers/phy/qcom/phy-qcom-ufs-i.h
> diff --git a/drivers/phy/phy-qcom-ufs-qmp-14nm.c
> b/drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.c similarity index 100%
> rename from drivers/phy/phy-qcom-ufs-qmp-14nm.c
> rename to drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.c
> diff --git a/drivers/phy/phy-qcom-ufs-qmp-14nm.h
> b/drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.h similarity index 100%
> rename from drivers/phy/phy-qcom-ufs-qmp-14nm.h
> rename to drivers/phy/qcom/phy-qcom-ufs-qmp-14nm.h
> diff --git a/drivers/phy/phy-qcom-ufs-qmp-20nm.c
> b/drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.c similarity index 100%
> rename from drivers/phy/phy-qcom-ufs-qmp-20nm.c
> rename to drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.c
> diff --git a/drivers/phy/phy-qcom-ufs-qmp-20nm.h
> b/drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.h similarity index 100%
> rename from drivers/phy/phy-qcom-ufs-qmp-20nm.h
> rename to drivers/phy/qcom/phy-qcom-ufs-qmp-20nm.h
> diff --git a/drivers/phy/phy-qcom-ufs.c b/drivers/phy/qcom/phy-qcom-ufs.c
> similarity index 100%
> rename from drivers/phy/phy-qcom-ufs.c
> rename to drivers/phy/qcom/phy-qcom-ufs.c
> diff --git a/drivers/phy/rcar/Kconfig b/drivers/phy/rcar/Kconfig
> new file mode 100644
> index 0000000..169b5e2
> --- /dev/null
> +++ b/drivers/phy/rcar/Kconfig
> @@ -0,0 +1,16 @@
> +#
> +# PHY drivers for Renesas's r-car platforms
> +#
> +config PHY_RCAR_GEN2
> + tristate "Renesas R-Car generation 2 USB PHY driver"
> + depends on ARCH_SHMOBILE
> + depends on GENERIC_PHY
> + help
> + Support for USB PHY found on Renesas R-Car generation 2 SoCs.
> +
> +config PHY_RCAR_GEN3_USB2
> + tristate "Renesas R-Car generation 3 USB 2.0 PHY driver"
> + depends on OF && ARCH_SHMOBILE
> + select GENERIC_PHY
> + help
> + Support for USB 2.0 PHY found on Renesas R-Car generation 3 SoCs.
> diff --git a/drivers/phy/rcar/Makefile b/drivers/phy/rcar/Makefile
> new file mode 100644
> index 0000000..695241a
> --- /dev/null
> +++ b/drivers/phy/rcar/Makefile
> @@ -0,0 +1,2 @@
> +obj-$(CONFIG_PHY_RCAR_GEN2) += phy-rcar-gen2.o
> +obj-$(CONFIG_PHY_RCAR_GEN3_USB2) += phy-rcar-gen3-usb2.o
> diff --git a/drivers/phy/phy-rcar-gen2.c
> b/drivers/phy/rcar/phy-rcar-gen2.c similarity index 100%
> rename from drivers/phy/phy-rcar-gen2.c
> rename to drivers/phy/rcar/phy-rcar-gen2.c
> diff --git a/drivers/phy/phy-rcar-gen3-usb2.c
> b/drivers/phy/rcar/phy-rcar-gen3-usb2.c similarity index 100%
> rename from drivers/phy/phy-rcar-gen3-usb2.c
> rename to drivers/phy/rcar/phy-rcar-gen3-usb2.c
> diff --git a/drivers/phy/rockchip/Kconfig b/drivers/phy/rockchip/Kconfig
> new file mode 100644
> index 0000000..c575d1e
> --- /dev/null
> +++ b/drivers/phy/rockchip/Kconfig
> @@ -0,0 +1,23 @@
> +#
> +# PHY drivers for Rockchip platforms
> +#
> +config PHY_ROCKCHIP_USB
> + tristate "Rockchip USB2 PHY Driver"
> + depends on ARCH_ROCKCHIP && OF
> + select GENERIC_PHY
> + help
> + Enable this to support the Rockchip USB 2.0 PHY.
> +
> +config PHY_ROCKCHIP_EMMC
> + tristate "Rockchip EMMC PHY Driver"
> + depends on ARCH_ROCKCHIP && OF
> + select GENERIC_PHY
> + help
> + Enable this to support the Rockchip EMMC PHY.
> +
> +config PHY_ROCKCHIP_DP
> + tristate "Rockchip Display Port PHY Driver"
> + depends on ARCH_ROCKCHIP && OF
> + select GENERIC_PHY
> + help
> + Enable this to support the Rockchip Display Port PHY.
> diff --git a/drivers/phy/rockchip/Makefile b/drivers/phy/rockchip/Makefile
> new file mode 100644
> index 0000000..c15acc1
> --- /dev/null
> +++ b/drivers/phy/rockchip/Makefile
> @@ -0,0 +1,3 @@
> +obj-$(CONFIG_PHY_ROCKCHIP_DP) += phy-rockchip-dp.o
> +obj-$(CONFIG_PHY_ROCKCHIP_EMMC) += phy-rockchip-emmc.o
> +obj-$(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 similarity index 100%
> rename from drivers/phy/phy-rockchip-dp.c
> rename to drivers/phy/rockchip/phy-rockchip-dp.c
> diff --git a/drivers/phy/phy-rockchip-emmc.c
> b/drivers/phy/rockchip/phy-rockchip-emmc.c similarity index 100%
> rename from drivers/phy/phy-rockchip-emmc.c
> rename to drivers/phy/rockchip/phy-rockchip-emmc.c
> diff --git a/drivers/phy/phy-rockchip-usb.c
> b/drivers/phy/rockchip/phy-rockchip-usb.c similarity index 100%
> rename from drivers/phy/phy-rockchip-usb.c
> rename to drivers/phy/rockchip/phy-rockchip-usb.c
> diff --git a/drivers/phy/samsung/Kconfig b/drivers/phy/samsung/Kconfig
> new file mode 100644
> index 0000000..80bdea7
> --- /dev/null
> +++ b/drivers/phy/samsung/Kconfig
> @@ -0,0 +1,87 @@
> +#
> +# PHY drivers for Samsung platforms
> +#
> +config PHY_SAMSUNG_USB2
> + tristate "Samsung USB 2.0 PHY driver"
> + depends on HAS_IOMEM
> + depends on USB_EHCI_EXYNOS || USB_OHCI_EXYNOS || USB_DWC2
> + select GENERIC_PHY
> + select MFD_SYSCON
> + default ARCH_EXYNOS
> + help
> + Enable this to support the Samsung USB 2.0 PHY driver for Samsung
> + SoCs. This driver provides the interface for USB 2.0 PHY. Support
> + for particular PHYs will be enabled based on the SoC type in addition
> + to this driver.
> +
> +config PHY_S5PV210_USB2
> + bool "Support for S5PV210"
> + depends on PHY_SAMSUNG_USB2
> + depends on ARCH_S5PV210
> + help
> + Enable USB PHY support for S5PV210. This option requires that Samsung
> + USB 2.0 PHY driver is enabled and means that support for this
> + particular SoC is compiled in the driver. In case of S5PV210 two phys
> + are available - device and host.
> +
> +config PHY_EXYNOS4210_USB2
> + bool
> + depends on PHY_SAMSUNG_USB2
> + default CPU_EXYNOS4210
> +
> +config PHY_EXYNOS4X12_USB2
> + bool
> + depends on PHY_SAMSUNG_USB2
> + default SOC_EXYNOS3250 || SOC_EXYNOS4212 || SOC_EXYNOS4412
> +
> +config PHY_EXYNOS5250_USB2
> + bool
> + depends on PHY_SAMSUNG_USB2
> + default SOC_EXYNOS5250 || SOC_EXYNOS5420
> +
> +config PHY_EXYNOS5_USBDRD
> + tristate "Exynos5 SoC series USB DRD PHY driver"
> + depends on ARCH_EXYNOS && OF
> + depends on HAS_IOMEM
> + depends on USB_DWC3_EXYNOS
> + select GENERIC_PHY
> + select MFD_SYSCON
> + default y
> + help
> + Enable USB DRD PHY support for Exynos 5 SoC series.
> + This driver provides PHY interface for USB 3.0 DRD controller
> + present on Exynos5 SoC series.
> +
> +config PHY_EXYNOS_DP_VIDEO
> + tristate "EXYNOS SoC series Display Port PHY driver"
> + depends on OF
> + depends on ARCH_EXYNOS || COMPILE_TEST
> + default ARCH_EXYNOS
> + select GENERIC_PHY
> + help
> + Support for Display Port PHY found on Samsung EXYNOS SoCs.
> +
> +config PHY_EXYNOS_MIPI_VIDEO
> + tristate "S5P/EXYNOS SoC series MIPI CSI-2/DSI PHY driver"
> + depends on HAS_IOMEM
> + depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
> + select GENERIC_PHY
> + default y if ARCH_S5PV210 || ARCH_EXYNOS
> + help
> + Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P
> + and EXYNOS SoCs.
> +
> +config PHY_EXYNOS5250_SATA
> + tristate "Exynos5250 Sata SerDes/PHY driver"
> + depends on SOC_EXYNOS5250
> + depends on HAS_IOMEM
> + depends on OF
> + select GENERIC_PHY
> + select I2C
> + select I2C_S3C2410
> + select MFD_SYSCON
> + help
> + Enable this to support SATA SerDes/Phy found on Samsung's
> + Exynos5250 based SoCs.This SerDes/Phy supports SATA 1.5 Gb/s,
> + SATA 3.0 Gb/s, SATA 6.0 Gb/s speeds. It supports one SATA host
> + port to accept one SATA device.
> diff --git a/drivers/phy/samsung/Makefile b/drivers/phy/samsung/Makefile
> new file mode 100644
> index 0000000..585dbd7
> --- /dev/null
> +++ b/drivers/phy/samsung/Makefile
> @@ -0,0 +1,10 @@
> +obj-$(CONFIG_PHY_SAMSUNG_USB2) += phy-exynos-usb2.o
> +phy-exynos-usb2-y += phy-samsung-usb2.o
> +phy-exynos-usb2-$(CONFIG_PHY_S5PV210_USB2) += phy-s5pv210-usb2.o
> +phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4210_USB2) += phy-exynos4210-usb2.o
> +phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4X12_USB2) += phy-exynos4x12-usb2.o
> +phy-exynos-usb2-$(CONFIG_PHY_EXYNOS5250_USB2) += phy-exynos5250-usb2.o
> +obj-$(CONFIG_PHY_EXYNOS5_USBDRD) += phy-exynos5-usbdrd.o
> +obj-$(CONFIG_PHY_EXYNOS_DP_VIDEO) += phy-exynos-dp-video.o
> +obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO) += phy-exynos-mipi-video.o
> +obj-$(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 similarity index 100%
> rename from drivers/phy/phy-exynos-dp-video.c
> rename to 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 similarity index 100%
> rename from drivers/phy/phy-exynos-mipi-video.c
> rename to drivers/phy/samsung/phy-exynos-mipi-video.c
> diff --git a/drivers/phy/phy-exynos4210-usb2.c
> b/drivers/phy/samsung/phy-exynos4210-usb2.c similarity index 100%
> rename from drivers/phy/phy-exynos4210-usb2.c
> rename to drivers/phy/samsung/phy-exynos4210-usb2.c
> diff --git a/drivers/phy/phy-exynos4x12-usb2.c
> b/drivers/phy/samsung/phy-exynos4x12-usb2.c similarity index 100%
> rename from drivers/phy/phy-exynos4x12-usb2.c
> rename to drivers/phy/samsung/phy-exynos4x12-usb2.c
> diff --git a/drivers/phy/phy-exynos5-usbdrd.c
> b/drivers/phy/samsung/phy-exynos5-usbdrd.c similarity index 100%
> rename from drivers/phy/phy-exynos5-usbdrd.c
> rename to drivers/phy/samsung/phy-exynos5-usbdrd.c
> diff --git a/drivers/phy/phy-exynos5250-sata.c
> b/drivers/phy/samsung/phy-exynos5250-sata.c similarity index 100%
> rename from drivers/phy/phy-exynos5250-sata.c
> rename to drivers/phy/samsung/phy-exynos5250-sata.c
> diff --git a/drivers/phy/phy-exynos5250-usb2.c
> b/drivers/phy/samsung/phy-exynos5250-usb2.c similarity index 100%
> rename from drivers/phy/phy-exynos5250-usb2.c
> rename to drivers/phy/samsung/phy-exynos5250-usb2.c
> diff --git a/drivers/phy/phy-s5pv210-usb2.c
> b/drivers/phy/samsung/phy-s5pv210-usb2.c similarity index 100%
> rename from drivers/phy/phy-s5pv210-usb2.c
> rename to drivers/phy/samsung/phy-s5pv210-usb2.c
> diff --git a/drivers/phy/phy-samsung-usb2.c
> b/drivers/phy/samsung/phy-samsung-usb2.c similarity index 100%
> rename from drivers/phy/phy-samsung-usb2.c
> rename to drivers/phy/samsung/phy-samsung-usb2.c
> diff --git a/drivers/phy/phy-samsung-usb2.h
> b/drivers/phy/samsung/phy-samsung-usb2.h similarity index 100%
> rename from drivers/phy/phy-samsung-usb2.h
> rename to drivers/phy/samsung/phy-samsung-usb2.h
> diff --git a/drivers/phy/st/Kconfig b/drivers/phy/st/Kconfig
> new file mode 100644
> index 0000000..651b2bf
> --- /dev/null
> +++ b/drivers/phy/st/Kconfig
> @@ -0,0 +1,51 @@
> +#
> +# PHY drivers for ST Micro platforms
> +#
> +config PHY_MIPHY28LP
> + tristate "STMicroelectronics MIPHY28LP PHY driver for STiH407"
> + depends on ARCH_STI
> + select GENERIC_PHY
> + help
> + Enable this to support the miphy transceiver (for SATA/PCIE/USB3)
> + that is part of STMicroelectronics STiH407 SoC.
> +
> +config PHY_MIPHY365X
> + tristate "STMicroelectronics MIPHY365X PHY driver for STiH41x series"
> + depends on ARCH_STI
> + depends on HAS_IOMEM
> + depends on OF
> + select GENERIC_PHY
> + help
> + Enable this to support the miphy transceiver (for SATA/PCIE)
> + that is part of STMicroelectronics STiH41x SoC series.
> +
> +config PHY_ST_SPEAR1310_MIPHY
> + tristate "ST SPEAR1310-MIPHY driver"
> + select GENERIC_PHY
> + depends on MACH_SPEAR1310 || COMPILE_TEST
> + help
> + Support for ST SPEAr1310 MIPHY which can be used for PCIe and SATA.
> +
> +config PHY_ST_SPEAR1340_MIPHY
> + tristate "ST SPEAR1340-MIPHY driver"
> + select GENERIC_PHY
> + depends on MACH_SPEAR1340 || COMPILE_TEST
> + help
> + Support for ST SPEAr1340 MIPHY which can be used for PCIe and SATA.
> +
> +config PHY_STIH407_USB
> + tristate "STMicroelectronics USB2 picoPHY driver for STiH407 family"
> + depends on RESET_CONTROLLER
> + depends on ARCH_STI || COMPILE_TEST
> + select GENERIC_PHY
> + help
> + Enable this support to enable the picoPHY device used by USB2
> + and USB3 controllers on STMicroelectronics STiH407 SoC families.
> +
> +config PHY_STIH41X_USB
> + tristate "STMicroelectronics USB2 PHY driver for STiH41x series"
> + depends on ARCH_STI
> + select GENERIC_PHY
> + help
> + Enable this to support the USB transceiver that is part of
> + STMicroelectronics STiH41x SoC series.
> diff --git a/drivers/phy/st/Makefile b/drivers/phy/st/Makefile
> new file mode 100644
> index 0000000..907561b
> --- /dev/null
> +++ b/drivers/phy/st/Makefile
> @@ -0,0 +1,6 @@
> +obj-$(CONFIG_PHY_MIPHY28LP) += phy-miphy28lp.o
> +obj-$(CONFIG_PHY_MIPHY365X) += phy-miphy365x.o
> +obj-$(CONFIG_PHY_ST_SPEAR1310_MIPHY) += phy-spear1310-miphy.o
> +obj-$(CONFIG_PHY_ST_SPEAR1340_MIPHY) += phy-spear1340-miphy.o
> +obj-$(CONFIG_PHY_STIH407_USB) += phy-stih407-usb.o
> +obj-$(CONFIG_PHY_STIH41X_USB) += phy-stih41x-usb.o
> diff --git a/drivers/phy/phy-miphy28lp.c b/drivers/phy/st/phy-miphy28lp.c
> similarity index 100%
> rename from drivers/phy/phy-miphy28lp.c
> rename to drivers/phy/st/phy-miphy28lp.c
> diff --git a/drivers/phy/phy-miphy365x.c b/drivers/phy/st/phy-miphy365x.c
> similarity index 100%
> rename from drivers/phy/phy-miphy365x.c
> rename to drivers/phy/st/phy-miphy365x.c
> diff --git a/drivers/phy/phy-spear1310-miphy.c
> b/drivers/phy/st/phy-spear1310-miphy.c similarity index 100%
> rename from drivers/phy/phy-spear1310-miphy.c
> rename to drivers/phy/st/phy-spear1310-miphy.c
> diff --git a/drivers/phy/phy-spear1340-miphy.c
> b/drivers/phy/st/phy-spear1340-miphy.c similarity index 100%
> rename from drivers/phy/phy-spear1340-miphy.c
> rename to drivers/phy/st/phy-spear1340-miphy.c
> diff --git a/drivers/phy/phy-stih407-usb.c
> b/drivers/phy/st/phy-stih407-usb.c similarity index 100%
> rename from drivers/phy/phy-stih407-usb.c
> rename to drivers/phy/st/phy-stih407-usb.c
> diff --git a/drivers/phy/phy-stih41x-usb.c
> b/drivers/phy/st/phy-stih41x-usb.c similarity index 100%
> rename from drivers/phy/phy-stih41x-usb.c
> rename to drivers/phy/st/phy-stih41x-usb.c
> diff --git a/drivers/phy/sunxi/Kconfig b/drivers/phy/sunxi/Kconfig
> new file mode 100644
> index 0000000..eb06427
> --- /dev/null
> +++ b/drivers/phy/sunxi/Kconfig
> @@ -0,0 +1,28 @@
> +#
> +# PHY drivers for Allwinner's sunxi platforms
> +#
> +config PHY_SUN4I_USB
> + tristate "Allwinner sunxi SoC USB PHY driver"
> + depends on ARCH_SUNXI && HAS_IOMEM && OF
> + depends on RESET_CONTROLLER
> + depends on EXTCON
> + depends on POWER_SUPPLY
> + select GENERIC_PHY
> + help
> + Enable this to support the transceiver that is part of Allwinner
> + sunxi SoCs.
> +
> + This driver controls the entire USB PHY block, both the USB OTG
> + parts, as well as the 2 regular USB 2 host PHYs.
> +
> +config PHY_SUN9I_USB
> + tristate "Allwinner sun9i SoC USB PHY driver"
> + depends on ARCH_SUNXI && HAS_IOMEM && OF
> + depends on RESET_CONTROLLER
> + depends on USB_COMMON
> + select GENERIC_PHY
> + help
> + Enable this to support the transceiver that is part of Allwinner
> + sun9i SoCs.
> +
> + This driver controls each individual USB 2 host PHY.
> diff --git a/drivers/phy/sunxi/Makefile b/drivers/phy/sunxi/Makefile
> new file mode 100644
> index 0000000..8605529c
> --- /dev/null
> +++ b/drivers/phy/sunxi/Makefile
> @@ -0,0 +1,2 @@
> +obj-$(CONFIG_PHY_SUN4I_USB) += phy-sun4i-usb.o
> +obj-$(CONFIG_PHY_SUN9I_USB) += phy-sun9i-usb.o
> diff --git a/drivers/phy/phy-sun4i-usb.c
> b/drivers/phy/sunxi/phy-sun4i-usb.c similarity index 100%
> rename from drivers/phy/phy-sun4i-usb.c
> rename to drivers/phy/sunxi/phy-sun4i-usb.c
> diff --git a/drivers/phy/phy-sun9i-usb.c
> b/drivers/phy/sunxi/phy-sun9i-usb.c similarity index 100%
> rename from drivers/phy/phy-sun9i-usb.c
> rename to drivers/phy/sunxi/phy-sun9i-usb.c
> diff --git a/drivers/phy/ti/Kconfig b/drivers/phy/ti/Kconfig
> new file mode 100644
> index 0000000..1e3e307
> --- /dev/null
> +++ b/drivers/phy/ti/Kconfig
> @@ -0,0 +1,67 @@
> +#
> +# PHY drivers for TI platforms
> +#
> +config PHY_DM816X_USB
> + tristate "TI dm816x USB PHY driver"
> + depends on ARCH_OMAP2PLUS
> + depends on USB_SUPPORT
> + select GENERIC_PHY
> + select USB_PHY
> + help
> + Enable this for dm816x USB to work.
> +
> +config OMAP_CONTROL_PHY
> + tristate "OMAP CONTROL PHY Driver"
> + depends on ARCH_OMAP2PLUS || COMPILE_TEST
> + help
> + Enable this to add support for the PHY part present in the control
> + module. This driver has API to power on the USB2 PHY and to write to
> + the mailbox. The mailbox is present only in omap4 and the register to
> + power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an
> + additional register to power on USB3 PHY/SATA PHY/PCIE PHY
> + (PIPE3 PHY).
> +
> +config OMAP_USB2
> + tristate "OMAP USB2 PHY Driver"
> + depends on ARCH_OMAP2PLUS
> + depends on USB_SUPPORT
> + select GENERIC_PHY
> + select USB_PHY
> + select OMAP_CONTROL_PHY
> + depends on OMAP_OCP2SCP
> + help
> + Enable this to support the transceiver that is part of SOC. This
> + driver takes care of all the PHY functionality apart from comparator.
> + The USB OTG controller communicates with the comparator using this
> + driver.
> +
> +config TI_PIPE3
> + tristate "TI PIPE3 PHY Driver"
> + depends on ARCH_OMAP2PLUS || COMPILE_TEST
> + select GENERIC_PHY
> + select OMAP_CONTROL_PHY
> + depends on OMAP_OCP2SCP
> + help
> + Enable this to support the PIPE3 PHY that is part of TI SOCs. This
> + driver takes care of all the PHY functionality apart from comparator.
> + This driver interacts with the "OMAP Control PHY Driver" to power
> + on/off the PHY.
> +
> +config PHY_TUSB1210
> + tristate "TI TUSB1210 ULPI PHY module"
> + depends on USB_ULPI_BUS
> + select GENERIC_PHY
> + help
> + Support for TI TUSB1210 USB ULPI PHY.
> +
> +config TWL4030_USB
> + tristate "TWL4030 USB Transceiver Driver"
> + depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
> + depends on USB_SUPPORT
> + select GENERIC_PHY
> + select USB_PHY
> + help
> + Enable this to support the USB OTG transceiver on TWL4030
> + family chips (including the TWL5030 and TPS659x0 devices).
> + This transceiver supports high and full speed devices plus,
> + in host mode, low speed.
> diff --git a/drivers/phy/ti/Makefile b/drivers/phy/ti/Makefile
> new file mode 100644
> index 0000000..2d16f77
> --- /dev/null
> +++ b/drivers/phy/ti/Makefile
> @@ -0,0 +1,6 @@
> +obj-$(CONFIG_PHY_DM816X_USB) += phy-dm816x-usb.o
> +obj-$(CONFIG_OMAP_CONTROL_PHY) += phy-omap-control.o
> +obj-$(CONFIG_OMAP_USB2) += phy-omap-usb2.o
> +obj-$(CONFIG_TI_PIPE3) += phy-ti-pipe3.o
> +obj-$(CONFIG_PHY_TUSB1210) += phy-tusb1210.o
> +obj-$(CONFIG_TWL4030_USB) += phy-twl4030-usb.o
> diff --git a/drivers/phy/phy-dm816x-usb.c
> b/drivers/phy/ti/phy-dm816x-usb.c similarity index 100%
> rename from drivers/phy/phy-dm816x-usb.c
> rename to drivers/phy/ti/phy-dm816x-usb.c
> diff --git a/drivers/phy/phy-omap-control.c
> b/drivers/phy/ti/phy-omap-control.c similarity index 100%
> rename from drivers/phy/phy-omap-control.c
> rename to drivers/phy/ti/phy-omap-control.c
> diff --git a/drivers/phy/phy-omap-usb2.c b/drivers/phy/ti/phy-omap-usb2.c
> similarity index 100%
> rename from drivers/phy/phy-omap-usb2.c
> rename to drivers/phy/ti/phy-omap-usb2.c
> diff --git a/drivers/phy/phy-ti-pipe3.c b/drivers/phy/ti/phy-ti-pipe3.c
> similarity index 100%
> rename from drivers/phy/phy-ti-pipe3.c
> rename to drivers/phy/ti/phy-ti-pipe3.c
> diff --git a/drivers/phy/phy-tusb1210.c b/drivers/phy/ti/phy-tusb1210.c
> similarity index 100%
> rename from drivers/phy/phy-tusb1210.c
> rename to drivers/phy/ti/phy-tusb1210.c
> diff --git a/drivers/phy/phy-twl4030-usb.c
> b/drivers/phy/ti/phy-twl4030-usb.c similarity index 100%
> rename from drivers/phy/phy-twl4030-usb.c
> rename to drivers/phy/ti/phy-twl4030-usb.c
> diff --git a/drivers/phy/ulpi_phy.h b/drivers/phy/ti/ulpi_phy.h
> similarity index 100%
> rename from drivers/phy/ulpi_phy.h
> rename to drivers/phy/ti/ulpi_phy.h
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH 1/2] phy: Group vendor specific phy drivers
2016-04-01 11:29 ` Vivek Gautam
(?)
@ 2016-04-01 15:31 ` kbuild test robot
-1 siblings, 0 replies; 40+ messages in thread
From: kbuild test robot @ 2016-04-01 15:31 UTC (permalink / raw)
To: Vivek Gautam
Cc: kbuild-all, vireshk, shiraz.linux.kernel, kishon, heiko,
maxime.ripard, wens, linux, gautam.vivek, linux-arm-kernel,
spear-devel, linux-kernel, linux-rockchip, linux-usb,
linux-samsung-soc, linux-omap, cpgs
[-- Attachment #1: Type: text/plain, Size: 1072 bytes --]
Hi Vivek,
[auto build test ERROR on rockchip/for-next]
[also build test ERROR on v4.6-rc1 next-20160401]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]
url: https://github.com/0day-ci/linux/commits/Vivek-Gautam/phy-Group-vendor-specific-phy-drivers/20160401-192920
base: https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git for-next
config: arm-allyesconfig (attached as .config)
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=arm
All errors (new ones prefixed by >>):
>> make[4]: *** No rule to make target 'drivers/phy/qcom/+=', needed by 'drivers/phy/qcom/built-in.o'.
make[4]: Target '__build' not remade because of errors.
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 56241 bytes --]
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-01 15:31 ` kbuild test robot
0 siblings, 0 replies; 40+ messages in thread
From: kbuild test robot @ 2016-04-01 15:31 UTC (permalink / raw)
Cc: kbuild-all, vireshk, shiraz.linux.kernel, kishon, heiko,
maxime.ripard, wens, linux, gautam.vivek, linux-arm-kernel,
spear-devel, linux-kernel, linux-rockchip, linux-usb,
linux-samsung-soc, linux-omap, cpgs
[-- Attachment #1: Type: text/plain, Size: 1072 bytes --]
Hi Vivek,
[auto build test ERROR on rockchip/for-next]
[also build test ERROR on v4.6-rc1 next-20160401]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]
url: https://github.com/0day-ci/linux/commits/Vivek-Gautam/phy-Group-vendor-specific-phy-drivers/20160401-192920
base: https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git for-next
config: arm-allyesconfig (attached as .config)
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=arm
All errors (new ones prefixed by >>):
>> make[4]: *** No rule to make target 'drivers/phy/qcom/+=', needed by 'drivers/phy/qcom/built-in.o'.
make[4]: Target '__build' not remade because of errors.
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 56241 bytes --]
^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-01 15:31 ` kbuild test robot
0 siblings, 0 replies; 40+ messages in thread
From: kbuild test robot @ 2016-04-01 15:31 UTC (permalink / raw)
To: linux-arm-kernel
Hi Vivek,
[auto build test ERROR on rockchip/for-next]
[also build test ERROR on v4.6-rc1 next-20160401]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]
url: https://github.com/0day-ci/linux/commits/Vivek-Gautam/phy-Group-vendor-specific-phy-drivers/20160401-192920
base: https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git for-next
config: arm-allyesconfig (attached as .config)
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=arm
All errors (new ones prefixed by >>):
>> make[4]: *** No rule to make target 'drivers/phy/qcom/+=', needed by 'drivers/phy/qcom/built-in.o'.
make[4]: Target '__build' not remade because of errors.
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/octet-stream
Size: 56241 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160401/2518aa70/attachment-0001.obj>
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH 1/2] phy: Group vendor specific phy drivers
2016-04-01 11:29 ` Vivek Gautam
@ 2016-04-03 6:05 ` Krzysztof Kozlowski
-1 siblings, 0 replies; 40+ messages in thread
From: Krzysztof Kozlowski @ 2016-04-03 6:05 UTC (permalink / raw)
To: Vivek Gautam
Cc: vireshk, shiraz.linux.kernel, kishon, heiko, maxime.ripard, wens,
linux, linux-arm-kernel, spear-devel, linux-kernel,
linux-rockchip, linux-usb, linux-samsung-soc, linux-omap, cpgs
On Fri, Apr 01, 2016 at 04:59:15PM +0530, Vivek Gautam wrote:
> Adding vendor specific directories in phy to group
> phy drivers under their respective vendor umbrella.
>
> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
> ---
>
> With growing number of phy drivers, it makes sense to
> group these drivers under their respective vendor/platform
> umbrella directory.
>
> Build-tested 'multi_v7_defconfig'.
Please update also the MAINTAINERS file. For many entires the path won't
match anymore.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-03 6:05 ` Krzysztof Kozlowski
0 siblings, 0 replies; 40+ messages in thread
From: Krzysztof Kozlowski @ 2016-04-03 6:05 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Apr 01, 2016 at 04:59:15PM +0530, Vivek Gautam wrote:
> Adding vendor specific directories in phy to group
> phy drivers under their respective vendor umbrella.
>
> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
> ---
>
> With growing number of phy drivers, it makes sense to
> group these drivers under their respective vendor/platform
> umbrella directory.
>
> Build-tested 'multi_v7_defconfig'.
Please update also the MAINTAINERS file. For many entires the path won't
match anymore.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH 1/2] phy: Group vendor specific phy drivers
2016-04-03 6:05 ` Krzysztof Kozlowski
@ 2016-04-05 4:52 ` Vivek Gautam
-1 siblings, 0 replies; 40+ messages in thread
From: Vivek Gautam @ 2016-04-05 4:52 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Vivek Gautam, vireshk, Shiraz Hashim, kishon, Heiko Stübner,
Maxime Ripard, Chen-Yu Tsai, Russell King - ARM Linux,
linux-arm-kernel, spear-devel, linux-kernel, linux-rockchip,
Linux USB Mailing List, linux-samsung-soc, linux-omap, CPGS
Hi Krzysztof,
On Sat, Apr 2, 2016 at 11:05 PM, Krzysztof Kozlowski
<k.kozlowski@samsung.com> wrote:
> On Fri, Apr 01, 2016 at 04:59:15PM +0530, Vivek Gautam wrote:
>> Adding vendor specific directories in phy to group
>> phy drivers under their respective vendor umbrella.
>>
>> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
>> ---
>>
>> With growing number of phy drivers, it makes sense to
>> group these drivers under their respective vendor/platform
>> umbrella directory.
>>
>> Build-tested 'multi_v7_defconfig'.
>
> Please update also the MAINTAINERS file. For many entires the path won't
> match anymore.
Thanks for pointing out. I will update the MAINTAINERS file as well.
>
> Best regards,
> Krzysztof
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Best Regards
Vivek Gautam
Samsung, India
^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-05 4:52 ` Vivek Gautam
0 siblings, 0 replies; 40+ messages in thread
From: Vivek Gautam @ 2016-04-05 4:52 UTC (permalink / raw)
To: linux-arm-kernel
Hi Krzysztof,
On Sat, Apr 2, 2016 at 11:05 PM, Krzysztof Kozlowski
<k.kozlowski@samsung.com> wrote:
> On Fri, Apr 01, 2016 at 04:59:15PM +0530, Vivek Gautam wrote:
>> Adding vendor specific directories in phy to group
>> phy drivers under their respective vendor umbrella.
>>
>> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
>> ---
>>
>> With growing number of phy drivers, it makes sense to
>> group these drivers under their respective vendor/platform
>> umbrella directory.
>>
>> Build-tested 'multi_v7_defconfig'.
>
> Please update also the MAINTAINERS file. For many entires the path won't
> match anymore.
Thanks for pointing out. I will update the MAINTAINERS file as well.
>
> Best regards,
> Krzysztof
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Best Regards
Vivek Gautam
Samsung, India
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-05 4:54 ` Vivek Gautam
0 siblings, 0 replies; 40+ messages in thread
From: Vivek Gautam @ 2016-04-05 4:54 UTC (permalink / raw)
To: kbuild test robot
Cc: Vivek Gautam, kbuild-all, vireshk, Shiraz Hashim, kishon,
Heiko Stübner, Maxime Ripard, Chen-Yu Tsai,
Russell King - ARM Linux, linux-arm-kernel, linux-kernel,
linux-rockchip, Linux USB Mailing List, linux-samsung-soc,
linux-omap, CPGS
On Fri, Apr 1, 2016 at 8:31 AM, kbuild test robot <lkp@intel.com> wrote:
> Hi Vivek,
>
> [auto build test ERROR on rockchip/for-next]
> [also build test ERROR on v4.6-rc1 next-20160401]
> [if your patch is applied to the wrong git tree, please drop us a note to help improving the system]
>
> url: https://github.com/0day-ci/linux/commits/Vivek-Gautam/phy-Group-vendor-specific-phy-drivers/20160401-192920
> base: https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git for-next
> config: arm-allyesconfig (attached as .config)
> reproduce:
> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # save the attached .config to linux build tree
> make.cross ARCH=arm
>
> All errors (new ones prefixed by >>):
>
>>> make[4]: *** No rule to make target 'drivers/phy/qcom/+=', needed by 'drivers/phy/qcom/built-in.o'.
> make[4]: Target '__build' not remade because of errors.
will fix this.
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation
--
Best Regards
Vivek Gautam
Samsung, India
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-05 4:54 ` Vivek Gautam
0 siblings, 0 replies; 40+ messages in thread
From: Vivek Gautam @ 2016-04-05 4:54 UTC (permalink / raw)
To: kbuild test robot
Cc: linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA,
Russell King - ARM Linux, Heiko Stübner,
vireshk-DgEjT+Ai2ygdnm+yROfE0A, Linux USB Mailing List,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, kishon,
linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Chen-Yu Tsai,
Vivek Gautam, CPGS, Maxime Ripard,
linux-omap-u79uwXL29TY76Z2rM5mHXA, Shiraz Hashim,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
kbuild-all-JC7UmRfGjtg
On Fri, Apr 1, 2016 at 8:31 AM, kbuild test robot <lkp-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> wrote:
> Hi Vivek,
>
> [auto build test ERROR on rockchip/for-next]
> [also build test ERROR on v4.6-rc1 next-20160401]
> [if your patch is applied to the wrong git tree, please drop us a note to help improving the system]
>
> url: https://github.com/0day-ci/linux/commits/Vivek-Gautam/phy-Group-vendor-specific-phy-drivers/20160401-192920
> base: https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git for-next
> config: arm-allyesconfig (attached as .config)
> reproduce:
> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # save the attached .config to linux build tree
> make.cross ARCH=arm
>
> All errors (new ones prefixed by >>):
>
>>> make[4]: *** No rule to make target 'drivers/phy/qcom/+=', needed by 'drivers/phy/qcom/built-in.o'.
> make[4]: Target '__build' not remade because of errors.
will fix this.
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation
--
Best Regards
Vivek Gautam
Samsung, India
^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-05 4:54 ` Vivek Gautam
0 siblings, 0 replies; 40+ messages in thread
From: Vivek Gautam @ 2016-04-05 4:54 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Apr 1, 2016 at 8:31 AM, kbuild test robot <lkp@intel.com> wrote:
> Hi Vivek,
>
> [auto build test ERROR on rockchip/for-next]
> [also build test ERROR on v4.6-rc1 next-20160401]
> [if your patch is applied to the wrong git tree, please drop us a note to help improving the system]
>
> url: https://github.com/0day-ci/linux/commits/Vivek-Gautam/phy-Group-vendor-specific-phy-drivers/20160401-192920
> base: https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git for-next
> config: arm-allyesconfig (attached as .config)
> reproduce:
> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # save the attached .config to linux build tree
> make.cross ARCH=arm
>
> All errors (new ones prefixed by >>):
>
>>> make[4]: *** No rule to make target 'drivers/phy/qcom/+=', needed by 'drivers/phy/qcom/built-in.o'.
> make[4]: Target '__build' not remade because of errors.
will fix this.
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation
--
Best Regards
Vivek Gautam
Samsung, India
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-06 12:51 ` Kishon Vijay Abraham I
0 siblings, 0 replies; 40+ messages in thread
From: Kishon Vijay Abraham I @ 2016-04-06 12:51 UTC (permalink / raw)
To: Vivek Gautam
Cc: Vivek Gautam, vireshk, Shiraz Hashim, Heiko Stübner,
Maxime Ripard, Chen-Yu Tsai, Russell King - ARM Linux,
linux-arm-kernel, spear-devel, linux-kernel, linux-rockchip,
Linux USB Mailing List, linux-samsung-soc, linux-omap, CPGS
Hi,
On Friday 01 April 2016 07:05 PM, Vivek Gautam wrote:
> Hi,
>
>
> On Fri, Apr 1, 2016 at 6:05 AM, Kishon Vijay Abraham I <kishon@ti.com> wrote:
>> Hi,
>>
>> On Friday 01 April 2016 04:59 PM, Vivek Gautam wrote:
>>> Adding vendor specific directories in phy to group
>>> phy drivers under their respective vendor umbrella.
>>>
>>> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
>>> ---
>>>
>>> With growing number of phy drivers, it makes sense to
>>> group these drivers under their respective vendor/platform
>>> umbrella directory.
>>>
>>> Build-tested 'multi_v7_defconfig'.
>>>
>>> drivers/phy/Kconfig | 386 +---------------------
>>> drivers/phy/Makefile | 57 +---
>>> drivers/phy/bcom/Kconfig | 27 ++
>>> drivers/phy/bcom/Makefile | 3 +
>>> drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c | 0
>>> drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c | 0
>>> drivers/phy/{ => bcom}/phy-brcmstb-sata.c | 0
>>> drivers/phy/hisi/Kconfig | 20 ++
>>> drivers/phy/hisi/Makefile | 2 +
>>> drivers/phy/{ => hisi}/phy-hi6220-usb.c | 0
>>> drivers/phy/{ => hisi}/phy-hix5hd2-sata.c | 0
>>> drivers/phy/marvell/Kconfig | 50 +++
>>> drivers/phy/marvell/Makefile | 6 +
>>> drivers/phy/{ => marvell}/phy-armada375-usb2.c | 0
>>> drivers/phy/{ => marvell}/phy-berlin-sata.c | 0
>>> drivers/phy/{ => marvell}/phy-berlin-usb.c | 0
>>> drivers/phy/{ => marvell}/phy-mvebu-sata.c | 0
>>> drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c | 0
>>> drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c | 0
>>> drivers/phy/qcom/Kconfig | 23 ++
>>> drivers/phy/qcom/Makefile | 5 +
>>> drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c | 0
>>> drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c | 0
>>> drivers/phy/{ => qcom}/phy-qcom-ufs-i.h | 0
>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c | 0
>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h | 0
>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c | 0
>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h | 0
>>> drivers/phy/{ => qcom}/phy-qcom-ufs.c | 0
>>> drivers/phy/rcar/Kconfig | 16 +
>>> drivers/phy/rcar/Makefile | 2 +
>>> drivers/phy/{ => rcar}/phy-rcar-gen2.c | 0
>>> drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c | 0
>>> drivers/phy/rockchip/Kconfig | 23 ++
>>> drivers/phy/rockchip/Makefile | 3 +
>>> drivers/phy/{ => rockchip}/phy-rockchip-dp.c | 0
>>> drivers/phy/{ => rockchip}/phy-rockchip-emmc.c | 0
>>> drivers/phy/{ => rockchip}/phy-rockchip-usb.c | 0
>>> drivers/phy/samsung/Kconfig | 87 +++++
>>> drivers/phy/samsung/Makefile | 10 +
>>> drivers/phy/{ => samsung}/phy-exynos-dp-video.c | 0
>>> drivers/phy/{ => samsung}/phy-exynos-mipi-video.c | 0
>>> drivers/phy/{ => samsung}/phy-exynos4210-usb2.c | 0
>>> drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c | 0
>>> drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c | 0
>>> drivers/phy/{ => samsung}/phy-exynos5250-sata.c | 0
>>> drivers/phy/{ => samsung}/phy-exynos5250-usb2.c | 0
>>> drivers/phy/{ => samsung}/phy-s5pv210-usb2.c | 0
>>> drivers/phy/{ => samsung}/phy-samsung-usb2.c | 0
>>> drivers/phy/{ => samsung}/phy-samsung-usb2.h | 0
>>> drivers/phy/st/Kconfig | 51 +++
>>> drivers/phy/st/Makefile | 6 +
>>> drivers/phy/{ => st}/phy-miphy28lp.c | 0
>>> drivers/phy/{ => st}/phy-miphy365x.c | 0
>>> drivers/phy/{ => st}/phy-spear1310-miphy.c | 0
>>> drivers/phy/{ => st}/phy-spear1340-miphy.c | 0
>>> drivers/phy/{ => st}/phy-stih407-usb.c | 0
>>> drivers/phy/{ => st}/phy-stih41x-usb.c | 0
>>> drivers/phy/sunxi/Kconfig | 28 ++
>>> drivers/phy/sunxi/Makefile | 2 +
>>> drivers/phy/{ => sunxi}/phy-sun4i-usb.c | 0
>>> drivers/phy/{ => sunxi}/phy-sun9i-usb.c | 0
>>> drivers/phy/ti/Kconfig | 67 ++++
>>> drivers/phy/ti/Makefile | 6 +
>>> drivers/phy/{ => ti}/phy-dm816x-usb.c | 0
>>> drivers/phy/{ => ti}/phy-omap-control.c | 0
>>> drivers/phy/{ => ti}/phy-omap-usb2.c | 0
>>> drivers/phy/{ => ti}/phy-ti-pipe3.c | 0
>>> drivers/phy/{ => ti}/phy-tusb1210.c | 0
>>> drivers/phy/{ => ti}/phy-twl4030-usb.c | 0
>>> drivers/phy/{ => ti}/ulpi_phy.h | 0
>>
>> ulpi_phy.h is not specific to TI though at this point tusb1210 is the only ULPI
>> driver.
>
> Yes, you are right. But i was hesitant to add a multi-level header
> file include in the phy driver
> which uses it.
>
> Does it makes sense to move this ulpi_phy.h to include/linux/phy ?
yeah.. that should be okay.
>
>>> 71 files changed, 464 insertions(+), 416 deletions(-)
>>> create mode 100644 drivers/phy/bcom/Kconfig
>>> create mode 100644 drivers/phy/bcom/Makefile
>>> rename drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c (100%)
>>> rename drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c (100%)
>>> rename drivers/phy/{ => bcom}/phy-brcmstb-sata.c (100%)
>>> create mode 100644 drivers/phy/hisi/Kconfig
>>> create mode 100644 drivers/phy/hisi/Makefile
>>> rename drivers/phy/{ => hisi}/phy-hi6220-usb.c (100%)
>>> rename drivers/phy/{ => hisi}/phy-hix5hd2-sata.c (100%)
>>> create mode 100644 drivers/phy/marvell/Kconfig
>>> create mode 100644 drivers/phy/marvell/Makefile
>>> rename drivers/phy/{ => marvell}/phy-armada375-usb2.c (100%)
>>> rename drivers/phy/{ => marvell}/phy-berlin-sata.c (100%)
>>> rename drivers/phy/{ => marvell}/phy-berlin-usb.c (100%)
>>> rename drivers/phy/{ => marvell}/phy-mvebu-sata.c (100%)
>>> rename drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c (100%)
>>> rename drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c (100%)
>>> create mode 100644 drivers/phy/qcom/Kconfig
>>> create mode 100644 drivers/phy/qcom/Makefile
>>> rename drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c (100%)
>>> rename drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c (100%)
>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-i.h (100%)
>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c (100%)
>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h (100%)
>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c (100%)
>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h (100%)
>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs.c (100%)
>>> create mode 100644 drivers/phy/rcar/Kconfig
>>> create mode 100644 drivers/phy/rcar/Makefile
>>> rename drivers/phy/{ => rcar}/phy-rcar-gen2.c (100%)
>>> rename drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c (100%)
>>> create mode 100644 drivers/phy/rockchip/Kconfig
>>> create mode 100644 drivers/phy/rockchip/Makefile
>>> rename drivers/phy/{ => rockchip}/phy-rockchip-dp.c (100%)
>>> rename drivers/phy/{ => rockchip}/phy-rockchip-emmc.c (100%)
>>> rename drivers/phy/{ => rockchip}/phy-rockchip-usb.c (100%)
>>> create mode 100644 drivers/phy/samsung/Kconfig
>>> create mode 100644 drivers/phy/samsung/Makefile
>>> rename drivers/phy/{ => samsung}/phy-exynos-dp-video.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-exynos-mipi-video.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-exynos4210-usb2.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-exynos5250-sata.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-exynos5250-usb2.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-s5pv210-usb2.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-samsung-usb2.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-samsung-usb2.h (100%)
>>> create mode 100644 drivers/phy/st/Kconfig
>>> create mode 100644 drivers/phy/st/Makefile
>>> rename drivers/phy/{ => st}/phy-miphy28lp.c (100%)
>>> rename drivers/phy/{ => st}/phy-miphy365x.c (100%)
>>> rename drivers/phy/{ => st}/phy-spear1310-miphy.c (100%)
>>> rename drivers/phy/{ => st}/phy-spear1340-miphy.c (100%)
>>> rename drivers/phy/{ => st}/phy-stih407-usb.c (100%)
>>> rename drivers/phy/{ => st}/phy-stih41x-usb.c (100%)
>>> create mode 100644 drivers/phy/sunxi/Kconfig
>>> create mode 100644 drivers/phy/sunxi/Makefile
>>> rename drivers/phy/{ => sunxi}/phy-sun4i-usb.c (100%)
>>> rename drivers/phy/{ => sunxi}/phy-sun9i-usb.c (100%)
>>> create mode 100644 drivers/phy/ti/Kconfig
>>> create mode 100644 drivers/phy/ti/Makefile
>>> rename drivers/phy/{ => ti}/phy-dm816x-usb.c (100%)
>>> rename drivers/phy/{ => ti}/phy-omap-control.c (100%)
>>> rename drivers/phy/{ => ti}/phy-omap-usb2.c (100%)
>>> rename drivers/phy/{ => ti}/phy-ti-pipe3.c (100%)
>>> rename drivers/phy/{ => ti}/phy-tusb1210.c (100%)
>>> rename drivers/phy/{ => ti}/phy-twl4030-usb.c (100%)
>>> rename drivers/phy/{ => ti}/ulpi_phy.h (100%)
>>>
>>> diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
>>> index 26566db..80c8c68 100644
>>> --- a/drivers/phy/Kconfig
>>> +++ b/drivers/phy/Kconfig
>>> @@ -15,45 +15,6 @@ config GENERIC_PHY
>>> phy users can obtain reference to the PHY. All the users of this
>>> framework should select this config.
>>>
>>
>>> +menuconfig PHY_PLAT
>>> + bool "Platform Phy drivers"
>>
>> Not really convinced about adding a new config here. This will create new
>> dependencies and will also start breaking users of oldconfig.
>
> This serves including all the directory paths in the 'make' for
> driver/phy/Makefile.
>
> Otherwise each directory will have to be built as per particular platform
> And, not all drivers of a vendor are built for one-kind of platform,
> for example, Samsung uses ARCH_EXYNOS, as well as ARCH_S5PV210
> Similarly, Broadcom phy drivers are based on multiple platforms, and so
> does Marvell's.
>
> Please suggest a concise way to include the vendor directories in the build path
> in drivers/phy/Makefile.
obj-y += vendor/?
-Kishon
>
>>
>> Also not all of them are platform drivers (e.g ULPI PHY drivers).
> I Think this applies to ulpi_phy only at this moment, which we can resolve
> by moving that to include/linux path.
>
>>
>> Thanks
>> Kishon
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
>
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-06 12:51 ` Kishon Vijay Abraham I
0 siblings, 0 replies; 40+ messages in thread
From: Kishon Vijay Abraham I @ 2016-04-06 12:51 UTC (permalink / raw)
To: Vivek Gautam
Cc: Linux USB Mailing List, Russell King - ARM Linux,
Heiko Stübner, vireshk-DgEjT+Ai2ygdnm+yROfE0A,
spear-devel-nkJGhpqTU55BDgjK7y7TUQ,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Chen-Yu Tsai,
linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA, Vivek Gautam, CPGS,
Maxime Ripard, linux-omap-u79uwXL29TY76Z2rM5mHXA, Shiraz Hashim,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Hi,
On Friday 01 April 2016 07:05 PM, Vivek Gautam wrote:
> Hi,
>
>
> On Fri, Apr 1, 2016 at 6:05 AM, Kishon Vijay Abraham I <kishon-l0cyMroinI0@public.gmane.org> wrote:
>> Hi,
>>
>> On Friday 01 April 2016 04:59 PM, Vivek Gautam wrote:
>>> Adding vendor specific directories in phy to group
>>> phy drivers under their respective vendor umbrella.
>>>
>>> Signed-off-by: Vivek Gautam <gautam.vivek-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
>>> ---
>>>
>>> With growing number of phy drivers, it makes sense to
>>> group these drivers under their respective vendor/platform
>>> umbrella directory.
>>>
>>> Build-tested 'multi_v7_defconfig'.
>>>
>>> drivers/phy/Kconfig | 386 +---------------------
>>> drivers/phy/Makefile | 57 +---
>>> drivers/phy/bcom/Kconfig | 27 ++
>>> drivers/phy/bcom/Makefile | 3 +
>>> drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c | 0
>>> drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c | 0
>>> drivers/phy/{ => bcom}/phy-brcmstb-sata.c | 0
>>> drivers/phy/hisi/Kconfig | 20 ++
>>> drivers/phy/hisi/Makefile | 2 +
>>> drivers/phy/{ => hisi}/phy-hi6220-usb.c | 0
>>> drivers/phy/{ => hisi}/phy-hix5hd2-sata.c | 0
>>> drivers/phy/marvell/Kconfig | 50 +++
>>> drivers/phy/marvell/Makefile | 6 +
>>> drivers/phy/{ => marvell}/phy-armada375-usb2.c | 0
>>> drivers/phy/{ => marvell}/phy-berlin-sata.c | 0
>>> drivers/phy/{ => marvell}/phy-berlin-usb.c | 0
>>> drivers/phy/{ => marvell}/phy-mvebu-sata.c | 0
>>> drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c | 0
>>> drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c | 0
>>> drivers/phy/qcom/Kconfig | 23 ++
>>> drivers/phy/qcom/Makefile | 5 +
>>> drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c | 0
>>> drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c | 0
>>> drivers/phy/{ => qcom}/phy-qcom-ufs-i.h | 0
>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c | 0
>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h | 0
>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c | 0
>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h | 0
>>> drivers/phy/{ => qcom}/phy-qcom-ufs.c | 0
>>> drivers/phy/rcar/Kconfig | 16 +
>>> drivers/phy/rcar/Makefile | 2 +
>>> drivers/phy/{ => rcar}/phy-rcar-gen2.c | 0
>>> drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c | 0
>>> drivers/phy/rockchip/Kconfig | 23 ++
>>> drivers/phy/rockchip/Makefile | 3 +
>>> drivers/phy/{ => rockchip}/phy-rockchip-dp.c | 0
>>> drivers/phy/{ => rockchip}/phy-rockchip-emmc.c | 0
>>> drivers/phy/{ => rockchip}/phy-rockchip-usb.c | 0
>>> drivers/phy/samsung/Kconfig | 87 +++++
>>> drivers/phy/samsung/Makefile | 10 +
>>> drivers/phy/{ => samsung}/phy-exynos-dp-video.c | 0
>>> drivers/phy/{ => samsung}/phy-exynos-mipi-video.c | 0
>>> drivers/phy/{ => samsung}/phy-exynos4210-usb2.c | 0
>>> drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c | 0
>>> drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c | 0
>>> drivers/phy/{ => samsung}/phy-exynos5250-sata.c | 0
>>> drivers/phy/{ => samsung}/phy-exynos5250-usb2.c | 0
>>> drivers/phy/{ => samsung}/phy-s5pv210-usb2.c | 0
>>> drivers/phy/{ => samsung}/phy-samsung-usb2.c | 0
>>> drivers/phy/{ => samsung}/phy-samsung-usb2.h | 0
>>> drivers/phy/st/Kconfig | 51 +++
>>> drivers/phy/st/Makefile | 6 +
>>> drivers/phy/{ => st}/phy-miphy28lp.c | 0
>>> drivers/phy/{ => st}/phy-miphy365x.c | 0
>>> drivers/phy/{ => st}/phy-spear1310-miphy.c | 0
>>> drivers/phy/{ => st}/phy-spear1340-miphy.c | 0
>>> drivers/phy/{ => st}/phy-stih407-usb.c | 0
>>> drivers/phy/{ => st}/phy-stih41x-usb.c | 0
>>> drivers/phy/sunxi/Kconfig | 28 ++
>>> drivers/phy/sunxi/Makefile | 2 +
>>> drivers/phy/{ => sunxi}/phy-sun4i-usb.c | 0
>>> drivers/phy/{ => sunxi}/phy-sun9i-usb.c | 0
>>> drivers/phy/ti/Kconfig | 67 ++++
>>> drivers/phy/ti/Makefile | 6 +
>>> drivers/phy/{ => ti}/phy-dm816x-usb.c | 0
>>> drivers/phy/{ => ti}/phy-omap-control.c | 0
>>> drivers/phy/{ => ti}/phy-omap-usb2.c | 0
>>> drivers/phy/{ => ti}/phy-ti-pipe3.c | 0
>>> drivers/phy/{ => ti}/phy-tusb1210.c | 0
>>> drivers/phy/{ => ti}/phy-twl4030-usb.c | 0
>>> drivers/phy/{ => ti}/ulpi_phy.h | 0
>>
>> ulpi_phy.h is not specific to TI though at this point tusb1210 is the only ULPI
>> driver.
>
> Yes, you are right. But i was hesitant to add a multi-level header
> file include in the phy driver
> which uses it.
>
> Does it makes sense to move this ulpi_phy.h to include/linux/phy ?
yeah.. that should be okay.
>
>>> 71 files changed, 464 insertions(+), 416 deletions(-)
>>> create mode 100644 drivers/phy/bcom/Kconfig
>>> create mode 100644 drivers/phy/bcom/Makefile
>>> rename drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c (100%)
>>> rename drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c (100%)
>>> rename drivers/phy/{ => bcom}/phy-brcmstb-sata.c (100%)
>>> create mode 100644 drivers/phy/hisi/Kconfig
>>> create mode 100644 drivers/phy/hisi/Makefile
>>> rename drivers/phy/{ => hisi}/phy-hi6220-usb.c (100%)
>>> rename drivers/phy/{ => hisi}/phy-hix5hd2-sata.c (100%)
>>> create mode 100644 drivers/phy/marvell/Kconfig
>>> create mode 100644 drivers/phy/marvell/Makefile
>>> rename drivers/phy/{ => marvell}/phy-armada375-usb2.c (100%)
>>> rename drivers/phy/{ => marvell}/phy-berlin-sata.c (100%)
>>> rename drivers/phy/{ => marvell}/phy-berlin-usb.c (100%)
>>> rename drivers/phy/{ => marvell}/phy-mvebu-sata.c (100%)
>>> rename drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c (100%)
>>> rename drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c (100%)
>>> create mode 100644 drivers/phy/qcom/Kconfig
>>> create mode 100644 drivers/phy/qcom/Makefile
>>> rename drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c (100%)
>>> rename drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c (100%)
>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-i.h (100%)
>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c (100%)
>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h (100%)
>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c (100%)
>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h (100%)
>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs.c (100%)
>>> create mode 100644 drivers/phy/rcar/Kconfig
>>> create mode 100644 drivers/phy/rcar/Makefile
>>> rename drivers/phy/{ => rcar}/phy-rcar-gen2.c (100%)
>>> rename drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c (100%)
>>> create mode 100644 drivers/phy/rockchip/Kconfig
>>> create mode 100644 drivers/phy/rockchip/Makefile
>>> rename drivers/phy/{ => rockchip}/phy-rockchip-dp.c (100%)
>>> rename drivers/phy/{ => rockchip}/phy-rockchip-emmc.c (100%)
>>> rename drivers/phy/{ => rockchip}/phy-rockchip-usb.c (100%)
>>> create mode 100644 drivers/phy/samsung/Kconfig
>>> create mode 100644 drivers/phy/samsung/Makefile
>>> rename drivers/phy/{ => samsung}/phy-exynos-dp-video.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-exynos-mipi-video.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-exynos4210-usb2.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-exynos5250-sata.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-exynos5250-usb2.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-s5pv210-usb2.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-samsung-usb2.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-samsung-usb2.h (100%)
>>> create mode 100644 drivers/phy/st/Kconfig
>>> create mode 100644 drivers/phy/st/Makefile
>>> rename drivers/phy/{ => st}/phy-miphy28lp.c (100%)
>>> rename drivers/phy/{ => st}/phy-miphy365x.c (100%)
>>> rename drivers/phy/{ => st}/phy-spear1310-miphy.c (100%)
>>> rename drivers/phy/{ => st}/phy-spear1340-miphy.c (100%)
>>> rename drivers/phy/{ => st}/phy-stih407-usb.c (100%)
>>> rename drivers/phy/{ => st}/phy-stih41x-usb.c (100%)
>>> create mode 100644 drivers/phy/sunxi/Kconfig
>>> create mode 100644 drivers/phy/sunxi/Makefile
>>> rename drivers/phy/{ => sunxi}/phy-sun4i-usb.c (100%)
>>> rename drivers/phy/{ => sunxi}/phy-sun9i-usb.c (100%)
>>> create mode 100644 drivers/phy/ti/Kconfig
>>> create mode 100644 drivers/phy/ti/Makefile
>>> rename drivers/phy/{ => ti}/phy-dm816x-usb.c (100%)
>>> rename drivers/phy/{ => ti}/phy-omap-control.c (100%)
>>> rename drivers/phy/{ => ti}/phy-omap-usb2.c (100%)
>>> rename drivers/phy/{ => ti}/phy-ti-pipe3.c (100%)
>>> rename drivers/phy/{ => ti}/phy-tusb1210.c (100%)
>>> rename drivers/phy/{ => ti}/phy-twl4030-usb.c (100%)
>>> rename drivers/phy/{ => ti}/ulpi_phy.h (100%)
>>>
>>> diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
>>> index 26566db..80c8c68 100644
>>> --- a/drivers/phy/Kconfig
>>> +++ b/drivers/phy/Kconfig
>>> @@ -15,45 +15,6 @@ config GENERIC_PHY
>>> phy users can obtain reference to the PHY. All the users of this
>>> framework should select this config.
>>>
>>
>>> +menuconfig PHY_PLAT
>>> + bool "Platform Phy drivers"
>>
>> Not really convinced about adding a new config here. This will create new
>> dependencies and will also start breaking users of oldconfig.
>
> This serves including all the directory paths in the 'make' for
> driver/phy/Makefile.
>
> Otherwise each directory will have to be built as per particular platform
> And, not all drivers of a vendor are built for one-kind of platform,
> for example, Samsung uses ARCH_EXYNOS, as well as ARCH_S5PV210
> Similarly, Broadcom phy drivers are based on multiple platforms, and so
> does Marvell's.
>
> Please suggest a concise way to include the vendor directories in the build path
> in drivers/phy/Makefile.
obj-y += vendor/?
-Kishon
>
>>
>> Also not all of them are platform drivers (e.g ULPI PHY drivers).
> I Think this applies to ulpi_phy only at this moment, which we can resolve
> by moving that to include/linux path.
>
>>
>> Thanks
>> Kishon
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
>> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
>
^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-06 12:51 ` Kishon Vijay Abraham I
0 siblings, 0 replies; 40+ messages in thread
From: Kishon Vijay Abraham I @ 2016-04-06 12:51 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
On Friday 01 April 2016 07:05 PM, Vivek Gautam wrote:
> Hi,
>
>
> On Fri, Apr 1, 2016 at 6:05 AM, Kishon Vijay Abraham I <kishon@ti.com> wrote:
>> Hi,
>>
>> On Friday 01 April 2016 04:59 PM, Vivek Gautam wrote:
>>> Adding vendor specific directories in phy to group
>>> phy drivers under their respective vendor umbrella.
>>>
>>> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
>>> ---
>>>
>>> With growing number of phy drivers, it makes sense to
>>> group these drivers under their respective vendor/platform
>>> umbrella directory.
>>>
>>> Build-tested 'multi_v7_defconfig'.
>>>
>>> drivers/phy/Kconfig | 386 +---------------------
>>> drivers/phy/Makefile | 57 +---
>>> drivers/phy/bcom/Kconfig | 27 ++
>>> drivers/phy/bcom/Makefile | 3 +
>>> drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c | 0
>>> drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c | 0
>>> drivers/phy/{ => bcom}/phy-brcmstb-sata.c | 0
>>> drivers/phy/hisi/Kconfig | 20 ++
>>> drivers/phy/hisi/Makefile | 2 +
>>> drivers/phy/{ => hisi}/phy-hi6220-usb.c | 0
>>> drivers/phy/{ => hisi}/phy-hix5hd2-sata.c | 0
>>> drivers/phy/marvell/Kconfig | 50 +++
>>> drivers/phy/marvell/Makefile | 6 +
>>> drivers/phy/{ => marvell}/phy-armada375-usb2.c | 0
>>> drivers/phy/{ => marvell}/phy-berlin-sata.c | 0
>>> drivers/phy/{ => marvell}/phy-berlin-usb.c | 0
>>> drivers/phy/{ => marvell}/phy-mvebu-sata.c | 0
>>> drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c | 0
>>> drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c | 0
>>> drivers/phy/qcom/Kconfig | 23 ++
>>> drivers/phy/qcom/Makefile | 5 +
>>> drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c | 0
>>> drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c | 0
>>> drivers/phy/{ => qcom}/phy-qcom-ufs-i.h | 0
>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c | 0
>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h | 0
>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c | 0
>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h | 0
>>> drivers/phy/{ => qcom}/phy-qcom-ufs.c | 0
>>> drivers/phy/rcar/Kconfig | 16 +
>>> drivers/phy/rcar/Makefile | 2 +
>>> drivers/phy/{ => rcar}/phy-rcar-gen2.c | 0
>>> drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c | 0
>>> drivers/phy/rockchip/Kconfig | 23 ++
>>> drivers/phy/rockchip/Makefile | 3 +
>>> drivers/phy/{ => rockchip}/phy-rockchip-dp.c | 0
>>> drivers/phy/{ => rockchip}/phy-rockchip-emmc.c | 0
>>> drivers/phy/{ => rockchip}/phy-rockchip-usb.c | 0
>>> drivers/phy/samsung/Kconfig | 87 +++++
>>> drivers/phy/samsung/Makefile | 10 +
>>> drivers/phy/{ => samsung}/phy-exynos-dp-video.c | 0
>>> drivers/phy/{ => samsung}/phy-exynos-mipi-video.c | 0
>>> drivers/phy/{ => samsung}/phy-exynos4210-usb2.c | 0
>>> drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c | 0
>>> drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c | 0
>>> drivers/phy/{ => samsung}/phy-exynos5250-sata.c | 0
>>> drivers/phy/{ => samsung}/phy-exynos5250-usb2.c | 0
>>> drivers/phy/{ => samsung}/phy-s5pv210-usb2.c | 0
>>> drivers/phy/{ => samsung}/phy-samsung-usb2.c | 0
>>> drivers/phy/{ => samsung}/phy-samsung-usb2.h | 0
>>> drivers/phy/st/Kconfig | 51 +++
>>> drivers/phy/st/Makefile | 6 +
>>> drivers/phy/{ => st}/phy-miphy28lp.c | 0
>>> drivers/phy/{ => st}/phy-miphy365x.c | 0
>>> drivers/phy/{ => st}/phy-spear1310-miphy.c | 0
>>> drivers/phy/{ => st}/phy-spear1340-miphy.c | 0
>>> drivers/phy/{ => st}/phy-stih407-usb.c | 0
>>> drivers/phy/{ => st}/phy-stih41x-usb.c | 0
>>> drivers/phy/sunxi/Kconfig | 28 ++
>>> drivers/phy/sunxi/Makefile | 2 +
>>> drivers/phy/{ => sunxi}/phy-sun4i-usb.c | 0
>>> drivers/phy/{ => sunxi}/phy-sun9i-usb.c | 0
>>> drivers/phy/ti/Kconfig | 67 ++++
>>> drivers/phy/ti/Makefile | 6 +
>>> drivers/phy/{ => ti}/phy-dm816x-usb.c | 0
>>> drivers/phy/{ => ti}/phy-omap-control.c | 0
>>> drivers/phy/{ => ti}/phy-omap-usb2.c | 0
>>> drivers/phy/{ => ti}/phy-ti-pipe3.c | 0
>>> drivers/phy/{ => ti}/phy-tusb1210.c | 0
>>> drivers/phy/{ => ti}/phy-twl4030-usb.c | 0
>>> drivers/phy/{ => ti}/ulpi_phy.h | 0
>>
>> ulpi_phy.h is not specific to TI though at this point tusb1210 is the only ULPI
>> driver.
>
> Yes, you are right. But i was hesitant to add a multi-level header
> file include in the phy driver
> which uses it.
>
> Does it makes sense to move this ulpi_phy.h to include/linux/phy ?
yeah.. that should be okay.
>
>>> 71 files changed, 464 insertions(+), 416 deletions(-)
>>> create mode 100644 drivers/phy/bcom/Kconfig
>>> create mode 100644 drivers/phy/bcom/Makefile
>>> rename drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c (100%)
>>> rename drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c (100%)
>>> rename drivers/phy/{ => bcom}/phy-brcmstb-sata.c (100%)
>>> create mode 100644 drivers/phy/hisi/Kconfig
>>> create mode 100644 drivers/phy/hisi/Makefile
>>> rename drivers/phy/{ => hisi}/phy-hi6220-usb.c (100%)
>>> rename drivers/phy/{ => hisi}/phy-hix5hd2-sata.c (100%)
>>> create mode 100644 drivers/phy/marvell/Kconfig
>>> create mode 100644 drivers/phy/marvell/Makefile
>>> rename drivers/phy/{ => marvell}/phy-armada375-usb2.c (100%)
>>> rename drivers/phy/{ => marvell}/phy-berlin-sata.c (100%)
>>> rename drivers/phy/{ => marvell}/phy-berlin-usb.c (100%)
>>> rename drivers/phy/{ => marvell}/phy-mvebu-sata.c (100%)
>>> rename drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c (100%)
>>> rename drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c (100%)
>>> create mode 100644 drivers/phy/qcom/Kconfig
>>> create mode 100644 drivers/phy/qcom/Makefile
>>> rename drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c (100%)
>>> rename drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c (100%)
>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-i.h (100%)
>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c (100%)
>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h (100%)
>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c (100%)
>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h (100%)
>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs.c (100%)
>>> create mode 100644 drivers/phy/rcar/Kconfig
>>> create mode 100644 drivers/phy/rcar/Makefile
>>> rename drivers/phy/{ => rcar}/phy-rcar-gen2.c (100%)
>>> rename drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c (100%)
>>> create mode 100644 drivers/phy/rockchip/Kconfig
>>> create mode 100644 drivers/phy/rockchip/Makefile
>>> rename drivers/phy/{ => rockchip}/phy-rockchip-dp.c (100%)
>>> rename drivers/phy/{ => rockchip}/phy-rockchip-emmc.c (100%)
>>> rename drivers/phy/{ => rockchip}/phy-rockchip-usb.c (100%)
>>> create mode 100644 drivers/phy/samsung/Kconfig
>>> create mode 100644 drivers/phy/samsung/Makefile
>>> rename drivers/phy/{ => samsung}/phy-exynos-dp-video.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-exynos-mipi-video.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-exynos4210-usb2.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-exynos5250-sata.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-exynos5250-usb2.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-s5pv210-usb2.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-samsung-usb2.c (100%)
>>> rename drivers/phy/{ => samsung}/phy-samsung-usb2.h (100%)
>>> create mode 100644 drivers/phy/st/Kconfig
>>> create mode 100644 drivers/phy/st/Makefile
>>> rename drivers/phy/{ => st}/phy-miphy28lp.c (100%)
>>> rename drivers/phy/{ => st}/phy-miphy365x.c (100%)
>>> rename drivers/phy/{ => st}/phy-spear1310-miphy.c (100%)
>>> rename drivers/phy/{ => st}/phy-spear1340-miphy.c (100%)
>>> rename drivers/phy/{ => st}/phy-stih407-usb.c (100%)
>>> rename drivers/phy/{ => st}/phy-stih41x-usb.c (100%)
>>> create mode 100644 drivers/phy/sunxi/Kconfig
>>> create mode 100644 drivers/phy/sunxi/Makefile
>>> rename drivers/phy/{ => sunxi}/phy-sun4i-usb.c (100%)
>>> rename drivers/phy/{ => sunxi}/phy-sun9i-usb.c (100%)
>>> create mode 100644 drivers/phy/ti/Kconfig
>>> create mode 100644 drivers/phy/ti/Makefile
>>> rename drivers/phy/{ => ti}/phy-dm816x-usb.c (100%)
>>> rename drivers/phy/{ => ti}/phy-omap-control.c (100%)
>>> rename drivers/phy/{ => ti}/phy-omap-usb2.c (100%)
>>> rename drivers/phy/{ => ti}/phy-ti-pipe3.c (100%)
>>> rename drivers/phy/{ => ti}/phy-tusb1210.c (100%)
>>> rename drivers/phy/{ => ti}/phy-twl4030-usb.c (100%)
>>> rename drivers/phy/{ => ti}/ulpi_phy.h (100%)
>>>
>>> diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
>>> index 26566db..80c8c68 100644
>>> --- a/drivers/phy/Kconfig
>>> +++ b/drivers/phy/Kconfig
>>> @@ -15,45 +15,6 @@ config GENERIC_PHY
>>> phy users can obtain reference to the PHY. All the users of this
>>> framework should select this config.
>>>
>>
>>> +menuconfig PHY_PLAT
>>> + bool "Platform Phy drivers"
>>
>> Not really convinced about adding a new config here. This will create new
>> dependencies and will also start breaking users of oldconfig.
>
> This serves including all the directory paths in the 'make' for
> driver/phy/Makefile.
>
> Otherwise each directory will have to be built as per particular platform
> And, not all drivers of a vendor are built for one-kind of platform,
> for example, Samsung uses ARCH_EXYNOS, as well as ARCH_S5PV210
> Similarly, Broadcom phy drivers are based on multiple platforms, and so
> does Marvell's.
>
> Please suggest a concise way to include the vendor directories in the build path
> in drivers/phy/Makefile.
obj-y += vendor/?
-Kishon
>
>>
>> Also not all of them are platform drivers (e.g ULPI PHY drivers).
> I Think this applies to ulpi_phy only at this moment, which we can resolve
> by moving that to include/linux path.
>
>>
>> Thanks
>> Kishon
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
>> the body of a message to majordomo at vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
>
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-06 13:48 ` Vivek Gautam
0 siblings, 0 replies; 40+ messages in thread
From: Vivek Gautam @ 2016-04-06 13:48 UTC (permalink / raw)
To: Kishon Vijay Abraham I
Cc: Vivek Gautam, vireshk, Shiraz Hashim, Heiko Stübner,
Maxime Ripard, Chen-Yu Tsai, Russell King - ARM Linux,
linux-arm-kernel, spear-devel, linux-kernel, linux-rockchip,
Linux USB Mailing List, linux-samsung-soc, linux-omap, CPGS
Hi Kishon,
On Wed, Apr 6, 2016 at 5:51 AM, Kishon Vijay Abraham I <kishon@ti.com> wrote:
> Hi,
>
> On Friday 01 April 2016 07:05 PM, Vivek Gautam wrote:
>> Hi,
>>
>>
>> On Fri, Apr 1, 2016 at 6:05 AM, Kishon Vijay Abraham I <kishon@ti.com> wrote:
>>> Hi,
>>>
>>> On Friday 01 April 2016 04:59 PM, Vivek Gautam wrote:
>>>> Adding vendor specific directories in phy to group
>>>> phy drivers under their respective vendor umbrella.
>>>>
>>>> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
>>>> ---
>>>>
>>>> With growing number of phy drivers, it makes sense to
>>>> group these drivers under their respective vendor/platform
>>>> umbrella directory.
>>>>
>>>> Build-tested 'multi_v7_defconfig'.
>>>>
>>>> drivers/phy/Kconfig | 386 +---------------------
>>>> drivers/phy/Makefile | 57 +---
>>>> drivers/phy/bcom/Kconfig | 27 ++
>>>> drivers/phy/bcom/Makefile | 3 +
>>>> drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c | 0
>>>> drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c | 0
>>>> drivers/phy/{ => bcom}/phy-brcmstb-sata.c | 0
>>>> drivers/phy/hisi/Kconfig | 20 ++
>>>> drivers/phy/hisi/Makefile | 2 +
>>>> drivers/phy/{ => hisi}/phy-hi6220-usb.c | 0
>>>> drivers/phy/{ => hisi}/phy-hix5hd2-sata.c | 0
>>>> drivers/phy/marvell/Kconfig | 50 +++
>>>> drivers/phy/marvell/Makefile | 6 +
>>>> drivers/phy/{ => marvell}/phy-armada375-usb2.c | 0
>>>> drivers/phy/{ => marvell}/phy-berlin-sata.c | 0
>>>> drivers/phy/{ => marvell}/phy-berlin-usb.c | 0
>>>> drivers/phy/{ => marvell}/phy-mvebu-sata.c | 0
>>>> drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c | 0
>>>> drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c | 0
>>>> drivers/phy/qcom/Kconfig | 23 ++
>>>> drivers/phy/qcom/Makefile | 5 +
>>>> drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c | 0
>>>> drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c | 0
>>>> drivers/phy/{ => qcom}/phy-qcom-ufs-i.h | 0
>>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c | 0
>>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h | 0
>>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c | 0
>>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h | 0
>>>> drivers/phy/{ => qcom}/phy-qcom-ufs.c | 0
>>>> drivers/phy/rcar/Kconfig | 16 +
>>>> drivers/phy/rcar/Makefile | 2 +
>>>> drivers/phy/{ => rcar}/phy-rcar-gen2.c | 0
>>>> drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c | 0
>>>> drivers/phy/rockchip/Kconfig | 23 ++
>>>> drivers/phy/rockchip/Makefile | 3 +
>>>> drivers/phy/{ => rockchip}/phy-rockchip-dp.c | 0
>>>> drivers/phy/{ => rockchip}/phy-rockchip-emmc.c | 0
>>>> drivers/phy/{ => rockchip}/phy-rockchip-usb.c | 0
>>>> drivers/phy/samsung/Kconfig | 87 +++++
>>>> drivers/phy/samsung/Makefile | 10 +
>>>> drivers/phy/{ => samsung}/phy-exynos-dp-video.c | 0
>>>> drivers/phy/{ => samsung}/phy-exynos-mipi-video.c | 0
>>>> drivers/phy/{ => samsung}/phy-exynos4210-usb2.c | 0
>>>> drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c | 0
>>>> drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c | 0
>>>> drivers/phy/{ => samsung}/phy-exynos5250-sata.c | 0
>>>> drivers/phy/{ => samsung}/phy-exynos5250-usb2.c | 0
>>>> drivers/phy/{ => samsung}/phy-s5pv210-usb2.c | 0
>>>> drivers/phy/{ => samsung}/phy-samsung-usb2.c | 0
>>>> drivers/phy/{ => samsung}/phy-samsung-usb2.h | 0
>>>> drivers/phy/st/Kconfig | 51 +++
>>>> drivers/phy/st/Makefile | 6 +
>>>> drivers/phy/{ => st}/phy-miphy28lp.c | 0
>>>> drivers/phy/{ => st}/phy-miphy365x.c | 0
>>>> drivers/phy/{ => st}/phy-spear1310-miphy.c | 0
>>>> drivers/phy/{ => st}/phy-spear1340-miphy.c | 0
>>>> drivers/phy/{ => st}/phy-stih407-usb.c | 0
>>>> drivers/phy/{ => st}/phy-stih41x-usb.c | 0
>>>> drivers/phy/sunxi/Kconfig | 28 ++
>>>> drivers/phy/sunxi/Makefile | 2 +
>>>> drivers/phy/{ => sunxi}/phy-sun4i-usb.c | 0
>>>> drivers/phy/{ => sunxi}/phy-sun9i-usb.c | 0
>>>> drivers/phy/ti/Kconfig | 67 ++++
>>>> drivers/phy/ti/Makefile | 6 +
>>>> drivers/phy/{ => ti}/phy-dm816x-usb.c | 0
>>>> drivers/phy/{ => ti}/phy-omap-control.c | 0
>>>> drivers/phy/{ => ti}/phy-omap-usb2.c | 0
>>>> drivers/phy/{ => ti}/phy-ti-pipe3.c | 0
>>>> drivers/phy/{ => ti}/phy-tusb1210.c | 0
>>>> drivers/phy/{ => ti}/phy-twl4030-usb.c | 0
>>>> drivers/phy/{ => ti}/ulpi_phy.h | 0
>>>
>>> ulpi_phy.h is not specific to TI though at this point tusb1210 is the only ULPI
>>> driver.
>>
>> Yes, you are right. But i was hesitant to add a multi-level header
>> file include in the phy driver
>> which uses it.
>>
>> Does it makes sense to move this ulpi_phy.h to include/linux/phy ?
>
> yeah.. that should be okay.
Alright, i will move this file there then.
>>
>>>> 71 files changed, 464 insertions(+), 416 deletions(-)
>>>> create mode 100644 drivers/phy/bcom/Kconfig
>>>> create mode 100644 drivers/phy/bcom/Makefile
>>>> rename drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c (100%)
>>>> rename drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c (100%)
>>>> rename drivers/phy/{ => bcom}/phy-brcmstb-sata.c (100%)
>>>> create mode 100644 drivers/phy/hisi/Kconfig
>>>> create mode 100644 drivers/phy/hisi/Makefile
>>>> rename drivers/phy/{ => hisi}/phy-hi6220-usb.c (100%)
>>>> rename drivers/phy/{ => hisi}/phy-hix5hd2-sata.c (100%)
>>>> create mode 100644 drivers/phy/marvell/Kconfig
>>>> create mode 100644 drivers/phy/marvell/Makefile
>>>> rename drivers/phy/{ => marvell}/phy-armada375-usb2.c (100%)
>>>> rename drivers/phy/{ => marvell}/phy-berlin-sata.c (100%)
>>>> rename drivers/phy/{ => marvell}/phy-berlin-usb.c (100%)
>>>> rename drivers/phy/{ => marvell}/phy-mvebu-sata.c (100%)
>>>> rename drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c (100%)
>>>> rename drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c (100%)
>>>> create mode 100644 drivers/phy/qcom/Kconfig
>>>> create mode 100644 drivers/phy/qcom/Makefile
>>>> rename drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c (100%)
>>>> rename drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c (100%)
>>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-i.h (100%)
>>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c (100%)
>>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h (100%)
>>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c (100%)
>>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h (100%)
>>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs.c (100%)
>>>> create mode 100644 drivers/phy/rcar/Kconfig
>>>> create mode 100644 drivers/phy/rcar/Makefile
>>>> rename drivers/phy/{ => rcar}/phy-rcar-gen2.c (100%)
>>>> rename drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c (100%)
>>>> create mode 100644 drivers/phy/rockchip/Kconfig
>>>> create mode 100644 drivers/phy/rockchip/Makefile
>>>> rename drivers/phy/{ => rockchip}/phy-rockchip-dp.c (100%)
>>>> rename drivers/phy/{ => rockchip}/phy-rockchip-emmc.c (100%)
>>>> rename drivers/phy/{ => rockchip}/phy-rockchip-usb.c (100%)
>>>> create mode 100644 drivers/phy/samsung/Kconfig
>>>> create mode 100644 drivers/phy/samsung/Makefile
>>>> rename drivers/phy/{ => samsung}/phy-exynos-dp-video.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-exynos-mipi-video.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-exynos4210-usb2.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-exynos5250-sata.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-exynos5250-usb2.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-s5pv210-usb2.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-samsung-usb2.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-samsung-usb2.h (100%)
>>>> create mode 100644 drivers/phy/st/Kconfig
>>>> create mode 100644 drivers/phy/st/Makefile
>>>> rename drivers/phy/{ => st}/phy-miphy28lp.c (100%)
>>>> rename drivers/phy/{ => st}/phy-miphy365x.c (100%)
>>>> rename drivers/phy/{ => st}/phy-spear1310-miphy.c (100%)
>>>> rename drivers/phy/{ => st}/phy-spear1340-miphy.c (100%)
>>>> rename drivers/phy/{ => st}/phy-stih407-usb.c (100%)
>>>> rename drivers/phy/{ => st}/phy-stih41x-usb.c (100%)
>>>> create mode 100644 drivers/phy/sunxi/Kconfig
>>>> create mode 100644 drivers/phy/sunxi/Makefile
>>>> rename drivers/phy/{ => sunxi}/phy-sun4i-usb.c (100%)
>>>> rename drivers/phy/{ => sunxi}/phy-sun9i-usb.c (100%)
>>>> create mode 100644 drivers/phy/ti/Kconfig
>>>> create mode 100644 drivers/phy/ti/Makefile
>>>> rename drivers/phy/{ => ti}/phy-dm816x-usb.c (100%)
>>>> rename drivers/phy/{ => ti}/phy-omap-control.c (100%)
>>>> rename drivers/phy/{ => ti}/phy-omap-usb2.c (100%)
>>>> rename drivers/phy/{ => ti}/phy-ti-pipe3.c (100%)
>>>> rename drivers/phy/{ => ti}/phy-tusb1210.c (100%)
>>>> rename drivers/phy/{ => ti}/phy-twl4030-usb.c (100%)
>>>> rename drivers/phy/{ => ti}/ulpi_phy.h (100%)
>>>>
>>>> diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
>>>> index 26566db..80c8c68 100644
>>>> --- a/drivers/phy/Kconfig
>>>> +++ b/drivers/phy/Kconfig
>>>> @@ -15,45 +15,6 @@ config GENERIC_PHY
>>>> phy users can obtain reference to the PHY. All the users of this
>>>> framework should select this config.
>>>>
>>>
>>>> +menuconfig PHY_PLAT
>>>> + bool "Platform Phy drivers"
>>>
>>> Not really convinced about adding a new config here. This will create new
>>> dependencies and will also start breaking users of oldconfig.
>>
>> This serves including all the directory paths in the 'make' for
>> driver/phy/Makefile.
>>
>> Otherwise each directory will have to be built as per particular platform
>> And, not all drivers of a vendor are built for one-kind of platform,
>> for example, Samsung uses ARCH_EXYNOS, as well as ARCH_S5PV210
>> Similarly, Broadcom phy drivers are based on multiple platforms, and so
>> does Marvell's.
>>
>> Please suggest a concise way to include the vendor directories in the build path
>> in drivers/phy/Makefile.
>
> obj-y += vendor/?
Yea, correct. Thanks
Will respin the patch with all the comments.
>
> -Kishon
>
>>
>>>
>>> Also not all of them are platform drivers (e.g ULPI PHY drivers).
>> I Think this applies to ulpi_phy only at this moment, which we can resolve
>> by moving that to include/linux path.
>>
>>>
>>> Thanks
>>> Kishon
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>>
>>
--
Best Regards
Vivek Gautam
Samsung R&D Institute, Bangalore
India
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-06 13:48 ` Vivek Gautam
0 siblings, 0 replies; 40+ messages in thread
From: Vivek Gautam @ 2016-04-06 13:48 UTC (permalink / raw)
To: Kishon Vijay Abraham I
Cc: Linux USB Mailing List, Russell King - ARM Linux,
Heiko Stübner, vireshk-DgEjT+Ai2ygdnm+yROfE0A,
spear-devel-nkJGhpqTU55BDgjK7y7TUQ,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Chen-Yu Tsai,
linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA, Vivek Gautam, CPGS,
Maxime Ripard, linux-omap-u79uwXL29TY76Z2rM5mHXA, Shiraz Hashim,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Hi Kishon,
On Wed, Apr 6, 2016 at 5:51 AM, Kishon Vijay Abraham I <kishon-l0cyMroinI0@public.gmane.org> wrote:
> Hi,
>
> On Friday 01 April 2016 07:05 PM, Vivek Gautam wrote:
>> Hi,
>>
>>
>> On Fri, Apr 1, 2016 at 6:05 AM, Kishon Vijay Abraham I <kishon-l0cyMroinI0@public.gmane.org> wrote:
>>> Hi,
>>>
>>> On Friday 01 April 2016 04:59 PM, Vivek Gautam wrote:
>>>> Adding vendor specific directories in phy to group
>>>> phy drivers under their respective vendor umbrella.
>>>>
>>>> Signed-off-by: Vivek Gautam <gautam.vivek-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
>>>> ---
>>>>
>>>> With growing number of phy drivers, it makes sense to
>>>> group these drivers under their respective vendor/platform
>>>> umbrella directory.
>>>>
>>>> Build-tested 'multi_v7_defconfig'.
>>>>
>>>> drivers/phy/Kconfig | 386 +---------------------
>>>> drivers/phy/Makefile | 57 +---
>>>> drivers/phy/bcom/Kconfig | 27 ++
>>>> drivers/phy/bcom/Makefile | 3 +
>>>> drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c | 0
>>>> drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c | 0
>>>> drivers/phy/{ => bcom}/phy-brcmstb-sata.c | 0
>>>> drivers/phy/hisi/Kconfig | 20 ++
>>>> drivers/phy/hisi/Makefile | 2 +
>>>> drivers/phy/{ => hisi}/phy-hi6220-usb.c | 0
>>>> drivers/phy/{ => hisi}/phy-hix5hd2-sata.c | 0
>>>> drivers/phy/marvell/Kconfig | 50 +++
>>>> drivers/phy/marvell/Makefile | 6 +
>>>> drivers/phy/{ => marvell}/phy-armada375-usb2.c | 0
>>>> drivers/phy/{ => marvell}/phy-berlin-sata.c | 0
>>>> drivers/phy/{ => marvell}/phy-berlin-usb.c | 0
>>>> drivers/phy/{ => marvell}/phy-mvebu-sata.c | 0
>>>> drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c | 0
>>>> drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c | 0
>>>> drivers/phy/qcom/Kconfig | 23 ++
>>>> drivers/phy/qcom/Makefile | 5 +
>>>> drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c | 0
>>>> drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c | 0
>>>> drivers/phy/{ => qcom}/phy-qcom-ufs-i.h | 0
>>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c | 0
>>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h | 0
>>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c | 0
>>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h | 0
>>>> drivers/phy/{ => qcom}/phy-qcom-ufs.c | 0
>>>> drivers/phy/rcar/Kconfig | 16 +
>>>> drivers/phy/rcar/Makefile | 2 +
>>>> drivers/phy/{ => rcar}/phy-rcar-gen2.c | 0
>>>> drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c | 0
>>>> drivers/phy/rockchip/Kconfig | 23 ++
>>>> drivers/phy/rockchip/Makefile | 3 +
>>>> drivers/phy/{ => rockchip}/phy-rockchip-dp.c | 0
>>>> drivers/phy/{ => rockchip}/phy-rockchip-emmc.c | 0
>>>> drivers/phy/{ => rockchip}/phy-rockchip-usb.c | 0
>>>> drivers/phy/samsung/Kconfig | 87 +++++
>>>> drivers/phy/samsung/Makefile | 10 +
>>>> drivers/phy/{ => samsung}/phy-exynos-dp-video.c | 0
>>>> drivers/phy/{ => samsung}/phy-exynos-mipi-video.c | 0
>>>> drivers/phy/{ => samsung}/phy-exynos4210-usb2.c | 0
>>>> drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c | 0
>>>> drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c | 0
>>>> drivers/phy/{ => samsung}/phy-exynos5250-sata.c | 0
>>>> drivers/phy/{ => samsung}/phy-exynos5250-usb2.c | 0
>>>> drivers/phy/{ => samsung}/phy-s5pv210-usb2.c | 0
>>>> drivers/phy/{ => samsung}/phy-samsung-usb2.c | 0
>>>> drivers/phy/{ => samsung}/phy-samsung-usb2.h | 0
>>>> drivers/phy/st/Kconfig | 51 +++
>>>> drivers/phy/st/Makefile | 6 +
>>>> drivers/phy/{ => st}/phy-miphy28lp.c | 0
>>>> drivers/phy/{ => st}/phy-miphy365x.c | 0
>>>> drivers/phy/{ => st}/phy-spear1310-miphy.c | 0
>>>> drivers/phy/{ => st}/phy-spear1340-miphy.c | 0
>>>> drivers/phy/{ => st}/phy-stih407-usb.c | 0
>>>> drivers/phy/{ => st}/phy-stih41x-usb.c | 0
>>>> drivers/phy/sunxi/Kconfig | 28 ++
>>>> drivers/phy/sunxi/Makefile | 2 +
>>>> drivers/phy/{ => sunxi}/phy-sun4i-usb.c | 0
>>>> drivers/phy/{ => sunxi}/phy-sun9i-usb.c | 0
>>>> drivers/phy/ti/Kconfig | 67 ++++
>>>> drivers/phy/ti/Makefile | 6 +
>>>> drivers/phy/{ => ti}/phy-dm816x-usb.c | 0
>>>> drivers/phy/{ => ti}/phy-omap-control.c | 0
>>>> drivers/phy/{ => ti}/phy-omap-usb2.c | 0
>>>> drivers/phy/{ => ti}/phy-ti-pipe3.c | 0
>>>> drivers/phy/{ => ti}/phy-tusb1210.c | 0
>>>> drivers/phy/{ => ti}/phy-twl4030-usb.c | 0
>>>> drivers/phy/{ => ti}/ulpi_phy.h | 0
>>>
>>> ulpi_phy.h is not specific to TI though at this point tusb1210 is the only ULPI
>>> driver.
>>
>> Yes, you are right. But i was hesitant to add a multi-level header
>> file include in the phy driver
>> which uses it.
>>
>> Does it makes sense to move this ulpi_phy.h to include/linux/phy ?
>
> yeah.. that should be okay.
Alright, i will move this file there then.
>>
>>>> 71 files changed, 464 insertions(+), 416 deletions(-)
>>>> create mode 100644 drivers/phy/bcom/Kconfig
>>>> create mode 100644 drivers/phy/bcom/Makefile
>>>> rename drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c (100%)
>>>> rename drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c (100%)
>>>> rename drivers/phy/{ => bcom}/phy-brcmstb-sata.c (100%)
>>>> create mode 100644 drivers/phy/hisi/Kconfig
>>>> create mode 100644 drivers/phy/hisi/Makefile
>>>> rename drivers/phy/{ => hisi}/phy-hi6220-usb.c (100%)
>>>> rename drivers/phy/{ => hisi}/phy-hix5hd2-sata.c (100%)
>>>> create mode 100644 drivers/phy/marvell/Kconfig
>>>> create mode 100644 drivers/phy/marvell/Makefile
>>>> rename drivers/phy/{ => marvell}/phy-armada375-usb2.c (100%)
>>>> rename drivers/phy/{ => marvell}/phy-berlin-sata.c (100%)
>>>> rename drivers/phy/{ => marvell}/phy-berlin-usb.c (100%)
>>>> rename drivers/phy/{ => marvell}/phy-mvebu-sata.c (100%)
>>>> rename drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c (100%)
>>>> rename drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c (100%)
>>>> create mode 100644 drivers/phy/qcom/Kconfig
>>>> create mode 100644 drivers/phy/qcom/Makefile
>>>> rename drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c (100%)
>>>> rename drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c (100%)
>>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-i.h (100%)
>>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c (100%)
>>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h (100%)
>>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c (100%)
>>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h (100%)
>>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs.c (100%)
>>>> create mode 100644 drivers/phy/rcar/Kconfig
>>>> create mode 100644 drivers/phy/rcar/Makefile
>>>> rename drivers/phy/{ => rcar}/phy-rcar-gen2.c (100%)
>>>> rename drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c (100%)
>>>> create mode 100644 drivers/phy/rockchip/Kconfig
>>>> create mode 100644 drivers/phy/rockchip/Makefile
>>>> rename drivers/phy/{ => rockchip}/phy-rockchip-dp.c (100%)
>>>> rename drivers/phy/{ => rockchip}/phy-rockchip-emmc.c (100%)
>>>> rename drivers/phy/{ => rockchip}/phy-rockchip-usb.c (100%)
>>>> create mode 100644 drivers/phy/samsung/Kconfig
>>>> create mode 100644 drivers/phy/samsung/Makefile
>>>> rename drivers/phy/{ => samsung}/phy-exynos-dp-video.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-exynos-mipi-video.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-exynos4210-usb2.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-exynos5250-sata.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-exynos5250-usb2.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-s5pv210-usb2.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-samsung-usb2.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-samsung-usb2.h (100%)
>>>> create mode 100644 drivers/phy/st/Kconfig
>>>> create mode 100644 drivers/phy/st/Makefile
>>>> rename drivers/phy/{ => st}/phy-miphy28lp.c (100%)
>>>> rename drivers/phy/{ => st}/phy-miphy365x.c (100%)
>>>> rename drivers/phy/{ => st}/phy-spear1310-miphy.c (100%)
>>>> rename drivers/phy/{ => st}/phy-spear1340-miphy.c (100%)
>>>> rename drivers/phy/{ => st}/phy-stih407-usb.c (100%)
>>>> rename drivers/phy/{ => st}/phy-stih41x-usb.c (100%)
>>>> create mode 100644 drivers/phy/sunxi/Kconfig
>>>> create mode 100644 drivers/phy/sunxi/Makefile
>>>> rename drivers/phy/{ => sunxi}/phy-sun4i-usb.c (100%)
>>>> rename drivers/phy/{ => sunxi}/phy-sun9i-usb.c (100%)
>>>> create mode 100644 drivers/phy/ti/Kconfig
>>>> create mode 100644 drivers/phy/ti/Makefile
>>>> rename drivers/phy/{ => ti}/phy-dm816x-usb.c (100%)
>>>> rename drivers/phy/{ => ti}/phy-omap-control.c (100%)
>>>> rename drivers/phy/{ => ti}/phy-omap-usb2.c (100%)
>>>> rename drivers/phy/{ => ti}/phy-ti-pipe3.c (100%)
>>>> rename drivers/phy/{ => ti}/phy-tusb1210.c (100%)
>>>> rename drivers/phy/{ => ti}/phy-twl4030-usb.c (100%)
>>>> rename drivers/phy/{ => ti}/ulpi_phy.h (100%)
>>>>
>>>> diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
>>>> index 26566db..80c8c68 100644
>>>> --- a/drivers/phy/Kconfig
>>>> +++ b/drivers/phy/Kconfig
>>>> @@ -15,45 +15,6 @@ config GENERIC_PHY
>>>> phy users can obtain reference to the PHY. All the users of this
>>>> framework should select this config.
>>>>
>>>
>>>> +menuconfig PHY_PLAT
>>>> + bool "Platform Phy drivers"
>>>
>>> Not really convinced about adding a new config here. This will create new
>>> dependencies and will also start breaking users of oldconfig.
>>
>> This serves including all the directory paths in the 'make' for
>> driver/phy/Makefile.
>>
>> Otherwise each directory will have to be built as per particular platform
>> And, not all drivers of a vendor are built for one-kind of platform,
>> for example, Samsung uses ARCH_EXYNOS, as well as ARCH_S5PV210
>> Similarly, Broadcom phy drivers are based on multiple platforms, and so
>> does Marvell's.
>>
>> Please suggest a concise way to include the vendor directories in the build path
>> in drivers/phy/Makefile.
>
> obj-y += vendor/?
Yea, correct. Thanks
Will respin the patch with all the comments.
>
> -Kishon
>
>>
>>>
>>> Also not all of them are platform drivers (e.g ULPI PHY drivers).
>> I Think this applies to ulpi_phy only at this moment, which we can resolve
>> by moving that to include/linux path.
>>
>>>
>>> Thanks
>>> Kishon
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
>>> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>>
>>
--
Best Regards
Vivek Gautam
Samsung R&D Institute, Bangalore
India
^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH 1/2] phy: Group vendor specific phy drivers
@ 2016-04-06 13:48 ` Vivek Gautam
0 siblings, 0 replies; 40+ messages in thread
From: Vivek Gautam @ 2016-04-06 13:48 UTC (permalink / raw)
To: linux-arm-kernel
Hi Kishon,
On Wed, Apr 6, 2016 at 5:51 AM, Kishon Vijay Abraham I <kishon@ti.com> wrote:
> Hi,
>
> On Friday 01 April 2016 07:05 PM, Vivek Gautam wrote:
>> Hi,
>>
>>
>> On Fri, Apr 1, 2016 at 6:05 AM, Kishon Vijay Abraham I <kishon@ti.com> wrote:
>>> Hi,
>>>
>>> On Friday 01 April 2016 04:59 PM, Vivek Gautam wrote:
>>>> Adding vendor specific directories in phy to group
>>>> phy drivers under their respective vendor umbrella.
>>>>
>>>> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
>>>> ---
>>>>
>>>> With growing number of phy drivers, it makes sense to
>>>> group these drivers under their respective vendor/platform
>>>> umbrella directory.
>>>>
>>>> Build-tested 'multi_v7_defconfig'.
>>>>
>>>> drivers/phy/Kconfig | 386 +---------------------
>>>> drivers/phy/Makefile | 57 +---
>>>> drivers/phy/bcom/Kconfig | 27 ++
>>>> drivers/phy/bcom/Makefile | 3 +
>>>> drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c | 0
>>>> drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c | 0
>>>> drivers/phy/{ => bcom}/phy-brcmstb-sata.c | 0
>>>> drivers/phy/hisi/Kconfig | 20 ++
>>>> drivers/phy/hisi/Makefile | 2 +
>>>> drivers/phy/{ => hisi}/phy-hi6220-usb.c | 0
>>>> drivers/phy/{ => hisi}/phy-hix5hd2-sata.c | 0
>>>> drivers/phy/marvell/Kconfig | 50 +++
>>>> drivers/phy/marvell/Makefile | 6 +
>>>> drivers/phy/{ => marvell}/phy-armada375-usb2.c | 0
>>>> drivers/phy/{ => marvell}/phy-berlin-sata.c | 0
>>>> drivers/phy/{ => marvell}/phy-berlin-usb.c | 0
>>>> drivers/phy/{ => marvell}/phy-mvebu-sata.c | 0
>>>> drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c | 0
>>>> drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c | 0
>>>> drivers/phy/qcom/Kconfig | 23 ++
>>>> drivers/phy/qcom/Makefile | 5 +
>>>> drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c | 0
>>>> drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c | 0
>>>> drivers/phy/{ => qcom}/phy-qcom-ufs-i.h | 0
>>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c | 0
>>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h | 0
>>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c | 0
>>>> drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h | 0
>>>> drivers/phy/{ => qcom}/phy-qcom-ufs.c | 0
>>>> drivers/phy/rcar/Kconfig | 16 +
>>>> drivers/phy/rcar/Makefile | 2 +
>>>> drivers/phy/{ => rcar}/phy-rcar-gen2.c | 0
>>>> drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c | 0
>>>> drivers/phy/rockchip/Kconfig | 23 ++
>>>> drivers/phy/rockchip/Makefile | 3 +
>>>> drivers/phy/{ => rockchip}/phy-rockchip-dp.c | 0
>>>> drivers/phy/{ => rockchip}/phy-rockchip-emmc.c | 0
>>>> drivers/phy/{ => rockchip}/phy-rockchip-usb.c | 0
>>>> drivers/phy/samsung/Kconfig | 87 +++++
>>>> drivers/phy/samsung/Makefile | 10 +
>>>> drivers/phy/{ => samsung}/phy-exynos-dp-video.c | 0
>>>> drivers/phy/{ => samsung}/phy-exynos-mipi-video.c | 0
>>>> drivers/phy/{ => samsung}/phy-exynos4210-usb2.c | 0
>>>> drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c | 0
>>>> drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c | 0
>>>> drivers/phy/{ => samsung}/phy-exynos5250-sata.c | 0
>>>> drivers/phy/{ => samsung}/phy-exynos5250-usb2.c | 0
>>>> drivers/phy/{ => samsung}/phy-s5pv210-usb2.c | 0
>>>> drivers/phy/{ => samsung}/phy-samsung-usb2.c | 0
>>>> drivers/phy/{ => samsung}/phy-samsung-usb2.h | 0
>>>> drivers/phy/st/Kconfig | 51 +++
>>>> drivers/phy/st/Makefile | 6 +
>>>> drivers/phy/{ => st}/phy-miphy28lp.c | 0
>>>> drivers/phy/{ => st}/phy-miphy365x.c | 0
>>>> drivers/phy/{ => st}/phy-spear1310-miphy.c | 0
>>>> drivers/phy/{ => st}/phy-spear1340-miphy.c | 0
>>>> drivers/phy/{ => st}/phy-stih407-usb.c | 0
>>>> drivers/phy/{ => st}/phy-stih41x-usb.c | 0
>>>> drivers/phy/sunxi/Kconfig | 28 ++
>>>> drivers/phy/sunxi/Makefile | 2 +
>>>> drivers/phy/{ => sunxi}/phy-sun4i-usb.c | 0
>>>> drivers/phy/{ => sunxi}/phy-sun9i-usb.c | 0
>>>> drivers/phy/ti/Kconfig | 67 ++++
>>>> drivers/phy/ti/Makefile | 6 +
>>>> drivers/phy/{ => ti}/phy-dm816x-usb.c | 0
>>>> drivers/phy/{ => ti}/phy-omap-control.c | 0
>>>> drivers/phy/{ => ti}/phy-omap-usb2.c | 0
>>>> drivers/phy/{ => ti}/phy-ti-pipe3.c | 0
>>>> drivers/phy/{ => ti}/phy-tusb1210.c | 0
>>>> drivers/phy/{ => ti}/phy-twl4030-usb.c | 0
>>>> drivers/phy/{ => ti}/ulpi_phy.h | 0
>>>
>>> ulpi_phy.h is not specific to TI though at this point tusb1210 is the only ULPI
>>> driver.
>>
>> Yes, you are right. But i was hesitant to add a multi-level header
>> file include in the phy driver
>> which uses it.
>>
>> Does it makes sense to move this ulpi_phy.h to include/linux/phy ?
>
> yeah.. that should be okay.
Alright, i will move this file there then.
>>
>>>> 71 files changed, 464 insertions(+), 416 deletions(-)
>>>> create mode 100644 drivers/phy/bcom/Kconfig
>>>> create mode 100644 drivers/phy/bcom/Makefile
>>>> rename drivers/phy/{ => bcom}/phy-bcm-cygnus-pcie.c (100%)
>>>> rename drivers/phy/{ => bcom}/phy-bcm-kona-usb2.c (100%)
>>>> rename drivers/phy/{ => bcom}/phy-brcmstb-sata.c (100%)
>>>> create mode 100644 drivers/phy/hisi/Kconfig
>>>> create mode 100644 drivers/phy/hisi/Makefile
>>>> rename drivers/phy/{ => hisi}/phy-hi6220-usb.c (100%)
>>>> rename drivers/phy/{ => hisi}/phy-hix5hd2-sata.c (100%)
>>>> create mode 100644 drivers/phy/marvell/Kconfig
>>>> create mode 100644 drivers/phy/marvell/Makefile
>>>> rename drivers/phy/{ => marvell}/phy-armada375-usb2.c (100%)
>>>> rename drivers/phy/{ => marvell}/phy-berlin-sata.c (100%)
>>>> rename drivers/phy/{ => marvell}/phy-berlin-usb.c (100%)
>>>> rename drivers/phy/{ => marvell}/phy-mvebu-sata.c (100%)
>>>> rename drivers/phy/{ => marvell}/phy-pxa-28nm-hsic.c (100%)
>>>> rename drivers/phy/{ => marvell}/phy-pxa-28nm-usb2.c (100%)
>>>> create mode 100644 drivers/phy/qcom/Kconfig
>>>> create mode 100644 drivers/phy/qcom/Makefile
>>>> rename drivers/phy/{ => qcom}/phy-qcom-apq8064-sata.c (100%)
>>>> rename drivers/phy/{ => qcom}/phy-qcom-ipq806x-sata.c (100%)
>>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-i.h (100%)
>>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.c (100%)
>>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-14nm.h (100%)
>>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.c (100%)
>>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs-qmp-20nm.h (100%)
>>>> rename drivers/phy/{ => qcom}/phy-qcom-ufs.c (100%)
>>>> create mode 100644 drivers/phy/rcar/Kconfig
>>>> create mode 100644 drivers/phy/rcar/Makefile
>>>> rename drivers/phy/{ => rcar}/phy-rcar-gen2.c (100%)
>>>> rename drivers/phy/{ => rcar}/phy-rcar-gen3-usb2.c (100%)
>>>> create mode 100644 drivers/phy/rockchip/Kconfig
>>>> create mode 100644 drivers/phy/rockchip/Makefile
>>>> rename drivers/phy/{ => rockchip}/phy-rockchip-dp.c (100%)
>>>> rename drivers/phy/{ => rockchip}/phy-rockchip-emmc.c (100%)
>>>> rename drivers/phy/{ => rockchip}/phy-rockchip-usb.c (100%)
>>>> create mode 100644 drivers/phy/samsung/Kconfig
>>>> create mode 100644 drivers/phy/samsung/Makefile
>>>> rename drivers/phy/{ => samsung}/phy-exynos-dp-video.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-exynos-mipi-video.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-exynos4210-usb2.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-exynos5250-sata.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-exynos5250-usb2.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-s5pv210-usb2.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-samsung-usb2.c (100%)
>>>> rename drivers/phy/{ => samsung}/phy-samsung-usb2.h (100%)
>>>> create mode 100644 drivers/phy/st/Kconfig
>>>> create mode 100644 drivers/phy/st/Makefile
>>>> rename drivers/phy/{ => st}/phy-miphy28lp.c (100%)
>>>> rename drivers/phy/{ => st}/phy-miphy365x.c (100%)
>>>> rename drivers/phy/{ => st}/phy-spear1310-miphy.c (100%)
>>>> rename drivers/phy/{ => st}/phy-spear1340-miphy.c (100%)
>>>> rename drivers/phy/{ => st}/phy-stih407-usb.c (100%)
>>>> rename drivers/phy/{ => st}/phy-stih41x-usb.c (100%)
>>>> create mode 100644 drivers/phy/sunxi/Kconfig
>>>> create mode 100644 drivers/phy/sunxi/Makefile
>>>> rename drivers/phy/{ => sunxi}/phy-sun4i-usb.c (100%)
>>>> rename drivers/phy/{ => sunxi}/phy-sun9i-usb.c (100%)
>>>> create mode 100644 drivers/phy/ti/Kconfig
>>>> create mode 100644 drivers/phy/ti/Makefile
>>>> rename drivers/phy/{ => ti}/phy-dm816x-usb.c (100%)
>>>> rename drivers/phy/{ => ti}/phy-omap-control.c (100%)
>>>> rename drivers/phy/{ => ti}/phy-omap-usb2.c (100%)
>>>> rename drivers/phy/{ => ti}/phy-ti-pipe3.c (100%)
>>>> rename drivers/phy/{ => ti}/phy-tusb1210.c (100%)
>>>> rename drivers/phy/{ => ti}/phy-twl4030-usb.c (100%)
>>>> rename drivers/phy/{ => ti}/ulpi_phy.h (100%)
>>>>
>>>> diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
>>>> index 26566db..80c8c68 100644
>>>> --- a/drivers/phy/Kconfig
>>>> +++ b/drivers/phy/Kconfig
>>>> @@ -15,45 +15,6 @@ config GENERIC_PHY
>>>> phy users can obtain reference to the PHY. All the users of this
>>>> framework should select this config.
>>>>
>>>
>>>> +menuconfig PHY_PLAT
>>>> + bool "Platform Phy drivers"
>>>
>>> Not really convinced about adding a new config here. This will create new
>>> dependencies and will also start breaking users of oldconfig.
>>
>> This serves including all the directory paths in the 'make' for
>> driver/phy/Makefile.
>>
>> Otherwise each directory will have to be built as per particular platform
>> And, not all drivers of a vendor are built for one-kind of platform,
>> for example, Samsung uses ARCH_EXYNOS, as well as ARCH_S5PV210
>> Similarly, Broadcom phy drivers are based on multiple platforms, and so
>> does Marvell's.
>>
>> Please suggest a concise way to include the vendor directories in the build path
>> in drivers/phy/Makefile.
>
> obj-y += vendor/?
Yea, correct. Thanks
Will respin the patch with all the comments.
>
> -Kishon
>
>>
>>>
>>> Also not all of them are platform drivers (e.g ULPI PHY drivers).
>> I Think this applies to ulpi_phy only at this moment, which we can resolve
>> by moving that to include/linux path.
>>
>>>
>>> Thanks
>>> Kishon
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
>>> the body of a message to majordomo at vger.kernel.org
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>>
>>
--
Best Regards
Vivek Gautam
Samsung R&D Institute, Bangalore
India
^ permalink raw reply [flat|nested] 40+ messages in thread
end of thread, other threads:[~2016-04-06 13:48 UTC | newest]
Thread overview: 40+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-01 11:29 [PATCH 1/2] phy: Group vendor specific phy drivers Vivek Gautam
2016-04-01 11:29 ` Vivek Gautam
2016-04-01 11:29 ` Vivek Gautam
2016-04-01 11:29 ` [PATCH 2/2] arm: mach-spear: Enable PHY_PLAT to meet dependency Vivek Gautam
2016-04-01 11:29 ` Vivek Gautam
2016-04-01 11:29 ` Vivek Gautam
2016-04-01 11:42 ` Viresh Kumar
2016-04-01 11:42 ` Viresh Kumar
2016-04-01 11:39 ` [PATCH 1/2] phy: Group vendor specific phy drivers Viresh Kumar
2016-04-01 11:39 ` Viresh Kumar
2016-04-01 12:52 ` Vivek Gautam
2016-04-01 12:52 ` Vivek Gautam
2016-04-01 11:42 ` Maxime Ripard
2016-04-01 11:42 ` Maxime Ripard
2016-04-01 12:51 ` Vivek Gautam
2016-04-01 12:51 ` Vivek Gautam
2016-04-01 13:05 ` Kishon Vijay Abraham I
2016-04-01 13:05 ` Kishon Vijay Abraham I
2016-04-01 13:05 ` Kishon Vijay Abraham I
2016-04-01 13:35 ` Vivek Gautam
2016-04-01 13:35 ` Vivek Gautam
2016-04-06 12:51 ` Kishon Vijay Abraham I
2016-04-06 12:51 ` Kishon Vijay Abraham I
2016-04-06 12:51 ` Kishon Vijay Abraham I
2016-04-06 13:48 ` Vivek Gautam
2016-04-06 13:48 ` Vivek Gautam
2016-04-06 13:48 ` Vivek Gautam
2016-04-01 15:16 ` Heiko Stuebner
2016-04-01 15:16 ` Heiko Stuebner
2016-04-01 15:16 ` Heiko Stuebner
2016-04-01 15:31 ` kbuild test robot
2016-04-01 15:31 ` kbuild test robot
2016-04-01 15:31 ` kbuild test robot
2016-04-05 4:54 ` Vivek Gautam
2016-04-05 4:54 ` Vivek Gautam
2016-04-05 4:54 ` Vivek Gautam
2016-04-03 6:05 ` Krzysztof Kozlowski
2016-04-03 6:05 ` Krzysztof Kozlowski
2016-04-05 4:52 ` Vivek Gautam
2016-04-05 4:52 ` Vivek Gautam
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.