xref: /freebsd/sys/contrib/device-tree/Bindings/phy/qcom,sc8280xp-qmp-usb3-uni-phy.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
18bab661aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
28bab661aSEmmanuel Vadot%YAML 1.2
38bab661aSEmmanuel Vadot---
48bab661aSEmmanuel Vadot$id: http://devicetree.org/schemas/phy/qcom,sc8280xp-qmp-usb3-uni-phy.yaml#
58bab661aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68bab661aSEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Qualcomm QMP PHY controller (USB, SC8280XP)
88bab661aSEmmanuel Vadot
98bab661aSEmmanuel Vadotmaintainers:
108bab661aSEmmanuel Vadot  - Vinod Koul <vkoul@kernel.org>
118bab661aSEmmanuel Vadot
128bab661aSEmmanuel Vadotdescription:
138bab661aSEmmanuel Vadot  The QMP PHY controller supports physical layer functionality for a number of
148bab661aSEmmanuel Vadot  controllers on Qualcomm chipsets, such as, PCIe, UFS, and USB.
158bab661aSEmmanuel Vadot
168bab661aSEmmanuel Vadotproperties:
178bab661aSEmmanuel Vadot  compatible:
188bab661aSEmmanuel Vadot    enum:
1984943d6fSEmmanuel Vadot      - qcom,ipq6018-qmp-usb3-phy
2084943d6fSEmmanuel Vadot      - qcom,ipq8074-qmp-usb3-phy
21f126890aSEmmanuel Vadot      - qcom,ipq9574-qmp-usb3-phy
2284943d6fSEmmanuel Vadot      - qcom,msm8996-qmp-usb3-phy
2384943d6fSEmmanuel Vadot      - qcom,msm8998-qmp-usb3-phy
24f126890aSEmmanuel Vadot      - qcom,qcm2290-qmp-usb3-phy
25f126890aSEmmanuel Vadot      - qcom,sa8775p-qmp-usb3-uni-phy
268bab661aSEmmanuel Vadot      - qcom,sc8280xp-qmp-usb3-uni-phy
2784943d6fSEmmanuel Vadot      - qcom,sdm845-qmp-usb3-uni-phy
2884943d6fSEmmanuel Vadot      - qcom,sdx55-qmp-usb3-uni-phy
2984943d6fSEmmanuel Vadot      - qcom,sdx65-qmp-usb3-uni-phy
3084943d6fSEmmanuel Vadot      - qcom,sdx75-qmp-usb3-uni-phy
31f126890aSEmmanuel Vadot      - qcom,sm6115-qmp-usb3-phy
3284943d6fSEmmanuel Vadot      - qcom,sm8150-qmp-usb3-uni-phy
3384943d6fSEmmanuel Vadot      - qcom,sm8250-qmp-usb3-uni-phy
3484943d6fSEmmanuel Vadot      - qcom,sm8350-qmp-usb3-uni-phy
35*8d13bc63SEmmanuel Vadot      - qcom,x1e80100-qmp-usb3-uni-phy
3684943d6fSEmmanuel Vadot
378bab661aSEmmanuel Vadot
388bab661aSEmmanuel Vadot  reg:
398bab661aSEmmanuel Vadot    maxItems: 1
408bab661aSEmmanuel Vadot
418bab661aSEmmanuel Vadot  clocks:
4284943d6fSEmmanuel Vadot    minItems: 4
4384943d6fSEmmanuel Vadot    maxItems: 5
448bab661aSEmmanuel Vadot
458bab661aSEmmanuel Vadot  clock-names:
4684943d6fSEmmanuel Vadot    minItems: 4
4784943d6fSEmmanuel Vadot    maxItems: 5
488bab661aSEmmanuel Vadot
498bab661aSEmmanuel Vadot  power-domains:
508bab661aSEmmanuel Vadot    maxItems: 1
518bab661aSEmmanuel Vadot
528bab661aSEmmanuel Vadot  resets:
538bab661aSEmmanuel Vadot    maxItems: 2
548bab661aSEmmanuel Vadot
558bab661aSEmmanuel Vadot  reset-names:
568bab661aSEmmanuel Vadot    items:
578bab661aSEmmanuel Vadot      - const: phy
588bab661aSEmmanuel Vadot      - const: phy_phy
598bab661aSEmmanuel Vadot
608bab661aSEmmanuel Vadot  vdda-phy-supply: true
618bab661aSEmmanuel Vadot
628bab661aSEmmanuel Vadot  vdda-pll-supply: true
638bab661aSEmmanuel Vadot
648bab661aSEmmanuel Vadot  "#clock-cells":
658bab661aSEmmanuel Vadot    const: 0
668bab661aSEmmanuel Vadot
678bab661aSEmmanuel Vadot  clock-output-names:
688bab661aSEmmanuel Vadot    maxItems: 1
698bab661aSEmmanuel Vadot
708bab661aSEmmanuel Vadot  "#phy-cells":
718bab661aSEmmanuel Vadot    const: 0
728bab661aSEmmanuel Vadot
738bab661aSEmmanuel Vadotrequired:
748bab661aSEmmanuel Vadot  - compatible
758bab661aSEmmanuel Vadot  - reg
768bab661aSEmmanuel Vadot  - clocks
778bab661aSEmmanuel Vadot  - clock-names
788bab661aSEmmanuel Vadot  - resets
798bab661aSEmmanuel Vadot  - reset-names
808bab661aSEmmanuel Vadot  - vdda-phy-supply
818bab661aSEmmanuel Vadot  - vdda-pll-supply
828bab661aSEmmanuel Vadot  - "#clock-cells"
838bab661aSEmmanuel Vadot  - clock-output-names
848bab661aSEmmanuel Vadot  - "#phy-cells"
858bab661aSEmmanuel Vadot
86f126890aSEmmanuel VadotallOf:
87f126890aSEmmanuel Vadot  - if:
88f126890aSEmmanuel Vadot      properties:
89f126890aSEmmanuel Vadot        compatible:
90f126890aSEmmanuel Vadot          contains:
91f126890aSEmmanuel Vadot            enum:
9284943d6fSEmmanuel Vadot              - qcom,ipq6018-qmp-usb3-phy
9384943d6fSEmmanuel Vadot              - qcom,ipq8074-qmp-usb3-phy
94f126890aSEmmanuel Vadot              - qcom,ipq9574-qmp-usb3-phy
9584943d6fSEmmanuel Vadot              - qcom,msm8996-qmp-usb3-phy
9684943d6fSEmmanuel Vadot              - qcom,msm8998-qmp-usb3-phy
9784943d6fSEmmanuel Vadot              - qcom,sdx55-qmp-usb3-uni-phy
9884943d6fSEmmanuel Vadot              - qcom,sdx65-qmp-usb3-uni-phy
9984943d6fSEmmanuel Vadot              - qcom,sdx75-qmp-usb3-uni-phy
100f126890aSEmmanuel Vadot    then:
101f126890aSEmmanuel Vadot      properties:
10284943d6fSEmmanuel Vadot        clocks:
10384943d6fSEmmanuel Vadot          maxItems: 4
104f126890aSEmmanuel Vadot        clock-names:
105f126890aSEmmanuel Vadot          items:
106f126890aSEmmanuel Vadot            - const: aux
107f126890aSEmmanuel Vadot            - const: ref
108f126890aSEmmanuel Vadot            - const: cfg_ahb
109f126890aSEmmanuel Vadot            - const: pipe
110f126890aSEmmanuel Vadot
111f126890aSEmmanuel Vadot  - if:
112f126890aSEmmanuel Vadot      properties:
113f126890aSEmmanuel Vadot        compatible:
114f126890aSEmmanuel Vadot          contains:
115f126890aSEmmanuel Vadot            enum:
116f126890aSEmmanuel Vadot              - qcom,qcm2290-qmp-usb3-phy
117f126890aSEmmanuel Vadot              - qcom,sm6115-qmp-usb3-phy
118f126890aSEmmanuel Vadot    then:
119f126890aSEmmanuel Vadot      properties:
120f126890aSEmmanuel Vadot        clocks:
121f126890aSEmmanuel Vadot          maxItems: 4
122f126890aSEmmanuel Vadot        clock-names:
123f126890aSEmmanuel Vadot          items:
124f126890aSEmmanuel Vadot            - const: cfg_ahb
125f126890aSEmmanuel Vadot            - const: ref
126f126890aSEmmanuel Vadot            - const: com_aux
127f126890aSEmmanuel Vadot            - const: pipe
128f126890aSEmmanuel Vadot
129f126890aSEmmanuel Vadot  - if:
130f126890aSEmmanuel Vadot      properties:
131f126890aSEmmanuel Vadot        compatible:
132f126890aSEmmanuel Vadot          contains:
133f126890aSEmmanuel Vadot            enum:
134f126890aSEmmanuel Vadot              - qcom,sa8775p-qmp-usb3-uni-phy
135f126890aSEmmanuel Vadot              - qcom,sc8280xp-qmp-usb3-uni-phy
13684943d6fSEmmanuel Vadot              - qcom,sm8150-qmp-usb3-uni-phy
13784943d6fSEmmanuel Vadot              - qcom,sm8250-qmp-usb3-uni-phy
13884943d6fSEmmanuel Vadot              - qcom,sm8350-qmp-usb3-uni-phy
139*8d13bc63SEmmanuel Vadot              - qcom,x1e80100-qmp-usb3-uni-phy
140f126890aSEmmanuel Vadot    then:
141f126890aSEmmanuel Vadot      properties:
142f126890aSEmmanuel Vadot        clocks:
143f126890aSEmmanuel Vadot          maxItems: 4
144f126890aSEmmanuel Vadot        clock-names:
145f126890aSEmmanuel Vadot          items:
146f126890aSEmmanuel Vadot            - const: aux
147f126890aSEmmanuel Vadot            - const: ref
148f126890aSEmmanuel Vadot            - const: com_aux
149f126890aSEmmanuel Vadot            - const: pipe
15084943d6fSEmmanuel Vadot
15184943d6fSEmmanuel Vadot  - if:
15284943d6fSEmmanuel Vadot      properties:
15384943d6fSEmmanuel Vadot        compatible:
15484943d6fSEmmanuel Vadot          contains:
15584943d6fSEmmanuel Vadot            enum:
15684943d6fSEmmanuel Vadot              - qcom,sdm845-qmp-usb3-uni-phy
15784943d6fSEmmanuel Vadot    then:
15884943d6fSEmmanuel Vadot      properties:
15984943d6fSEmmanuel Vadot        clocks:
16084943d6fSEmmanuel Vadot          maxItems: 5
16184943d6fSEmmanuel Vadot        clock-names:
16284943d6fSEmmanuel Vadot          items:
16384943d6fSEmmanuel Vadot            - const: aux
16484943d6fSEmmanuel Vadot            - const: cfg_ahb
16584943d6fSEmmanuel Vadot            - const: ref
16684943d6fSEmmanuel Vadot            - const: com_aux
16784943d6fSEmmanuel Vadot            - const: pipe
16884943d6fSEmmanuel Vadot
16984943d6fSEmmanuel Vadot  - if:
17084943d6fSEmmanuel Vadot      properties:
17184943d6fSEmmanuel Vadot        compatible:
17284943d6fSEmmanuel Vadot          contains:
17384943d6fSEmmanuel Vadot            enum:
17484943d6fSEmmanuel Vadot              - qcom,sa8775p-qmp-usb3-uni-phy
17584943d6fSEmmanuel Vadot              - qcom,sc8280xp-qmp-usb3-uni-phy
176*8d13bc63SEmmanuel Vadot              - qcom,x1e80100-qmp-usb3-uni-phy
17784943d6fSEmmanuel Vadot    then:
178f126890aSEmmanuel Vadot      required:
179f126890aSEmmanuel Vadot        - power-domains
180f126890aSEmmanuel Vadot
1818bab661aSEmmanuel VadotadditionalProperties: false
1828bab661aSEmmanuel Vadot
1838bab661aSEmmanuel Vadotexamples:
1848bab661aSEmmanuel Vadot  - |
1858bab661aSEmmanuel Vadot    #include <dt-bindings/clock/qcom,gcc-sc8280xp.h>
1868bab661aSEmmanuel Vadot    #include <dt-bindings/clock/qcom,rpmh.h>
1878bab661aSEmmanuel Vadot
1888bab661aSEmmanuel Vadot    phy@88ef000 {
1898bab661aSEmmanuel Vadot      compatible = "qcom,sc8280xp-qmp-usb3-uni-phy";
1908bab661aSEmmanuel Vadot      reg = <0x088ef000 0x2000>;
1918bab661aSEmmanuel Vadot
1928bab661aSEmmanuel Vadot      clocks = <&gcc GCC_USB3_MP_PHY_AUX_CLK>,
1938bab661aSEmmanuel Vadot               <&gcc GCC_USB3_MP0_CLKREF_CLK>,
1948bab661aSEmmanuel Vadot               <&gcc GCC_USB3_MP_PHY_COM_AUX_CLK>,
1958bab661aSEmmanuel Vadot               <&gcc GCC_USB3_MP_PHY_PIPE_0_CLK>;
1968bab661aSEmmanuel Vadot      clock-names = "aux", "ref", "com_aux", "pipe";
1978bab661aSEmmanuel Vadot
1988bab661aSEmmanuel Vadot      power-domains = <&gcc USB30_MP_GDSC>;
1998bab661aSEmmanuel Vadot
2008bab661aSEmmanuel Vadot      resets = <&gcc GCC_USB3_UNIPHY_MP0_BCR>,
2018bab661aSEmmanuel Vadot               <&gcc GCC_USB3UNIPHY_PHY_MP0_BCR>;
2028bab661aSEmmanuel Vadot      reset-names = "phy", "phy_phy";
2038bab661aSEmmanuel Vadot
2048bab661aSEmmanuel Vadot      vdda-phy-supply = <&vreg_l3a>;
2058bab661aSEmmanuel Vadot      vdda-pll-supply = <&vreg_l5a>;
2068bab661aSEmmanuel Vadot
2078bab661aSEmmanuel Vadot      #clock-cells = <0>;
2088bab661aSEmmanuel Vadot      clock-output-names = "usb2_phy0_pipe_clk";
2098bab661aSEmmanuel Vadot
2108bab661aSEmmanuel Vadot      #phy-cells = <0>;
2118bab661aSEmmanuel Vadot    };
212