From 32e1cf0df2c0d6f377884dd9ebf291f470d6ea7d Mon Sep 17 00:00:00 2001 From: William Wu Date: Tue, 11 Jan 2022 11:36:26 +0800 Subject: [PATCH] arm64: dts: rockchip: support otg mode for rk3588 evb2 and nvr The RK3588 USB OTG controller already supported to switch Device/Host mode by software, so set dr_mode to otg for RK3588 EVB2/NVR and RK3588S EVB2. With this patch, the USB OTG controller still works as Device mode by default. You can use the following two methods to switch Device/Host mode. Method 1.[Legacy] 1. Switch to Host mode echo 1 > /sys/devices/platform/fd5d0000.syscon/fd5d0000.syscon:usb2-phy@0/otg_mode or echo host > /sys/devices/platform/fd5d0000.syscon/fd5d0000.syscon:usb2-phy@0/otg_mode 2. Switch to Device mode echo 2 > /sys/devices/platform/fd5d0000.syscon/fd5d0000.syscon:usb2-phy@0/otg_mode or echo peripheral > /sys/devices/platform/fd5d0000.syscon/fd5d0000.syscon:usb2-phy@0/otg_mode Methed 2.[New] 1. Switch to Host mode echo host > /sys/kernel/debug/usb/fc000000.usb/mode 2. Switch to Device mode echo device > /sys/kernel/debug/usb/fc000000.usb/mode Signed-off-by: William Wu Change-Id: I291ac53cb5920c71a631cb76d1167eea8bbf4ee2 --- arch/arm64/boot/dts/rockchip/rk3588-evb2-lp4.dtsi | 3 ++- arch/arm64/boot/dts/rockchip/rk3588-nvr-demo.dtsi | 3 ++- arch/arm64/boot/dts/rockchip/rk3588s-evb2-lp5.dtsi | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3588-evb2-lp4.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-evb2-lp4.dtsi index 4e60369a5d6b..c1920202c72f 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-evb2-lp4.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-evb2-lp4.dtsi @@ -503,7 +503,8 @@ }; &usbdrd_dwc3_0 { - dr_mode = "peripheral"; + dr_mode = "otg"; + extcon = <&u2phy0>; status = "okay"; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3588-nvr-demo.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-nvr-demo.dtsi index 7366b6d8d67a..7a20f3e0ee21 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-nvr-demo.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-nvr-demo.dtsi @@ -631,7 +631,8 @@ }; &usbdrd_dwc3_0 { - dr_mode = "peripheral"; + dr_mode = "otg"; + extcon = <&u2phy0>; status = "okay"; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-evb2-lp5.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-evb2-lp5.dtsi index 742ad045fb55..d7ec1ee9708e 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s-evb2-lp5.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588s-evb2-lp5.dtsi @@ -944,8 +944,9 @@ }; &usbdrd_dwc3_0 { - dr_mode = "peripheral"; + dr_mode = "otg"; phys = <&u2phy0_otg>; phy-names = "usb2-phy"; maximum-speed = "high-speed"; + extcon = <&u2phy0>; };