[BISECTED] arm64: dts: meson-sm1-odroid-hc4: USB not working

Pierre-Olivier Mercier nemunaire at nemunai.re
Mon Dec 26 14:48:01 PST 2022


Hi,

On my Odroid-HC4, the USB 2.0 port (the only one available) was not
working. While it seems I was not the only one in that case[1], after
some experiments, I found that by reverting the following commit:

703e84d6615a4 arm64: dts: meson-sm1-odroid-hc4: disable unused USB PHY0

it solves the issue: USB is working on latest stable (6.1.1) with this
only patch reverted, while it doesn't with vanilla dtb (with same
config otherwise).


Here are the logs with the patch untouched:

[    1.422947] dwc3-meson-g12a ffe09000.usb: USB2 ports: 1
[    1.426394] dwc3-meson-g12a ffe09000.usb: USB3 ports: 0
[    1.433413] dwc2 ff400000.usb: supply vusb_d not found, using dummy regulator
[    1.438739] dwc2 ff400000.usb: supply vusb_a not found, using dummy regulator
[    1.445913] dwc2 ff400000.usb: EPs: 7, dedicated fifos, 712 entries in SPRAM
[    1.453859] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    1.458153] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1
[    1.465848] xhci-hcd xhci-hcd.1.auto: hcc params 0x0228fe64 hci version 0x110 quirks 0x0000000000010010
[    1.475062] xhci-hcd xhci-hcd.1.auto: irq 18, io mem 0xff500000
[    1.481028] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    1.486333] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2
[    1.493931] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed
[    1.500710] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01
[    1.508616] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.515736] usb usb1: Product: xHCI Host Controller
[    1.520563] usb usb1: Manufacturer: Linux 6.1.1-nemunaire xhci-hcd
[    1.526687] usb usb1: SerialNumber: xhci-hcd.1.auto
[    1.531973] hub 1-0:1.0: USB hub found
[    1.540413] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    1.547374] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.01
[    1.555417] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.562588] usb usb2: Product: xHCI Host Controller
[    1.567397] usb usb2: Manufacturer: Linux 6.1.1-nemunaire xhci-hcd
[    1.573520] usb usb2: SerialNumber: xhci-hcd.1.auto
[    1.578780] hub 2-0:1.0: USB hub found
[    4.565412] usb usb1-port2: connect-debounce failed


With the patch reverted:

[    1.432476] dwc3-meson-g12a ffe09000.usb: USB2 ports: 2
[    1.435820] dwc3-meson-g12a ffe09000.usb: USB3 ports: 0
[    1.443953] dwc2 ff400000.usb: supply vusb_d not found, using dummy regulator
[    1.448187] dwc2 ff400000.usb: supply vusb_a not found, using dummy regulator
[    1.455361] dwc2 ff400000.usb: EPs: 7, dedicated fifos, 712 entries in SPRAM
[    1.463273] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    1.467576] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1
[    1.475268] xhci-hcd xhci-hcd.1.auto: hcc params 0x0228fe64 hci version 0x110 quirks 0x0000000000010010
[    1.484508] xhci-hcd xhci-hcd.1.auto: irq 18, io mem 0xff500000
[    1.490451] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    1.495756] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2
[    1.503345] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed
[    1.510032] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01
[    1.518009] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.525160] usb usb1: Product: xHCI Host Controller
[    1.529987] usb usb1: Manufacturer: Linux 6.1.1-nemunaire xhci-hcd
[    1.536111] usb usb1: SerialNumber: xhci-hcd.1.auto
[    1.541393] hub 1-0:1.0: USB hub found
[    1.549091] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    1.556810] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.01
[    1.564844] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.571996] usb usb2: Product: xHCI Host Controller
[    1.576821] usb usb2: Manufacturer: Linux 6.1.1-nemunaire xhci-hcd
[    1.582945] usb usb2: SerialNumber: xhci-hcd.1.auto
[    1.588238] hub 2-0:1.0: USB hub found
[    1.806067] usb 1-2: new full-speed USB device number 2 using xhci-hcd
[    1.982226] usb 1-2: New USB device found, idVendor=9e88, idProduct=9e8f, bcdDevice= 5.00
[    1.984769] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[...]


I didn't read the specs, but I also tried to inverse the patch (disable
usb2_phy1 intead of usb2_phy0) and it didn't work neither. Apparently
usb2_phy0 and usb2_phy1 are both required for some reason...

Could you reconsider this dts change?

[1]: https://www.reddit.com/r/ODroid/comments/wcrdeq/usb_port_not_working_on_hc4/ 

-- 
Pierre-Olivier "nemunaire" Mercier



More information about the linux-amlogic mailing list