xref: /linux/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-ufs-phy.yaml (revision 43e9ad0c55a369ecc84a4788d06a8a6bfa634f1c)
17741f31aSJohan Hovold# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
27741f31aSJohan Hovold%YAML 1.2
37741f31aSJohan Hovold---
47741f31aSJohan Hovold$id: http://devicetree.org/schemas/phy/qcom,sc8280xp-qmp-ufs-phy.yaml#
57741f31aSJohan Hovold$schema: http://devicetree.org/meta-schemas/core.yaml#
67741f31aSJohan Hovold
77741f31aSJohan Hovoldtitle: Qualcomm QMP PHY controller (UFS, SC8280XP)
87741f31aSJohan Hovold
97741f31aSJohan Hovoldmaintainers:
107741f31aSJohan Hovold  - Vinod Koul <vkoul@kernel.org>
117741f31aSJohan Hovold
127741f31aSJohan Hovolddescription:
137741f31aSJohan Hovold  The QMP PHY controller supports physical layer functionality for a number of
147741f31aSJohan Hovold  controllers on Qualcomm chipsets, such as, PCIe, UFS, and USB.
157741f31aSJohan Hovold
167741f31aSJohan Hovoldproperties:
177741f31aSJohan Hovold  compatible:
186a612c86SSayali Lokhande    oneOf:
196a612c86SSayali Lokhande      - items:
206a612c86SSayali Lokhande          - enum:
216a612c86SSayali Lokhande              - qcom,qcs615-qmp-ufs-phy
226a612c86SSayali Lokhande          - const: qcom,sm6115-qmp-ufs-phy
2330c280bcSXin Liu      - items:
2430c280bcSXin Liu          - enum:
2530c280bcSXin Liu              - qcom,qcs8300-qmp-ufs-phy
2630c280bcSXin Liu          - const: qcom,sa8775p-qmp-ufs-phy
27*7c3321f3SJingyi Wang      - items:
28*7c3321f3SJingyi Wang          - enum:
29*7c3321f3SJingyi Wang              - qcom,kaanapali-qmp-ufs-phy
30*7c3321f3SJingyi Wang          - const: qcom,sm8750-qmp-ufs-phy
316a612c86SSayali Lokhande      - enum:
32dc5cb635SDmitry Baryshkov          - qcom,msm8996-qmp-ufs-phy
33dc5cb635SDmitry Baryshkov          - qcom,msm8998-qmp-ufs-phy
34e5796a9cSBartosz Golaszewski          - qcom,sa8775p-qmp-ufs-phy
351cf2bf8fSDavid Wronek          - qcom,sc7180-qmp-ufs-phy
3679eeac2eSNitin Rawat          - qcom,sc7280-qmp-ufs-phy
37dc5cb635SDmitry Baryshkov          - qcom,sc8180x-qmp-ufs-phy
387741f31aSJohan Hovold          - qcom,sc8280xp-qmp-ufs-phy
39dc5cb635SDmitry Baryshkov          - qcom,sdm845-qmp-ufs-phy
40dc5cb635SDmitry Baryshkov          - qcom,sm6115-qmp-ufs-phy
419083b009SLux Aliaga          - qcom,sm6125-qmp-ufs-phy
42dc5cb635SDmitry Baryshkov          - qcom,sm6350-qmp-ufs-phy
43001c00efSDavid Wronek          - qcom,sm7150-qmp-ufs-phy
44dc5cb635SDmitry Baryshkov          - qcom,sm8150-qmp-ufs-phy
45dc5cb635SDmitry Baryshkov          - qcom,sm8250-qmp-ufs-phy
46dc5cb635SDmitry Baryshkov          - qcom,sm8350-qmp-ufs-phy
47dc5cb635SDmitry Baryshkov          - qcom,sm8450-qmp-ufs-phy
485787731cSDanila Tikhonov          - qcom,sm8475-qmp-ufs-phy
49fdb5a862SAbel Vesa          - qcom,sm8550-qmp-ufs-phy
508c91ef98SNeil Armstrong          - qcom,sm8650-qmp-ufs-phy
5112185bc3SNitin Rawat          - qcom,sm8750-qmp-ufs-phy
527741f31aSJohan Hovold
537741f31aSJohan Hovold  reg:
547741f31aSJohan Hovold    maxItems: 1
557741f31aSJohan Hovold
567741f31aSJohan Hovold  clocks:
57b0bcec86SManivannan Sadhasivam    minItems: 2
58e5796a9cSBartosz Golaszewski    maxItems: 3
597741f31aSJohan Hovold
607741f31aSJohan Hovold  clock-names:
61b0bcec86SManivannan Sadhasivam    minItems: 2
62b0bcec86SManivannan Sadhasivam    maxItems: 3
637741f31aSJohan Hovold
647741f31aSJohan Hovold  power-domains:
657741f31aSJohan Hovold    maxItems: 1
667741f31aSJohan Hovold
677741f31aSJohan Hovold  resets:
687741f31aSJohan Hovold    maxItems: 1
697741f31aSJohan Hovold
707741f31aSJohan Hovold  reset-names:
717741f31aSJohan Hovold    items:
727741f31aSJohan Hovold      - const: ufsphy
737741f31aSJohan Hovold
747741f31aSJohan Hovold  vdda-phy-supply: true
757741f31aSJohan Hovold
767741f31aSJohan Hovold  vdda-pll-supply: true
777741f31aSJohan Hovold
78521d431fSDmitry Baryshkov  "#clock-cells":
79521d431fSDmitry Baryshkov    const: 1
80521d431fSDmitry Baryshkov
817741f31aSJohan Hovold  "#phy-cells":
827741f31aSJohan Hovold    const: 0
837741f31aSJohan Hovold
847741f31aSJohan Hovoldrequired:
857741f31aSJohan Hovold  - compatible
867741f31aSJohan Hovold  - reg
877741f31aSJohan Hovold  - clocks
887741f31aSJohan Hovold  - clock-names
897741f31aSJohan Hovold  - resets
907741f31aSJohan Hovold  - reset-names
917741f31aSJohan Hovold  - vdda-phy-supply
927741f31aSJohan Hovold  - vdda-pll-supply
937741f31aSJohan Hovold  - "#phy-cells"
947741f31aSJohan Hovold
95e5796a9cSBartosz GolaszewskiallOf:
96e5796a9cSBartosz Golaszewski  - if:
97e5796a9cSBartosz Golaszewski      properties:
98e5796a9cSBartosz Golaszewski        compatible:
99e5796a9cSBartosz Golaszewski          contains:
100e5796a9cSBartosz Golaszewski            enum:
101b0bcec86SManivannan Sadhasivam              - qcom,msm8998-qmp-ufs-phy
102e5796a9cSBartosz Golaszewski              - qcom,sa8775p-qmp-ufs-phy
1037c1f4296SDanila Tikhonov              - qcom,sc7180-qmp-ufs-phy
10479eeac2eSNitin Rawat              - qcom,sc7280-qmp-ufs-phy
105dc5cb635SDmitry Baryshkov              - qcom,sc8180x-qmp-ufs-phy
106dc5cb635SDmitry Baryshkov              - qcom,sc8280xp-qmp-ufs-phy
107dc5cb635SDmitry Baryshkov              - qcom,sdm845-qmp-ufs-phy
108dc5cb635SDmitry Baryshkov              - qcom,sm6115-qmp-ufs-phy
109dc5cb635SDmitry Baryshkov              - qcom,sm6125-qmp-ufs-phy
110dc5cb635SDmitry Baryshkov              - qcom,sm6350-qmp-ufs-phy
111dc5cb635SDmitry Baryshkov              - qcom,sm7150-qmp-ufs-phy
112dc5cb635SDmitry Baryshkov              - qcom,sm8150-qmp-ufs-phy
113dc5cb635SDmitry Baryshkov              - qcom,sm8250-qmp-ufs-phy
114dc5cb635SDmitry Baryshkov              - qcom,sm8350-qmp-ufs-phy
115b0bcec86SManivannan Sadhasivam              - qcom,sm8450-qmp-ufs-phy
1165787731cSDanila Tikhonov              - qcom,sm8475-qmp-ufs-phy
117dc5cb635SDmitry Baryshkov              - qcom,sm8550-qmp-ufs-phy
1188c91ef98SNeil Armstrong              - qcom,sm8650-qmp-ufs-phy
11912185bc3SNitin Rawat              - qcom,sm8750-qmp-ufs-phy
120dc5cb635SDmitry Baryshkov    then:
121e5796a9cSBartosz Golaszewski      properties:
122e5796a9cSBartosz Golaszewski        clocks:
123b0bcec86SManivannan Sadhasivam          minItems: 3
124b0bcec86SManivannan Sadhasivam          maxItems: 3
125e5796a9cSBartosz Golaszewski        clock-names:
126b0bcec86SManivannan Sadhasivam          items:
127b0bcec86SManivannan Sadhasivam            - const: ref
128b0bcec86SManivannan Sadhasivam            - const: ref_aux
129b0bcec86SManivannan Sadhasivam            - const: qref
130e5796a9cSBartosz Golaszewski
131dc5cb635SDmitry Baryshkov  - if:
132dc5cb635SDmitry Baryshkov      properties:
133dc5cb635SDmitry Baryshkov        compatible:
134dc5cb635SDmitry Baryshkov          contains:
135dc5cb635SDmitry Baryshkov            enum:
136dc5cb635SDmitry Baryshkov              - qcom,msm8996-qmp-ufs-phy
137dc5cb635SDmitry Baryshkov    then:
138dc5cb635SDmitry Baryshkov      properties:
139dc5cb635SDmitry Baryshkov        clocks:
140b0bcec86SManivannan Sadhasivam          minItems: 2
141b0bcec86SManivannan Sadhasivam          maxItems: 2
142dc5cb635SDmitry Baryshkov        clock-names:
143b0bcec86SManivannan Sadhasivam          items:
144b0bcec86SManivannan Sadhasivam            - const: ref
145b0bcec86SManivannan Sadhasivam            - const: qref
146dc5cb635SDmitry Baryshkov
14759e377a1SDmitry Baryshkov  - if:
14859e377a1SDmitry Baryshkov      properties:
14959e377a1SDmitry Baryshkov        compatible:
15059e377a1SDmitry Baryshkov          contains:
15159e377a1SDmitry Baryshkov            enum:
15259e377a1SDmitry Baryshkov              - qcom,msm8996-qmp-ufs-phy
15359e377a1SDmitry Baryshkov              - qcom,msm8998-qmp-ufs-phy
15459e377a1SDmitry Baryshkov    then:
15559e377a1SDmitry Baryshkov      properties:
15659e377a1SDmitry Baryshkov        power-domains:
15759e377a1SDmitry Baryshkov          false
15859e377a1SDmitry Baryshkov    else:
15959e377a1SDmitry Baryshkov      required:
16059e377a1SDmitry Baryshkov        - power-domains
16159e377a1SDmitry Baryshkov
1627741f31aSJohan HovoldadditionalProperties: false
1637741f31aSJohan Hovold
1647741f31aSJohan Hovoldexamples:
1657741f31aSJohan Hovold  - |
1667741f31aSJohan Hovold    #include <dt-bindings/clock/qcom,gcc-sc8280xp.h>
167b0bcec86SManivannan Sadhasivam    #include <dt-bindings/clock/qcom,rpmh.h>
1687741f31aSJohan Hovold
1697741f31aSJohan Hovold    ufs_mem_phy: phy@1d87000 {
1707741f31aSJohan Hovold        compatible = "qcom,sc8280xp-qmp-ufs-phy";
1717741f31aSJohan Hovold        reg = <0x01d87000 0x1000>;
1727741f31aSJohan Hovold
173b0bcec86SManivannan Sadhasivam        clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GCC_UFS_PHY_PHY_AUX_CLK>,
174b0bcec86SManivannan Sadhasivam                 <&gcc GCC_UFS_REF_CLKREF_CLK>;
175b0bcec86SManivannan Sadhasivam
176b0bcec86SManivannan Sadhasivam        clock-names = "ref", "ref_aux", "qref";
1777741f31aSJohan Hovold
1787741f31aSJohan Hovold        power-domains = <&gcc UFS_PHY_GDSC>;
1797741f31aSJohan Hovold
1807741f31aSJohan Hovold        resets = <&ufs_mem_hc 0>;
1817741f31aSJohan Hovold        reset-names = "ufsphy";
1827741f31aSJohan Hovold
1837741f31aSJohan Hovold        vdda-phy-supply = <&vreg_l6b>;
1847741f31aSJohan Hovold        vdda-pll-supply = <&vreg_l3b>;
1857741f31aSJohan Hovold
1867741f31aSJohan Hovold        #phy-cells = <0>;
1877741f31aSJohan Hovold    };
188