Hi Alexander, Thanks for your review comments. On Wed, 4 Jan 2023 at 15:06, Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx> wrote: > > 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@xxxxxxxxx> wrote: > > > Hi Martin, > > > > > > On Wed, 28 Dec 2022 at 18:21, Martin Blumenstingl > > > > > > <martin.blumenstingl@xxxxxxxxxxxxxx> 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@xxxxxxxxx> > > > > wrote: > > > > [...] > > > > > > > > > + usb { > > > > > + dr_mode = "host"; > > > > > + #address-cells = <1>; > > > > > + #size-cells = <0>; > > > > > + > > > > > + hub@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@1 node should be part of the > > > > corresponding USB controller node, not a new node. > > > > In this case hub@1 should go into the existing &usb1 node. That way we > > > > describe the way the hardware is set up (meaning: hub@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@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@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. > Yes, I have updated the DTS example for using peer-hub for both devices. > Best regards, > Alexander > Thanks -Anand