The 'rockchip,inno-usb2phy' binding's otg-port node does not have a port node, so the current definition causes this DT validation issue:
usb2phy@fe8a0000 (rockchip,rk3568-usb2phy): otg-port: 'port' does not match any of the regexes: '^pinctrl-[0-9]+$'
Its purpose was to define the other endpoint for the USB-C connector port. The 'snps,dwc3-common.yaml' DT binding does have a port node to connect the dwc3 to type C connector with the 'usb-role-switch' property. Therefore move the port node to the dwc3 node and add the 'usb-role-switch' property to it. This fixes the above mention DT validation issue.
The incorrect definition also caused these kernel errors:
rockchip-usb2phy fe8a0000.usb2phy: Failed to create device link (0x180) with supplier port0 for /usb2phy@fe8a0000/otg-port rockchip-usb2phy fe8a0000.usb2phy: Failed to create device link (0x180) with supplier 3-0060 for /usb2phy@fe8a0000/otg-port
With the changed definition, those errors are now also gone.
While at it, remove the 'dr_mode' property as that's already defined in rk356x-base.dtsi and there's no point in redefining it.
Fixes: 87a267b4af09 ("arm64: dts: rockchip: Add USB and TCPC to rk3566-pinenote") Cc: stable@vger.kernel.org Signed-off-by: Diederik de Haas diederik@cknow-tech.com --- arch/arm64/boot/dts/rockchip/rk3566-pinenote.dtsi | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-pinenote.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-pinenote.dtsi index 7c65fe4900be..be8076a8e30c 100644 --- a/arch/arm64/boot/dts/rockchip/rk3566-pinenote.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3566-pinenote.dtsi @@ -694,8 +694,14 @@ &uart2 { };
&usb_host0_xhci { - dr_mode = "otg"; + usb-role-switch; status = "okay"; + + port { + usb2phy0_typec_hs: endpoint { + remote-endpoint = <&typec_hs_usb2phy0>; + }; + }; };
&usb2phy0 { @@ -704,10 +710,4 @@ &usb2phy0 {
&usb2phy0_otg { status = "okay"; - - port { - usb2phy0_typec_hs: endpoint { - remote-endpoint = <&typec_hs_usb2phy0>; - }; - }; };