xref: /openbmc/linux/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-ufs-phy.yaml (revision b181f7029bd71238ac2754ce7052dffd69432085)
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:
187741f31aSJohan Hovold    enum:
19dc5cb635SDmitry Baryshkov      - qcom,msm8996-qmp-ufs-phy
20dc5cb635SDmitry Baryshkov      - qcom,msm8998-qmp-ufs-phy
21e5796a9cSBartosz Golaszewski      - qcom,sa8775p-qmp-ufs-phy
22dc5cb635SDmitry Baryshkov      - qcom,sc8180x-qmp-ufs-phy
237741f31aSJohan Hovold      - qcom,sc8280xp-qmp-ufs-phy
24dc5cb635SDmitry Baryshkov      - qcom,sdm845-qmp-ufs-phy
25dc5cb635SDmitry Baryshkov      - qcom,sm6115-qmp-ufs-phy
269083b009SLux Aliaga      - qcom,sm6125-qmp-ufs-phy
27dc5cb635SDmitry Baryshkov      - qcom,sm6350-qmp-ufs-phy
28001c00efSDavid Wronek      - qcom,sm7150-qmp-ufs-phy
29dc5cb635SDmitry Baryshkov      - qcom,sm8150-qmp-ufs-phy
30dc5cb635SDmitry Baryshkov      - qcom,sm8250-qmp-ufs-phy
31dc5cb635SDmitry Baryshkov      - qcom,sm8350-qmp-ufs-phy
32dc5cb635SDmitry Baryshkov      - qcom,sm8450-qmp-ufs-phy
33fdb5a862SAbel Vesa      - qcom,sm8550-qmp-ufs-phy
347741f31aSJohan Hovold
357741f31aSJohan Hovold  reg:
367741f31aSJohan Hovold    maxItems: 1
377741f31aSJohan Hovold
387741f31aSJohan Hovold  clocks:
39dc5cb635SDmitry Baryshkov    minItems: 1
40e5796a9cSBartosz Golaszewski    maxItems: 3
417741f31aSJohan Hovold
427741f31aSJohan Hovold  clock-names:
43dc5cb635SDmitry Baryshkov    minItems: 1
447741f31aSJohan Hovold    items:
457741f31aSJohan Hovold      - const: ref
467741f31aSJohan Hovold      - const: ref_aux
47e5796a9cSBartosz Golaszewski      - const: qref
487741f31aSJohan Hovold
497741f31aSJohan Hovold  power-domains:
507741f31aSJohan Hovold    maxItems: 1
517741f31aSJohan Hovold
527741f31aSJohan Hovold  resets:
537741f31aSJohan Hovold    maxItems: 1
547741f31aSJohan Hovold
557741f31aSJohan Hovold  reset-names:
567741f31aSJohan Hovold    items:
577741f31aSJohan Hovold      - const: ufsphy
587741f31aSJohan Hovold
597741f31aSJohan Hovold  vdda-phy-supply: true
607741f31aSJohan Hovold
617741f31aSJohan Hovold  vdda-pll-supply: true
627741f31aSJohan Hovold
63521d431fSDmitry Baryshkov  "#clock-cells":
64521d431fSDmitry Baryshkov    const: 1
65521d431fSDmitry Baryshkov
667741f31aSJohan Hovold  "#phy-cells":
677741f31aSJohan Hovold    const: 0
687741f31aSJohan Hovold
697741f31aSJohan Hovoldrequired:
707741f31aSJohan Hovold  - compatible
717741f31aSJohan Hovold  - reg
727741f31aSJohan Hovold  - clocks
737741f31aSJohan Hovold  - clock-names
747741f31aSJohan Hovold  - resets
757741f31aSJohan Hovold  - reset-names
767741f31aSJohan Hovold  - vdda-phy-supply
777741f31aSJohan Hovold  - vdda-pll-supply
787741f31aSJohan Hovold  - "#phy-cells"
797741f31aSJohan Hovold
80e5796a9cSBartosz GolaszewskiallOf:
81e5796a9cSBartosz Golaszewski  - if:
82e5796a9cSBartosz Golaszewski      properties:
83e5796a9cSBartosz Golaszewski        compatible:
84e5796a9cSBartosz Golaszewski          contains:
85e5796a9cSBartosz Golaszewski            enum:
86e5796a9cSBartosz Golaszewski              - qcom,sa8775p-qmp-ufs-phy
87dc5cb635SDmitry Baryshkov              - qcom,sm8450-qmp-ufs-phy
88e5796a9cSBartosz Golaszewski    then:
89e5796a9cSBartosz Golaszewski      properties:
90e5796a9cSBartosz Golaszewski        clocks:
91d8c66cbbSBartosz Golaszewski          minItems: 3
92e5796a9cSBartosz Golaszewski        clock-names:
93d8c66cbbSBartosz Golaszewski          minItems: 3
94dc5cb635SDmitry Baryshkov
95dc5cb635SDmitry Baryshkov  - if:
96dc5cb635SDmitry Baryshkov      properties:
97dc5cb635SDmitry Baryshkov        compatible:
98dc5cb635SDmitry Baryshkov          contains:
99dc5cb635SDmitry Baryshkov            enum:
100dc5cb635SDmitry Baryshkov              - qcom,msm8998-qmp-ufs-phy
101dc5cb635SDmitry Baryshkov              - qcom,sc8180x-qmp-ufs-phy
102dc5cb635SDmitry Baryshkov              - qcom,sc8280xp-qmp-ufs-phy
103dc5cb635SDmitry Baryshkov              - qcom,sdm845-qmp-ufs-phy
104dc5cb635SDmitry Baryshkov              - qcom,sm6115-qmp-ufs-phy
105dc5cb635SDmitry Baryshkov              - qcom,sm6125-qmp-ufs-phy
106dc5cb635SDmitry Baryshkov              - qcom,sm6350-qmp-ufs-phy
107dc5cb635SDmitry Baryshkov              - qcom,sm7150-qmp-ufs-phy
108dc5cb635SDmitry Baryshkov              - qcom,sm8150-qmp-ufs-phy
109dc5cb635SDmitry Baryshkov              - qcom,sm8250-qmp-ufs-phy
110dc5cb635SDmitry Baryshkov              - qcom,sm8350-qmp-ufs-phy
111dc5cb635SDmitry Baryshkov              - qcom,sm8550-qmp-ufs-phy
112dc5cb635SDmitry Baryshkov    then:
113e5796a9cSBartosz Golaszewski      properties:
114e5796a9cSBartosz Golaszewski        clocks:
115e5796a9cSBartosz Golaszewski          maxItems: 2
116e5796a9cSBartosz Golaszewski        clock-names:
117e5796a9cSBartosz Golaszewski          maxItems: 2
118e5796a9cSBartosz Golaszewski
119dc5cb635SDmitry Baryshkov  - if:
120dc5cb635SDmitry Baryshkov      properties:
121dc5cb635SDmitry Baryshkov        compatible:
122dc5cb635SDmitry Baryshkov          contains:
123dc5cb635SDmitry Baryshkov            enum:
124dc5cb635SDmitry Baryshkov              - qcom,msm8996-qmp-ufs-phy
125dc5cb635SDmitry Baryshkov    then:
126dc5cb635SDmitry Baryshkov      properties:
127dc5cb635SDmitry Baryshkov        clocks:
128dc5cb635SDmitry Baryshkov          maxItems: 1
129dc5cb635SDmitry Baryshkov        clock-names:
130dc5cb635SDmitry Baryshkov          maxItems: 1
131dc5cb635SDmitry Baryshkov
132*6357221bSDmitry Baryshkov  - if:
133*6357221bSDmitry Baryshkov      properties:
134*6357221bSDmitry Baryshkov        compatible:
135*6357221bSDmitry Baryshkov          contains:
136*6357221bSDmitry Baryshkov            enum:
137*6357221bSDmitry Baryshkov              - qcom,msm8996-qmp-ufs-phy
138*6357221bSDmitry Baryshkov              - qcom,msm8998-qmp-ufs-phy
139*6357221bSDmitry Baryshkov    then:
140*6357221bSDmitry Baryshkov      properties:
141*6357221bSDmitry Baryshkov        power-domains:
142*6357221bSDmitry Baryshkov          false
143*6357221bSDmitry Baryshkov    else:
144*6357221bSDmitry Baryshkov      required:
145*6357221bSDmitry Baryshkov        - power-domains
146*6357221bSDmitry Baryshkov
1477741f31aSJohan HovoldadditionalProperties: false
1487741f31aSJohan Hovold
1497741f31aSJohan Hovoldexamples:
1507741f31aSJohan Hovold  - |
1517741f31aSJohan Hovold    #include <dt-bindings/clock/qcom,gcc-sc8280xp.h>
1527741f31aSJohan Hovold
1537741f31aSJohan Hovold    ufs_mem_phy: phy@1d87000 {
1547741f31aSJohan Hovold        compatible = "qcom,sc8280xp-qmp-ufs-phy";
1557741f31aSJohan Hovold        reg = <0x01d87000 0x1000>;
1567741f31aSJohan Hovold
1577741f31aSJohan Hovold        clocks = <&gcc GCC_UFS_REF_CLKREF_CLK>, <&gcc GCC_UFS_PHY_PHY_AUX_CLK>;
1587741f31aSJohan Hovold        clock-names = "ref", "ref_aux";
1597741f31aSJohan Hovold
1607741f31aSJohan Hovold        power-domains = <&gcc UFS_PHY_GDSC>;
1617741f31aSJohan Hovold
1627741f31aSJohan Hovold        resets = <&ufs_mem_hc 0>;
1637741f31aSJohan Hovold        reset-names = "ufsphy";
1647741f31aSJohan Hovold
1657741f31aSJohan Hovold        vdda-phy-supply = <&vreg_l6b>;
1667741f31aSJohan Hovold        vdda-pll-supply = <&vreg_l3b>;
1677741f31aSJohan Hovold
1687741f31aSJohan Hovold        #phy-cells = <0>;
1697741f31aSJohan Hovold    };
170