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" 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. > + > +- 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. 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 >