Re: [PATCH v4 3/4] dt-bindings: Add Qualcomm USB SuperSpeed PHY bindings

From: Jorge Ramirez
Date: Thu Aug 29 2019 - 03:03:56 EST


On 2/23/19 17:52, Bjorn Andersson wrote:
> On Thu 07 Feb 03:17 PST 2019, Jorge Ramirez-Ortiz wrote:
>
>> Binding description for Qualcomm's Synopsys 1.0.0 SuperSpeed phy
>> controller embedded in QCS404.
>>
>> Based on Sriharsha Allenki's <sallenki@xxxxxxxxxxxxxx> original
>> definitions.
>>
>> Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@xxxxxxxxxx>
>> ---
>> .../bindings/phy/qcom,snps-usb-ssphy.txt | 79 +++++++++++++++++++
>> 1 file changed, 79 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/phy/qcom,snps-usb-ssphy.txt
>>
>> diff --git a/Documentation/devicetree/bindings/phy/qcom,snps-usb-ssphy.txt b/Documentation/devicetree/bindings/phy/qcom,snps-usb-ssphy.txt
>> new file mode 100644
>> index 000000000000..354e6f9cef62
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/phy/qcom,snps-usb-ssphy.txt
>> @@ -0,0 +1,79 @@
>> +Qualcomm Synopsys 1.0.0 SS phy controller
>> +===========================================
>> +
>> +Qualcomm 1.0.0 SS phy controller supports SuperSpeed USB connectivity on
>> +some Qualcomm platforms.
>> +
>> +Required properties:
>> +
>> +- compatible:
>> + Value type: <string>
>> + Definition: Should contain "qcom,snps-usb-ssphy".
>
> Per Rob's request make this:
>
> Should contain "qcom,qcs404-snps-usb-ssphy" and "qcom,snps-usb-ssphy"

ok

>
> You can then leave the driver matching on qcom,snps-usb-ssphy for now
> and if we ever find this to be incompatible with other platforms we can
> make the driver match on the platform-specific compatible.

ok

>
>> +
>> +- reg:
>> + Value type: <prop-encoded-array>
>> + Definition: USB PHY base address and length of the register map.
>> +
>> +- #phy-cells:
>> + Value type: <u32>
>> + Definition: Should be 0. See phy/phy-bindings.txt for details.
>> +
>> +- clocks:
>> + Value type: <prop-encoded-array>
>> + Definition: See clock-bindings.txt section "consumers". List of
>> + three clock specifiers for reference, phy core and
>> + pipe clocks.
>> +
>> +- clock-names:
>> + Value type: <string>
>> + Definition: Names of the clocks in 1-1 correspondence with the "clocks"
>> + property. Must contain "ref", "phy" and "pipe".
>> +
>> +- vdd-supply:
>> + Value type: <phandle>
>> + Definition: phandle to the regulator VDD supply node.
>> +
>> +- vdda1p8-supply:
>> + Value type: <phandle>
>> + Definition: phandle to the regulator 1.8V supply node.
>> +
>> +Optional properties:
>> +
>> +- resets:
>> + Value type: <prop-encoded-array>
>> + Definition: See reset.txt section "consumers". Specifiers for COM and
>> + PHY resets.
>> +
>> +- reset-names:
>> + Value type: <string>
>> + Definition: Names of the resets in 1-1 correspondence with the "resets"
>> + property. Must contain "com" and "phy" if the property is
>> + specified.
>> +
>> +Required child nodes:
>> +
>> +- usb connector node as defined in bindings/connector/usb-connector.txt
>> + containing the property vbus-supply.
>> +
>> +Example:
>> +
>> +usb3_phy: usb3-phy@78000 {
>> + compatible = "qcom,snps-usb-ssphy";
>> + reg = <0x78000 0x400>;
>> + #phy-cells = <0>;
>> + clocks = <&rpmcc RPM_SMD_LN_BB_CLK>,
>> + <&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>,
>> + <&gcc GCC_USB3_PHY_PIPE_CLK>;
>> + clock-names = "ref", "phy", "pipe";
>> + resets = <&gcc GCC_USB3_PHY_BCR>,
>> + <&gcc GCC_USB3PHY_PHY_BCR>;
>> + reset-names = "com", "phy";
>> + vdd-supply = <&vreg_l3_1p05>;
>> + vdda1p8-supply = <&vreg_l5_1p8>;
>> + usb3_c_connector: usb3-c-connector {
>
> The USB-C connector is attached both to the HS and SS PHYs, so I think
> you should represent this external to this node and use of_graph to
> query it.

but AFAICS we wont be able to retrieve the vbux-supply from an external
node (that interface does not exist).

rob, do you have a suggestion?

>
> So the connector should look similar to example 2 in
> connector/usb-connector.txt.
>
> Regards,
> Bjorn
>
>> + compatible = "usb-c-connector";
>> + label = "USB-C";
>> + type = "micro";
>> + vbus-supply = <&usb3_vbus_reg>;
>> + };
>> +};
>> --
>> 2.20.1
>>
>