USB3 regression in RK3399

Vicente Bergas vicencb at gmail.com
Thu Feb 22 12:30:54 PST 2018


On Thu, Feb 22, 2018 at 10:10 AM, Enric Balletbo i Serra
<enric.balletbo at collabora.com> wrote:
> Hi Vincente,
>
> On 22/02/18 00:04, Vicente Bergas wrote:
>> On Wed, Feb 21, 2018 at 11:17 PM, Heiko Stuebner <heiko at sntech.de> wrote:
>>> Hi Vicente,
>>>
>>> Am Mittwoch, 21. Februar 2018, 22:58:35 CET schrieb Vicente Bergas:
>>>> testing on the Sapphire board, which uses the RK3399 SoC, a regression
>>>> has been found in v4.16-rc2 wrt v4.15.4 regarding the USB3 type-A port:
>>>> In v4.15.4 it works in USB2-only mode.
>>>> In v4.16-rc2 it does not work.
>>>>
>>>> It has been tested with a USB2 hub with 3 devices connected:
>>>> a keyboard (USB1.1), a mouse (USB2) and a rtlwifi dongle (USB2).
>>>>
>>>> It has also been tested with a USB3-to-SATA converter. This one is not
>>>> working in v4.15.4 nor in v4.16-rc2.
>>>>
>>>> I have also tried the 6-patch series from Enric Balletbo i Serra
>>>> "[PATCH v3 3/6] phy: rockchip-typec: enable usb3 host during usb3 phy power on"
>>>> with the same result.
>>>>
>>>> During boot, the following message appears a few times:
>>>> "dwc3: failed to initialize core"
>>>>
>>>> The kernel configuration is:
>>>> https://archlinuxarm.org/packages/aarch64/linux-aarch64-rc/files/config
>>>>
>>>> Is that a configuration issue, a bug in the kernel or something else?
>>>> If it is a configuration issue, what should be changed?
>>>> If it is a bug, can it be fixed?
>>>
>>> Hmm, I'd guess the main issue would be a missing typec-phy driver
>>> in your kernel (see drivers/phy/rockchip/phy-rockchip-typec.c
>>>
>>> But even with this driver, I realize that we'll be missing the extcon
>>> driver telling the driver about the cable state. ChromeOS devices
>>> get the cable-state from the embedded controller via the extcon
>>> interface and while other boards seem to use the fusb302 chip
>>> for power-delivery, the driver currently does not seem to
>>> utilize the extcon interface for something like this.
>>>
>>> Also, right now the rockchip typec-phy does fail probing when no
>>> extcon is detected, but shouldn't it just fall back to working in host-
>>> mode if it cannot get the extcon, or the device just routes everything
>>> to a standard usb3 port?
>>>
>>> Heiko
>>
>> Hi Heiko,
>> by comparison the kernel configuration that works (partially,
>> usb2-only) with v4.15.4 is
>> https://archlinuxarm.org/packages/aarch64/linux-aarch64/files/config
>> all the parameters CONFIG_*TYPEC*, CONFIG_*FUSB302*,
>> CONFIG_*PHY*ROCKCHIP* and CONFIG_*EXTCON* are the same among the two.
>> So, I suspect the difference should lay somewhere else.
>> Has Type-C anything to do with Type-A?
>>
>> Regards,
>>   Vicente.
>>
>
> I suspect that what Heiko says is right and typec-phy fails probing. Could you
> copy your dmesg output somewhere?
>
> Thanks,
>   Enric

Hi Enric,

the dmesg for v4.15.4:
https://pastebin.com/vbAMUnnL

the dmesg for v4.16-rc2:
https://pastebin.com/EL2V7u8j

Note that the rootfs is on a SATA disk connected to the USB2 type-A
port. That works on both kernel versions.
There are 3 other devices on a usb hub connected to the USB3 type-A
port. That is only recognized by v4.15.4.
The preferred setup is to have the disk at the usb3 port at usb3
speed, but that does not work in either version.

Regards,
  Vicente.



More information about the Linux-rockchip mailing list