[PATCH v1 03/11] arm64: dts: amlogic: Used onboard usb hub reset on odroid c2

Anand Moon linux.amoon at gmail.com
Wed Jan 4 00:13:21 PST 2023


Hi Martin,

On Wed, 28 Dec 2022 at 20:14, Anand Moon <linux.amoon at gmail.com> wrote:
>
> Hi Martin,
>
> On Wed, 28 Dec 2022 at 18:21, Martin Blumenstingl
> <martin.blumenstingl at googlemail.com> wrote:
> >
> > Hi Anand,
> >
> Thanks for your review comments.
>
> > thank you for working on this topic!
> >
> > On Wed, Dec 28, 2022 at 11:05 AM Anand Moon <linux.amoon at gmail.com> wrote:
> > [...]
> > > +       usb {
> > > +               dr_mode = "host";
> > > +               #address-cells = <1>;
> > > +               #size-cells = <0>;
> > > +
> > > +               hub at 1 {
> > > +                       /* Genesys Logic GL852G-OHG usb hub */
> > > +                       compatible = "genesys,usb5e3,610";
> > > +                       reg = <1>;
> > > +                       vdd-supply = <&usb_otg_pwr>;
> > > +                       reset-gpio = <&gpio_ao GPIOAO_4 GPIO_ACTIVE_LOW>;
> > > +               };
> > > +       };
> > My understanding is that the hub at 1 node should be part of the
> > corresponding USB controller node, not a new node.
> > In this case hub at 1 should go into the existing &usb1 node. That way we
> > describe the way the hardware is set up (meaning: hub at 1 is connected
> > to &usb1).
> >
>
> Ok, I will move this code under &usb0 and &usb1 nodes.
>
> onboard_usb_hub module just assists in usb hub reset.
> so these changes are meant to replace the gpio-hog.
>
> $ dmesg | grep onboard
> [    5.405558] usbcore: registered new device driver onboard-usb-hub
> [    6.383428] onboard-usb-hub 1-1: reset high-speed USB device number
> 2 using dwc2
>
> Here is the boot log of the odroid c2 [0] https://pastebin.com/PFy5waPb
>

Moving the usb hub into usb subnode usb0 or usb1 does not work
on Odroid n2 and c4, we have a combo phys of usb 2.0 and usb 3.0
so the onboard usb hub reset does not get initialized until both the PHY
and USB nodes are brought up by the drivers.

# On Odroid n2 has a combo hub
alarm at odroid-n2:~$ lsusb -tv
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
    ID 1d6b:0003 Linux Foundation 3.0 root hub
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
        ID 05e3:0620 Genesys Logic, Inc. GL3523 Hub
        |__ Port 1: Dev 5, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
            ID 174c:5106 ASMedia Technology Inc. ASM1051 SATA 3Gb/s bridge
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/2p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        ID 05e3:0610 Genesys Logic, Inc. Hub
        |__ Port 2: Dev 4, If 0, Class=Vendor Specific Class,
Driver=ax88179_178a, 480M
            ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet

# Odroid C4 also has a combo hub

alarm at odroid-c4:~$ lsusb -tv
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
    ID 1d6b:0003 Linux Foundation 3.0 root hub
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
        ID 2109:0817 VIA Labs, Inc.
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/2p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        ID 2109:2817 VIA Labs, Inc.

So I will continue to work with this usb hub node to do a proper reset
of the USB hub.

> > In case hub at 1 is not detected within &usb1 then you maym need something
> > like [0] (not tested for your use-case).
> > If that helps: feel free to include that patch in your series.
> >
>
> Thanks, will check if this is needed in this case. As of now it just
> reinitializes the hub.
>
> >
> > Best regards,
> > Martin
> >
> >
> > [0] https://github.com/xdarklight/linux/commit/d8b96e5bc9c20ab2585194e0e59580c3b062c431
>
> Thanks
> -Anand

Thanks
-Anand



More information about the linux-amlogic mailing list