summaryrefslogtreecommitdiffstats
path: root/arch/arm64/boot
diff options
context:
space:
mode:
authorAnand Moon <linux.amoon@gmail.com>2023-01-18 04:44:15 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-01-19 14:13:28 +0100
commit71593b2020b37fd39ac91efae64d79962eb6c867 (patch)
treee95dbc0ef5354f1590ad1cffbc2ca8c4dcc422cc /arch/arm64/boot
parent31360c28dfdd18d77496bcceee44c10ab86cf7a0 (diff)
downloadlinux-stable-71593b2020b37fd39ac91efae64d79962eb6c867.tar.gz
linux-stable-71593b2020b37fd39ac91efae64d79962eb6c867.tar.bz2
linux-stable-71593b2020b37fd39ac91efae64d79962eb6c867.zip
arm64: dts: amlogic: Used onboard usb hub reset on odroid c4
On Odroid c4 previously use gpio-hog to reset the usb hub, switch to used on-board usb hub reset to enable the usb hub and enable power to hub. USB hub is combination of USB 2.0 and USB 3.0 root hub so use peer-hub node to link then. Signed-off-by: Anand Moon <linux.amoon@gmail.com> Link: https://lore.kernel.org/r/20230118044418.875-8-linux.amoon@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/arm64/boot')
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts36
1 files changed, 23 insertions, 13 deletions
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts
index 8c30ce63686e..d04768a66bfe 100644
--- a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts
@@ -26,20 +26,30 @@
sound {
model = "ODROID-C4";
};
-};
-&gpio {
- /*
- * WARNING: The USB Hub on the Odroid-C4 needs a reset signal
- * to be turned high in order to be detected by the USB Controller
- * This signal should be handled by a USB specific power sequence
- * in order to reset the Hub when USB bus is powered down.
- */
- hog-0 {
- gpio-hog;
- gpios = <GPIOH_4 GPIO_ACTIVE_HIGH>;
- output-high;
- line-name = "usb-hub-reset";
+ /* USB hub supports both USB 2.0 and USB 3.0 root hub */
+ usb-hub {
+ dr_mode = "host";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* 2.0 hub on port 1 */
+ hub_2_0: hub@1 {
+ compatible = "usb2109,2817";
+ reg = <1>;
+ peer-hub = <&hub_3_0>;
+ reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>;
+ vdd-supply = <&vcc_5v>;
+ };
+
+ /* 3.1 hub on port 4 */
+ hub_3_0: hub@2 {
+ compatible = "usb2109,817";
+ reg = <2>;
+ peer-hub = <&hub_2_0>;
+ reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>;
+ vdd-supply = <&vcc_5v>;
+ };
};
};