[RFC PATCH 3/3] arm64: dts: allwinner: h700: Enable USB OTG

From: Philippe Simons
Date: Sat Jan 18 2025 - 05:22:53 EST


RG35XX have a GPIO controlled regulator for phy0 vbus, add it.
Enable HCI0s controllers and otg for dr_mode.
Add phy0 properties to descrive id_det, external vbus, and internal vbus

Signed-off-by: Philippe Simons <simons.philippe@xxxxxxxxx>
---
.../sun50i-h700-anbernic-rg35xx-2024.dts | 25 +++++++++++++++++--
1 file changed, 23 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-2024.dts b/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-2024.dts
index 80ccab7b5..5a6ae42de 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-2024.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-2024.dts
@@ -175,6 +175,16 @@ reg_vcc5v: regulator-vcc5v { /* USB-C power input */
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};
+
+ reg_usb0_vbus: regulator-usb0-vbus {
+ compatible = "regulator-fixed";
+ enable-active-high;
+ gpio = <&pio 8 16 GPIO_ACTIVE_HIGH>; /* PI16 */
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-name = "usb0-vbus";
+ vin-supply = <&reg_boost>;
+ };
};

&cpu0 {
@@ -337,12 +347,23 @@ &uart0 {
status = "okay";
};

-/* the AXP717 has USB type-C role switch functionality, not yet described by the binding */
+/* the AXP717 has USB type-C role switch functionality */
&usbotg {
- dr_mode = "peripheral"; /* USB type-C receptable */
+ dr_mode = "otg"; /* USB type-C receptable */
+ status = "okay";
+};
+
+&ehci0 {
+ status = "okay";
+};
+
+&ohci0 {
status = "okay";
};

&usbphy {
+ usb0_id_det-gpios = <&pio 8 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PI4 */
+ usb0_vbus_power-supply = <&usb_power>;
+ usb0_vbus-supply = <&reg_usb0_vbus>;
status = "okay";
};
--
2.47.1