[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-arm-kernel
mailing list