[RFC PATCH 0/3] usb: phy: Add platform driver support for ULPI phys

From: Piyush Mehta
Date: Fri Sep 29 2023 - 02:49:29 EST


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