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