2023-01-18 05:23:05

by Anand Moon

[permalink] [raw]
Subject: [PATCH v2 2/9] ARM: dts: amlogic: Used onboard usb hub reset to enable usb hub

On Odroid c1 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 usb hub.

Add usb hub regulator as per the schematic.

Signed-off-by: Anand Moon <[email protected]>
---
v2 - drop the vendor name from compatible string.
- move the hub node to USB controller node.
- drop the usb_otg_pwr since it only liked to OTG port
and link p5v0 to the vdd-supply.
---
arch/arm/boot/dts/meson8b-odroidc1.dts | 24 +++++++++++-------------
1 file changed, 11 insertions(+), 13 deletions(-)

diff --git a/arch/arm/boot/dts/meson8b-odroidc1.dts b/arch/arm/boot/dts/meson8b-odroidc1.dts
index 04356bc639fa..d1f9ce4742a8 100644
--- a/arch/arm/boot/dts/meson8b-odroidc1.dts
+++ b/arch/arm/boot/dts/meson8b-odroidc1.dts
@@ -281,19 +281,6 @@ &gpio_ao {
"J7 Header Pin 6", "J7 Header Pin 5",
"J7 Header Pin 7", "HDMI_CEC",
"SYS_LED", "", "";
-
- /*
- * WARNING: The USB Hub on the Odroid-C1/C1+ 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.
- */
- usb-hub {
- gpio-hog;
- gpios = <GPIOAO_4 GPIO_ACTIVE_HIGH>;
- output-high;
- line-name = "usb-hub-reset";
- };
};

&ir_receiver {
@@ -381,5 +368,16 @@ &usb1_phy {
};

&usb1 {
+ dr_mode = "host";
+ #address-cells = <1>;
+ #size-cells = <0>;
status = "okay";
+
+ hub@1 {
+ /* Genesys Logic GL852G usb hub */
+ compatible = "usb5e3,610";
+ reg = <1>;
+ vdd-supply = <&p5v0>;
+ reset-gpio = <&gpio_ao GPIOAO_4 GPIO_ACTIVE_LOW>;
+ };
};
--
2.38.1


2023-01-18 09:54:46

by Neil Armstrong

[permalink] [raw]
Subject: Re: [PATCH v2 2/9] ARM: dts: amlogic: Used onboard usb hub reset to enable usb hub

On 18/01/2023 05:44, Anand Moon wrote:
> On Odroid c1 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 usb hub.
>
> Add usb hub regulator as per the schematic.
>
> Signed-off-by: Anand Moon <[email protected]>
> ---
> v2 - drop the vendor name from compatible string.
> - move the hub node to USB controller node.
> - drop the usb_otg_pwr since it only liked to OTG port
> and link p5v0 to the vdd-supply.
> ---
> arch/arm/boot/dts/meson8b-odroidc1.dts | 24 +++++++++++-------------
> 1 file changed, 11 insertions(+), 13 deletions(-)
>
> diff --git a/arch/arm/boot/dts/meson8b-odroidc1.dts b/arch/arm/boot/dts/meson8b-odroidc1.dts
> index 04356bc639fa..d1f9ce4742a8 100644
> --- a/arch/arm/boot/dts/meson8b-odroidc1.dts
> +++ b/arch/arm/boot/dts/meson8b-odroidc1.dts
> @@ -281,19 +281,6 @@ &gpio_ao {
> "J7 Header Pin 6", "J7 Header Pin 5",
> "J7 Header Pin 7", "HDMI_CEC",
> "SYS_LED", "", "";
> -
> - /*
> - * WARNING: The USB Hub on the Odroid-C1/C1+ 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.
> - */
> - usb-hub {
> - gpio-hog;
> - gpios = <GPIOAO_4 GPIO_ACTIVE_HIGH>;
> - output-high;
> - line-name = "usb-hub-reset";
> - };
> };
>
> &ir_receiver {
> @@ -381,5 +368,16 @@ &usb1_phy {
> };
>
> &usb1 {
> + dr_mode = "host";
> + #address-cells = <1>;
> + #size-cells = <0>;
> status = "okay";
> +
> + hub@1 {
> + /* Genesys Logic GL852G usb hub */
> + compatible = "usb5e3,610";
> + reg = <1>;
> + vdd-supply = <&p5v0>;
> + reset-gpio = <&gpio_ao GPIOAO_4 GPIO_ACTIVE_LOW>;
> + };
> };

Reviewed-by: Neil Armstrong <[email protected]>