Hi Rob,
On 4/17/2018 2:08 AM, Rob Herring wrote:
> On Fri, Apr 13, 2018 at 10:21:22PM +0530, Manu Gautam wrote:
>> Existing documentation has lot of incorrect information as it
>> was originally added for a driver that no longer exists.
>>
>> Signed-off-by: Manu Gautam
>> ---
>> .../devicetree/bindings/usb/qcom,dwc3.txt | 78
>> --
>> 1 file changed, 57 insertions(+), 21 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.txt
>> b/Documentation/devicetree/bindings/usb/qcom,dwc3.txt
>> index bc8a2fa..fdc574a 100644
>> --- a/Documentation/devicetree/bindings/usb/qcom,dwc3.txt
>> +++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.txt
>> @@ -1,54 +1,90 @@
>> Qualcomm SuperSpeed DWC3 USB SoC controller
>>
>> Required properties:
>> -- compatible: should contain "qcom,dwc3"
>> +- compatible: should contain "qcom,dwc3"
> Needs an SoC specific compatible string.
Thanks for review.
Sure. Will add that.
>
>> +- reg: offset and length of register set for QSCRATCH
>> wrapper
>> +- power-domains:specifies a phandle to PM domain provider node
>> - clocks: A list of phandle + clock-specifier pairs for the
>> clocks listed in clock-names
>> -- clock-names: Should contain the following:
>> +- clock-names: Should contain the following:
>>"core"Master/Core clock, have to be >= 125 MHz for SS
>> operation and >= 60MHz for HS operation
>> + "mock_utmi" Mock utmi clock needed for ITP/SOF generation in
>> +host mode. Its frequency should be 19.2MHz.
>> + "sleep" Sleep clock, used for wakeup when USB3 core goes
>> +into low power mode (U3).
>>
>> Optional clocks:
>>"iface" System bus AXI clock. Not present on all platforms
>> - "sleep" Sleep clock, used when USB3 core goes into low
>> -power mode (U3).
>> + "cfg_noc" System Config NOC clock. Not present on all platforms
> These need to be specific as to which compatible properties have or
> don't have these clocks.
ok
>
>> +- assigned-clocks: should be:
>> +MOCK_UTMI_CLK
>> +MASTER_CLK
>> +- assigned-clock-rates: should be:
>> +19.2Mhz (19200) for MOCK_UTMI_CLK
>> +>=125Mhz (12500) for MASTER_CLK in SS
>> mode
>> +>=60Mhz (6000) for MASTER_CLK in HS mode
>> +
>> +Optional properties:
>> +- resets: list of phandle and reset specifier pairs
> How many?
I will provide exact detail for each compatible property.
>
>> +- interrupts: specifies interrupts from controller wrapper
>> used
>> +to wakeup from low power/susepnd state. Must contain
>> +one or more entry for interrupt-names property
>> +- interrupt-names: Must include the following entries:
>> +- "hs_phy_irq": The interrupt that is asserted when a
>> + wakeup event is received on USB2 bus
>> +- "ss_phy_irq": The interrupt that is asserted when a
>> + wakeup event is received on USB3 bus
>> +- "dm_hs_phy_irq" and "dp_hs_phy_irq": Separate
>> + interrupts for any wakeup event on DM and DP lines
> Sounds like the irqs are actually part of the PHYs? If so, then that's
> where they should be in the DT.
No. These are actually part of controller wrapper called - qscratch which
has connectivity to phy outputs signals. Also, these are abstracted from PHY
and are present irrespective of type of phy present. I will add soc specific
info also in comments specifying which interrupts are not present on particular
soc/compatible.
>
>> +- qcom,select-utmi-as-pipe-clk: if present, disable USB3 pipe_clk
>> requirement.
>> +Used when dwc3 operates without SSPHY and only
>> +HS/FS/LS modes are supported.
>>
>> Required child node:
>> A child node must exist to represent the core DWC3 IP block. The name of
>> the node is not important. The content of the node is defined in dwc3.txt.
>>
>> Phy documentation is provided in the following places:
>> -Documentation/devicetree/bindings/phy/qcom-dwc3-usb-phy.txt
>> +Documentation/devicetree/bindings/phy/qcom-qmp-phy.txt - USB3 QMP PHY
>> +Documentation/devicetree/bindings/phy/qcom-qusb2-phy.txt - USB2 QUSB2 PHY
>>
>> Example device nodes:
>>
>> hs_phy: phy@100f8800 {
>> -compatible = "qcom,dwc3-hs-usb-phy";
>> -reg = <0x100f8800 0x30>;
>> -clocks = <&gcc USB30_0_UTMI_CLK>;
>> -clock-names = "ref";
>> -#phy-