@@ -28,18 +28,27 @@ sound {
};
};
-&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";
+&dwc3 {
+ /* USB hub supports both USB 2.0 and USB 3.0 root hub */
+ #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>;
};
};
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> --- v3: - move the usb hub under dwc3 node. dropped dr_mode v2: - fix the compatible string. - Fix the hub node to use peer-hub to link the usb 2.0 and usb 3.0. --- .../boot/dts/amlogic/meson-sm1-odroid-c4.dts | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-)