Hi Marek, Am 07.05.19 um 14:03 schrieb Marek Szyprowski: > Hi All, > > On 2019-05-07 11:17, Marek Szyprowski wrote: >> Hi Markus, >> >> On 2019-05-07 10:12, Markus Reichl wrote: >>> Hi Marek, >>> >>> your patch did not help on stable v5.1 >>> >>> [    3.255963] samsung-usb2-phy 125b0000.exynos-usbphy: >>> 125b0000.exynos-usbphy supply vbus not found, using dummy regulator >>> [    4.044547] usbcore: registered new interface driver smsc95xx >>> [    4.112261] usb usb1: New USB device found, idVendor=1d6b, >>> idProduct=0002, bcdDevice= 5.01 >>> [    4.120363] usb usb1: New USB device strings: Mfr=3, Product=2, >>> SerialNumber=1 >>> [    4.127560] usb usb1: Product: EHCI Host Controller >>> [    4.132415] usb usb1: Manufacturer: Linux >>> 5.1.0-00005-geb4efae48eb5 ehci_hcd >>> [    4.139446] usb usb1: SerialNumber: 12580000.ehci >>> [    4.183056] usb3503 0-0008: switched to HUB mode >>> [    4.183121] usb3503 0-0008: usb3503_probe: probed in hub mode >>> [    4.488344] usb 1-2: new high-speed USB device number 2 using >>> exynos-ehci >>> [    4.675605] usb 1-2: New USB device found, idVendor=0424, >>> idProduct=3503, bcdDevice=a1.a0 >>> [    4.678166] usb 1-2: New USB device strings: Mfr=0, Product=0, >>> SerialNumber=0 >>> [    4.686140] usb 1-2: skipping disabled interface 0 >>> >>> root@odroid-x2:~# lsusb >>> Bus 001 Device 002: ID 0424:3503 Standard Microsystems Corp. >>> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub >> >> This patch fixes the issue introduced by "usb: dwc2: gadget: Replace >> phyif with phy_utmi_width" commit, which is queued only to linux-next >> so far. Stable v5.1 doesn't include it, so the fix doesn't change >> anything on v5.1. >> >> I've checked and OdroidU3 works fine with v5.1 release, but X2 fails >> to detect USB devices. I will investigate this in a few minutes... > > > Broken USB on X2 is caused by commit > 01fdf179f4b064d4c9d30b39aba178caf32649f4 ("usb: core: skip interfaces > disabled in devicetree"). > > I looks that the mentioned commit conflicts with the Exynos EHCI and > OHCI bindings and the way the PHY ports are defined for those drivers. > It worked on U3 only by the pure coincidence. This is probably a > "minimal" fix for this issue: Thanks Marek, below fix enables USB on Odroid-X2 with stable v5.1. > > diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c > index 82239f27c4cc..cd455c4add25 100644 > --- a/drivers/usb/core/message.c > +++ b/drivers/usb/core/message.c > @@ -2007,6 +2007,7 @@ int usb_set_configuration(struct usb_device *dev, > int configuration) >                 struct usb_interface *intf = cp->interface[i]; > >                 if (intf->dev.of_node && > +                   of_device_is_compatible(intf->dev.of_node, NULL) && >                     !of_device_is_available(intf->dev.of_node)) { >                         dev_info(&dev->dev, "skipping disabled > interface %d\n", > intf->cur_altsetting->desc.bInterfaceNumber); > > I will try to describe the problem in details and discuss it on the usb > mailing list. > > Best regards > Gruß, -- Markus Reichl