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

From: Sebastian Reichel
Date: Fri Oct 20 2023 - 11:00:33 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 PATCHv3:
* https://lore.kernel.org/all/20231009172129.43568-1-sebastian.reichel@xxxxxxxxxxxxx/
* update binding, simplifying "rockchip,rk3568-dwc3"
* update binding, no need to specify min/max items for "rockchip,rk3588-dwc3"
* add driver inline comment, that "utmi" and "pipe" are RK3588 specific

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 | 60 +++++++++++++++++--
arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 21 +++++++
drivers/usb/dwc3/core.c | 28 +++++++++
drivers/usb/dwc3/core.h | 4 ++
4 files changed, 108 insertions(+), 5 deletions(-)

--
2.42.0