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 >> >