[PATCH v3 0/3] RK3588 USB3 host controller support

From: Sebastian Reichel
Date: Mon Oct 09 2023 - 13:21:40 EST


Hi,

This adds RK3588 USB3 host controller support. The same DT binding
will be used for the two dual-role controllers, which are also DWC3
based, but using a different PHY and don't need the extra UTMI/PIPE
clocks.

The series has been tested with Radxa Rock 5B, which uses the controller
for the upper USB3 port. The patch enabling &combphy2_psu and &usbhost3_0
for this board will be send separately once this series has been merged.

Changes since PATCHv2:
* https://lore.kernel.org/all/20230720173643.69553-1-sebastian.reichel@xxxxxxxxxxxxx/
* update binding, so that "utmi" and "pipe" clocks may only be used on RK3588;
at the same time do not allow "grf_clk" for RK3568, which does not have a GRF
clock for USB3.

Changes since PATCHv1:
* https://lore.kernel.org/all/20230719174015.68153-1-sebastian.reichel@xxxxxxxxxxxxx/
* use same compatible for USB3 host and drd controllers (Krzysztof Kozlowski)
* do not update reset-names (Krzysztof Kozlowski)
- note: I dropped reset-names property, since there is only one reset line
anyways. Binding could stay the same, since the reset-names property is
optional
* use "ref_clk", "suspend_clk" and "bus_clk" instead of "ref", "suspend" and "bus",
so that they are the same as in RK3568 (Krzysztof Kozlowski)
* rename handle name to "usb_host2_xhci" (Michael Riesch)
* use RK356x style DWC3 binding instead of DWC3399 style
- required adding an extra patch, so that the DWC3 core supports enabling
the UTMI/PIPE clocks

-- Sebastian

Sebastian Reichel (3):
dt-bindings: usb: add rk3588 compatible to rockchip,dwc3
usb: dwc3: add optional PHY interface clocks
arm64: dts: rockchip: rk3588s: Add USB3 host controller

.../bindings/usb/rockchip,dwc3.yaml | 66 +++++++++++++++++--
arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 21 ++++++
drivers/usb/dwc3/core.c | 26 ++++++++
drivers/usb/dwc3/core.h | 4 ++
4 files changed, 112 insertions(+), 5 deletions(-)

--
2.42.0