Re: [PATCH] ARM: dts: Odroid XU4: fix USB3.0 ports

From: Richard Genoud
Date: Fri Feb 10 2017 - 10:17:27 EST


2017-02-10 14:34 GMT+01:00 Krzysztof Kozlowski <krzk@xxxxxxxxxx>:
> On Thu, Feb 09, 2017 at 11:26:48AM +0100, Richard Genoud wrote:
>> I did some tests with XU3 and XU4, playing with USB2 and USB3 quirks
>> (snps,dis_u{2,3}_susphy_quirk)
>>
>> kernel for the tests: next-20170206
>> DTBs: exynos5422-odroidxu3-lite.dtb exynos5422-odroidxu4.dtb
>>
>> USB devices used for the tests: kingston USB3 key, Akasa sata/USB3
>> +SSD standard USB2 key
>> once recognized, a dd if=/dev/sda bs=1M count=100 of=/dev/null is done.
>>
>>
>> The results are:
>> - On XU4:
>> - adding snps,dis_u2_susphy_quirk doesn't change anything:
>> inserting an USB2 or USB3 device gives the error message:
>> xhci-hcd xhci-hcd.2.auto: Port resume took longer than 20000 msec,
>> port status = 0xc400fe3
>> - with snps,dis_u3_susphy_quirk, USB2 and USB3 devices are recognized
>>
>> - On XU3:
>> - Without changing XU3 dts, USB2 devices are recognized.
>> - With or without the snps,dis_u3_susphy_quirk, USB3 devices are not
>> recognized/not working properly
>> (never seen or disconnected, unable to enumerate, etc.)
>> However, adding an external powered USB3 hub in between works. (with
>> or without the snps,dis_u3_susphy_quirk)
>> Anyway, this problem doesn't seems to be related to the other since
>> addind the quirks doesn't change anything.
>
> From this description I am missing where are you inserting the USB
> devices.
>
> Both boards have totally different USB port configuration. On XU3 the
> hub is on USB 2.0 port. On XU4 the opposite - the hub is on USB 3.0
> port.
Yes, sorry.
All the tests I did were on USB3.0 ports.
So, for the XU4, it was the double USB3.0 connector.
For the XU3, it was the single USB3.0 host port.

(and the XU3 USB3.0 device port for the test bellow)

I didn't do any test on the USB2 ports.

>
> Best regards,
> Krzysztof
>
>> - On XU3 USB3 device port (dr_mode = "peripheral"):
>> - acting as an ethernet gadget only works with the snps,dis_u3_susphy_quirk.
>> It works well as USB2 or USB3 (tested with ethernet gadget+iperf)
>>
>> So, at the end, it does seem usefull to add the
>> snps,dis_u3_susphy_quirk at the exynos5420.dtsi level.
>> Adding the snps,dis_u2_susphy_quirk doesn't seems to change anything
>> for XU3/XU4 board,
>> so I don't know if it is necessary or not.