Re: [PATCH 3/4] usb: dwc3: make usb2 phy interface configurable in DT

From: William Wu
Date: Mon May 09 2016 - 09:29:17 EST


On 05/09/2016 08:18 PM, Felipe Balbi wrote:
Hi,

William Wu <william.wu@xxxxxxxxxxxxxx> writes:
Add snps,phyif_utmi_16_bits devicetree property. USB2 phy
this needs a quirk_ prefix...
Yes, maybe a quirk is more proper. As you mentioned,
the PHYIf can be configured during coreconsultant.
But for some specific usb cores(e.g. rk3399 soc dwc3),
the default PHYIf configuration is error, so we need to
reconfigure it by software.

interface is hardware property, and it's platform dependent,
so we need to configure it in devicetree to set the core to
support a UTMI+ PHY with an 8- or 16-bit interface.

And refer to the dwc3 databook, the GUSB2PHYCFG.USBTRDTIM
must set to the corresponding value according to the usb2
phy interface.
right, that's fine. But also note on section 8.1.1 Table 8-1 where it
states:

|-------------+------------------------------------------------------------|
| GUSB2PHYCFG | Program the following PHY configuration fields: USBTrdTim, |
| | FSIntf, PHYIf, TOUTCal, or leave the default values if |
| | the correct power-on values were selected during |
| | coreConsultant configuration. Note: The PHY must not |
| | be enabled for auto-resume in device mode. Hence the |
| | field GUSB2PHYCFG[15] (ULPIAutoRes) must be written |
| | with '0' during the power-on initialization in case |
| | the reset value is '1'. |
| | |
|-------------+------------------------------------------------------------|

You only need this because your core was badly configured in
coreConsultant.