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

Alexander Stein alexander.stein at ew.tq-group.com
Wed Jan 4 01:36:41 PST 2023


Am Mittwoch, 4. Januar 2023, 09:13:21 CET schrieb Anand Moon:
> 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.

If your USB hub does both USB2.0 and USB3.0 you need to add both devices in DT 
and reference them using 'peer-hub'property. See ca69b6c78d5d ("arm64: dts: 
tqma8mpql: add support for 2nd USB (host) interface") for a reference.

Best regards,
Alexander

> > > 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/d8b96e5bc9c20ab2585194e0e595
> > > 80c3b062c431> 
> > Thanks
> > -Anand
> 
> Thanks
> -Anand
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel







More information about the linux-amlogic mailing list