Re: DWC3 host support

Angus Ainslie
2022-07-18T16:24:01Z

Hi,

On 2022-07-18 01:13, Michal Simek wrote:
> On 7/17/22 17:23, Marek Vasut wrote:
>> On 7/17/22 05:00, Angus Ainslie wrote:
>>> On 2022-07-16 11:37, Marek Vasut wrote:
>>>> On 7/16/22 15:02, Angus Ainslie wrote:
>>>>> Hi Michal,
>>>>>
>>>>> I recently rebased my librem5 tree onto the latest u-boot-imx
>>>>> branch
>>>>> and the dwc3 host mode stopped working.
>>>>>
>>>>> I bisected it down to this commit:
>>>>>
>>>>> 142d50fbce7c364a74f5e8204dba491b9f066e6c usb: dwc3: Add support for
>>>>> usb3-phy PHY configuration
>>>>>
>>>>> Reverting that commit allows usb host mode to work on the librem5
>>>>> again.
>>>>>
>>>>> Should this initialization go into an SOC specific glue_configure
>>>>> function ?
>>>>>
>>>>> Is the imx8mq.dtsi missing something that will keep usb host
>>>>> working
>>>>> with this patch ?
>>>>>
>>>>> Does this break usb host on other imx8mq devices ?
>>>>
>>>> Wasn't this fixed by:
>>>> 868d58f69c ("usb: dwc3: Fix non-usb3 configurations")
>>>> ?
>>>
>>> I've got that in my tree and it still fails to probe the USB2 hub and
>>> USB 2 storage.
>>
>> I assume you do have CONFIG_PHY_IMX8MQ_USB enabled ?
>>
>> What does generic_phy_get_by_name() return for you in
>> drivers/usb/dwc3/dwc3-generic.c ?
>
> As Marek said there was one patch which fixes origin patch which
> didn't handle all the error cases properly. We need to know return
> value from generic_phy_get_by_name(), also if you still have usb3-phy
> in DT (as is in imx8mq.dtsi) with phy DT status enabled and enabled
> phy driver (CONFIG_PHY_IMX8MQ_USB).
>

Removing the usb3 phy definition also "fixes" it

--- a/arch/arm/dts/imx8mq-librem5-r4.dts
+++ b/arch/arm/dts/imx8mq-librem5-r4.dts
@@ -33,3 +33,8 @@
&proximity {
proximity-near-level = <10>;
};
+
+&usb_dwc3_1 {
+ phys = <&usb3_phy1>;
+ phy-names = "usb2-phy";
+};

Thanks
Angus

> Thanks,
> Michal