Added USB2 phy for Zynq platform and converted ULPI framework to platform driver to drive CPEN to enable external 5 volt supply when Zynq USB is in host mode. --- On zynq platform chipidea USB controller is capable of fulfilling a wide range of applications for USB 2.0 implementations as a host, a device, or On-the-Go. The USB controllers are integrated into the PS IOP to bridge between the PS interconnect and an external ULPI PHY. The register provides indirect access to the ULPI PHY register set. The ULPI PHY register I/O interface uses Viewport to access PHY registers. In current approach we have extended generic ulpi phy driver and made it a platform driver. This solves the problem, but would like to know if it is the right approach? The another approach would be to have access to the ULPI register via viewport flow by creating a new platform driver at path "driver/usb/phy" using "phy-ulpi-zynq-usb.c" source file, where the source driver would be particular to the Xilinx/AMD zynq platform. And binding patch [1/3] would be specific to Xilinx/AMD-specific. We need your inputs in order to have access to the ULPI register via viewport flow. --- drivers/usb/phy/Kconfig | 2 +- Piyush Mehta (3): dt-binding: usb: ulpi-phy: add ulpi-phy binding usb: chipidea: add usb2 phy interface for Zynq platform usb: phy: Add platform driver support for ULPI phys .../devicetree/bindings/usb/ulpi-phy.yaml | 48 ++++++++++ drivers/usb/chipidea/ci_hdrc_usb2.c | 8 ++ drivers/usb/phy/Kconfig | 2 +- drivers/usb/phy/phy-ulpi.c | 90 +++++++++++++++++++ 4 files changed, 147 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/usb/ulpi-phy.yaml -- 2.17.1