[PATCH v2 0/2] usb: dwc3: Add support for standalone DWC3 nodes

Angus Ainslie angus at akkea.ca
Thu Jun 16 18:19:55 CEST 2022


Hi Alban,

On 2022-06-16 01:47, Alban Bedel wrote:
> Hi all,
> 
> Sometimes ago I submitted a patch to fix the support for the DWC3
> controller on the imx8mq which, unlike most DWC3 implementation, 
> doesn't
> use a top glue node with child DWC3 nodes. Instead it has the DWC3 node
> directly on the main bus.
> 
> Angus Ainslie then asked why this patch was needed as he had submitted
> the original support for the imx8mq. Looking into the issue it turned 
> out
> that Angus patch basically let the driver use the `port` subnodes, 
> which
> are there to define the connection to a type C connector, as DWC3 
> nodes.
> As the board I'm working on has no type C connecor, hence no `port`
> subnodes the driver just did nothing in my case.
> 
> This new series replace my previous patch (usb: dwc3-generic: Fix the
> iMX8MQ support). It starts by reverting Angus patch as it was not
> following the DT binding and then add support for generic DWC3 without
> glue node. This fix the imx8mq case and might add support for a few
> other SoC at the same time.
> 

I tested this on my imx8mq target and it works for SDP and the USB works 
in Linux.

If I try and use host mode in u-boot that no longer works.

  nop           1  [   ]   dwc3-wrapper          |   |-- usb at 38100000
  usb           0  [   ]   dwc3-generic-periphe  |   |   `-- usb at 38100000
  phy           0  [   ]   nxp_imx8mq_usb_phy    |   |-- usb-phy at 381f0040
  nop           2  [ + ]   dwc3-wrapper          |   |-- usb at 38200000
  usb           0  [   ]   dwc3-generic-host     |   |   `-- usb at 38200000
  phy           1  [ + ]   nxp_imx8mq_usb_phy    |   `-- usb-phy at 382f0040

This is a snip from running "dm tree" and the dwc3-generic-host gets 
identified but the driver isn't bound.

The host controller also doesn't get found when using "usb start"

u-boot=> usb start
starting USB...
Bus usb at 38200000: dwc3-generic-host usb at 38200000: this is not a 
DesignWare USB3 DRD Core
dwc3-generic-host usb at 38200000: failed to initialize core
Port not available.

Thanks
Angus

> Alban
> 
> --
> v2: - Rebased onto current master

>     - Fixed a typo the log message
> 
> Alban Bedel (2):
>   Revert "usb: dwc3: dwc3-generic: check the parent nodes"
>   usb: dwc3: Add support for standalone DWC3 nodes
> 
>  drivers/usb/dwc3/dwc3-generic.c | 124 +++++++++++++++++---------------
>  1 file changed, 68 insertions(+), 56 deletions(-)


More information about the U-Boot mailing list