[PATCH v2 7/9] arm64: dts: amlogic: Used onboard usb hub reset on odroid c4

Neil Armstrong neil.armstrong at linaro.org
Wed Jan 18 00:29:25 PST 2023


On 18/01/2023 05:44, Anand Moon wrote:
> 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 at gmail.com>
> ---
> 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  | 36 ++++++++++++-------
>   1 file 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 @@ led-blue {
>   	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";

Is this really needed ?

> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		/* 2.0 hub on port 1 */
> +		hub_2_0: hub at 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 at 2 {
> +			compatible = "usb2109,817";
> +			reg = <2>;
> +			peer-hub = <&hub_2_0>;
> +			reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>;
> +			vdd-supply = <&vcc_5v>;
> +		};

The final discussion in v1 was to drop this /usb-hub node and move the
hub_2_0 & hub_3_0 node under the dwc3 node.

Neil

>   	};
>   };
>   




More information about the linux-amlogic mailing list