Re: Regression caused by: usb: add a flag to skip PHY initialization to struct usb_hcd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 2018-06-01 16:08, Mats Karrman wrote:

Hi Peter,

On 2018-06-01 03:30, Peter Chen wrote:
After bisecting usb-next starting from tag 'v4.16' to current head I found
that the commit:

      commit 4e88d4c083016454f179686529ae65d70b933b58
      Author: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx>
      Date:   Sat Mar 3 22:43:03 2018 +0100

          usb: add a flag to skip PHY initialization to struct usb_hcd

causes a regression for me on my SolidRun Hummingboard (NXP i.MX6 DL
SoC with chipidea controller).

Example:
-- Cold boot of system.
-- Plug in USB memory stick --> Attached OK.
-- Mount disk --> OK, "ls" works
-- Unmount disk --> OK
-- Unplug USB stick --> Nothing happens. "udevadm monitor" see no events.
-- Plug in/unplug stick again --> Still nothing.
-- Plug in stick and try mounting --> Somehow causes both detach and attach
      of the stick (mounting fails but mounting again now works).

-- All tested USB devices are working in a similar way. I.e first attach
      after boot works and then trouble starts.
-- Tested using default device tree from kernel tree
      (arch/arm/boot/dts/imx6dl-hummingboard.dts).

Please ask if you think I can help in any way to track down the issue.

Hi Mats,

I have tested the latest usb-next tree, the hot plug works at my imx6sx-sdb board.
Would you please check the value of hcd->skip_phy_initialization at the end of function host_start?
hcd->skip_phy_initialization=1

BR // Mats

And this is what the "decompiled" device tree entry for the USB controller and phy look like:

            usb@2184200 {
                compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
                reg = <0x2184200 0x200>;
                interrupts = <0x0 0x28 0x4>;
                clocks = <0x4 0xa2>;
                fsl,usbphy = <0x2c>;
                fsl,usbmisc = <0x29 0x1>;
                dr_mode = "host";
                ahb-burst-config = <0x0>;
                tx-burst-size-dword = <0x10>;
                rx-burst-size-dword = <0x10>;
                status = "okay";
                disable-over-current;
                vbus-supply = <0x2d>;
            };

            usbphy@20ca000 {
                compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy";
                reg = <0x20ca000 0x1000>;
                interrupts = <0x0 0x2d 0x4>;
                clocks = <0x4 0xb7>;
                fsl,anatop = <0x2>;
                phandle = <0x2c>;
            };

So, using deprecated? "fsl,usbphy" instead of "phys", in case that matters.

// Mats

��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux