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

From: Krzysztof Kozlowski
Date: Fri Feb 10 2017 - 08:36:03 EST

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 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

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

Best regards,

> - 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.