On 03.11.2020 15:02, Marek Szyprowski wrote: > MicroUSB port on OdroidU3+ boards can operate both as peripheral or as > host port. Till now it was configured as pheriperal only port, but it > turned out that the DWC2 driver code already handles everything needed to > support USB role-switch, so switch it to dual-role (OTG) mode. This has > no effect on OdroidU3 (with 'plus') and OdroidX2, which doesn't have USB /s/with/without > needed ID pin and VBUS wiring. Those will still operate correctly in > pheriperal mode only. > > Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> > --- > arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 1 - > arch/arm/boot/dts/exynos4412-odroidu3.dts | 14 ++++++++++++++ > arch/arm/boot/dts/exynos4412-odroidx.dts | 4 ++++ > 3 files changed, 18 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi > index 2a6f5b1d7645..2b20d9095d9f 100644 > --- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi > +++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi > @@ -255,7 +255,6 @@ > }; > > &hsotg { > - dr_mode = "peripheral"; > status = "okay"; > vusb_d-supply = <&ldo15_reg>; > vusb_a-supply = <&ldo12_reg>; > diff --git a/arch/arm/boot/dts/exynos4412-odroidu3.dts b/arch/arm/boot/dts/exynos4412-odroidu3.dts > index b8549d846f86..746c2a99a83c 100644 > --- a/arch/arm/boot/dts/exynos4412-odroidu3.dts > +++ b/arch/arm/boot/dts/exynos4412-odroidu3.dts > @@ -21,6 +21,15 @@ > reg = <0x40000000 0x7FF00000>; > }; > > + vbus_otg_reg: voltage-regulator-1 { > + compatible = "regulator-fixed"; > + regulator-name = "VBUS_VDD_5.0V"; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + gpio = <&gpl2 0 GPIO_ACTIVE_HIGH>; > + enable-active-high; > + }; > + > leds { > compatible = "gpio-leds"; > led1 { > @@ -105,6 +114,11 @@ > phy-names = "hsic0", "hsic1"; > }; > > +&hsotg { > + dr_mode = "otg"; > + vbus-supply = <&vbus_otg_reg>; > +}; > + > &sound { > model = "Odroid-U3"; > samsung,audio-widgets = > diff --git a/arch/arm/boot/dts/exynos4412-odroidx.dts b/arch/arm/boot/dts/exynos4412-odroidx.dts > index 46381e9097f4..d6ee62bf336c 100644 > --- a/arch/arm/boot/dts/exynos4412-odroidx.dts > +++ b/arch/arm/boot/dts/exynos4412-odroidx.dts > @@ -76,6 +76,10 @@ > }; > }; > > +&hsotg { > + dr_mode = "peripheral"; > +}; > + > &mshc_0 { > vqmmc-supply = <&buck8_reg>; > }; Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland