xref: /linux/Documentation/devicetree/bindings/clock/qcom,mmcc.yaml (revision 73e66ddfd9984594c1f28fb756e68010924798ed)
18218c2cbSJeffrey Hugo# SPDX-License-Identifier: GPL-2.0-only
28218c2cbSJeffrey Hugo%YAML 1.2
38218c2cbSJeffrey Hugo---
404dbd865SRob Herring$id: http://devicetree.org/schemas/clock/qcom,mmcc.yaml#
58218c2cbSJeffrey Hugo$schema: http://devicetree.org/meta-schemas/core.yaml#
68218c2cbSJeffrey Hugo
78218c2cbSJeffrey Hugotitle: Qualcomm Multimedia Clock & Reset Controller Binding
88218c2cbSJeffrey Hugo
98218c2cbSJeffrey Hugomaintainers:
10304e4d53SJeffrey Hugo  - Jeffrey Hugo <quic_jhugo@quicinc.com>
118218c2cbSJeffrey Hugo  - Taniya Das <tdas@codeaurora.org>
128218c2cbSJeffrey Hugo
138218c2cbSJeffrey Hugodescription: |
148218c2cbSJeffrey Hugo  Qualcomm multimedia clock control module which supports the clocks, resets and
158218c2cbSJeffrey Hugo  power domains.
168218c2cbSJeffrey Hugo
178218c2cbSJeffrey Hugoproperties:
188218c2cbSJeffrey Hugo  compatible:
198218c2cbSJeffrey Hugo    enum:
208218c2cbSJeffrey Hugo      - qcom,mmcc-apq8064
218218c2cbSJeffrey Hugo      - qcom,mmcc-apq8084
22ef36263aSBartosz Dudziak      - qcom,mmcc-msm8226
238218c2cbSJeffrey Hugo      - qcom,mmcc-msm8660
248218c2cbSJeffrey Hugo      - qcom,mmcc-msm8960
258218c2cbSJeffrey Hugo      - qcom,mmcc-msm8974
2679726096SKonrad Dybcio      - qcom,mmcc-msm8992
2779726096SKonrad Dybcio      - qcom,mmcc-msm8994
288218c2cbSJeffrey Hugo      - qcom,mmcc-msm8996
29e6494bf6SJeffrey Hugo      - qcom,mmcc-msm8998
309502d488SAngeloGioacchino Del Regno      - qcom,mmcc-sdm630
319502d488SAngeloGioacchino Del Regno      - qcom,mmcc-sdm660
32e6494bf6SJeffrey Hugo
33e6494bf6SJeffrey Hugo  clocks:
34*73e66ddfSDmitry Baryshkov    minItems: 9
35*73e66ddfSDmitry Baryshkov    maxItems: 10
36e6494bf6SJeffrey Hugo
37e6494bf6SJeffrey Hugo  clock-names:
38*73e66ddfSDmitry Baryshkov    minItems: 9
39*73e66ddfSDmitry Baryshkov    maxItems: 10
408218c2cbSJeffrey Hugo
418218c2cbSJeffrey Hugo  '#clock-cells':
428218c2cbSJeffrey Hugo    const: 1
438218c2cbSJeffrey Hugo
448218c2cbSJeffrey Hugo  '#reset-cells':
458218c2cbSJeffrey Hugo    const: 1
468218c2cbSJeffrey Hugo
478218c2cbSJeffrey Hugo  '#power-domain-cells':
488218c2cbSJeffrey Hugo    const: 1
498218c2cbSJeffrey Hugo
508218c2cbSJeffrey Hugo  reg:
518218c2cbSJeffrey Hugo    maxItems: 1
528218c2cbSJeffrey Hugo
538218c2cbSJeffrey Hugo  protected-clocks:
548218c2cbSJeffrey Hugo    description:
558218c2cbSJeffrey Hugo      Protected clock specifier list as per common clock binding
568218c2cbSJeffrey Hugo
5790a3691eSBjorn Andersson  vdd-gfx-supply:
5890a3691eSBjorn Andersson    description:
5990a3691eSBjorn Andersson      Regulator supply for the GPU_GX GDSC
6090a3691eSBjorn Andersson
618218c2cbSJeffrey Hugorequired:
628218c2cbSJeffrey Hugo  - compatible
638218c2cbSJeffrey Hugo  - reg
648218c2cbSJeffrey Hugo  - '#clock-cells'
658218c2cbSJeffrey Hugo  - '#reset-cells'
668218c2cbSJeffrey Hugo  - '#power-domain-cells'
678218c2cbSJeffrey Hugo
687f464532SRob HerringadditionalProperties: false
697f464532SRob Herring
70*73e66ddfSDmitry BaryshkovallOf:
71*73e66ddfSDmitry Baryshkov  - if:
72e6494bf6SJeffrey Hugo      properties:
73e6494bf6SJeffrey Hugo        compatible:
74e6494bf6SJeffrey Hugo          contains:
75*73e66ddfSDmitry Baryshkov            enum:
76*73e66ddfSDmitry Baryshkov              - qcom,mmcc-msm8994
77*73e66ddfSDmitry Baryshkov              - qcom,mmcc-msm8998
78*73e66ddfSDmitry Baryshkov              - qcom,mmcc-sdm630
79*73e66ddfSDmitry Baryshkov              - qcom,mmcc-sdm660
80e6494bf6SJeffrey Hugo    then:
81e6494bf6SJeffrey Hugo      required:
82e6494bf6SJeffrey Hugo        - clocks
83e6494bf6SJeffrey Hugo        - clock-names
84e6494bf6SJeffrey Hugo
85*73e66ddfSDmitry Baryshkov  - if:
86*73e66ddfSDmitry Baryshkov      properties:
87*73e66ddfSDmitry Baryshkov        compatible:
88*73e66ddfSDmitry Baryshkov          contains:
89*73e66ddfSDmitry Baryshkov            const: qcom,mmcc-msm8994
90*73e66ddfSDmitry Baryshkov    then:
91*73e66ddfSDmitry Baryshkov      properties:
92*73e66ddfSDmitry Baryshkov        clocks:
93*73e66ddfSDmitry Baryshkov          items:
94*73e66ddfSDmitry Baryshkov            - description: Board XO source
95*73e66ddfSDmitry Baryshkov            - description: Global PLL 0 clock
96*73e66ddfSDmitry Baryshkov            - description: MMSS NoC AHB clock
97*73e66ddfSDmitry Baryshkov            - description: GFX3D clock
98*73e66ddfSDmitry Baryshkov            - description: DSI phy instance 0 dsi clock
99*73e66ddfSDmitry Baryshkov            - description: DSI phy instance 0 byte clock
100*73e66ddfSDmitry Baryshkov            - description: DSI phy instance 1 dsi clock
101*73e66ddfSDmitry Baryshkov            - description: DSI phy instance 1 byte clock
102*73e66ddfSDmitry Baryshkov            - description: HDMI phy PLL clock
103*73e66ddfSDmitry Baryshkov
104*73e66ddfSDmitry Baryshkov        clock-names:
105*73e66ddfSDmitry Baryshkov          items:
106*73e66ddfSDmitry Baryshkov            - const: xo
107*73e66ddfSDmitry Baryshkov            - const: gpll0
108*73e66ddfSDmitry Baryshkov            - const: mmssnoc_ahb
109*73e66ddfSDmitry Baryshkov            - const: oxili_gfx3d_clk_src
110*73e66ddfSDmitry Baryshkov            - const: dsi0pll
111*73e66ddfSDmitry Baryshkov            - const: dsi0pllbyte
112*73e66ddfSDmitry Baryshkov            - const: dsi1pll
113*73e66ddfSDmitry Baryshkov            - const: dsi1pllbyte
114*73e66ddfSDmitry Baryshkov            - const: hdmipll
115*73e66ddfSDmitry Baryshkov
116*73e66ddfSDmitry Baryshkov  - if:
117*73e66ddfSDmitry Baryshkov      properties:
118*73e66ddfSDmitry Baryshkov        compatible:
119*73e66ddfSDmitry Baryshkov          contains:
120*73e66ddfSDmitry Baryshkov            const: qcom,mmcc-msm8998
121*73e66ddfSDmitry Baryshkov    then:
122*73e66ddfSDmitry Baryshkov      properties:
123*73e66ddfSDmitry Baryshkov        clocks:
124*73e66ddfSDmitry Baryshkov          items:
125*73e66ddfSDmitry Baryshkov            - description: Board XO source
126*73e66ddfSDmitry Baryshkov            - description: Global PLL 0 clock
127*73e66ddfSDmitry Baryshkov            - description: DSI phy instance 0 dsi clock
128*73e66ddfSDmitry Baryshkov            - description: DSI phy instance 0 byte clock
129*73e66ddfSDmitry Baryshkov            - description: DSI phy instance 1 dsi clock
130*73e66ddfSDmitry Baryshkov            - description: DSI phy instance 1 byte clock
131*73e66ddfSDmitry Baryshkov            - description: HDMI phy PLL clock
132*73e66ddfSDmitry Baryshkov            - description: DisplayPort phy PLL link clock
133*73e66ddfSDmitry Baryshkov            - description: DisplayPort phy PLL vco clock
134*73e66ddfSDmitry Baryshkov            - description: Test clock
135*73e66ddfSDmitry Baryshkov
136*73e66ddfSDmitry Baryshkov        clock-names:
137*73e66ddfSDmitry Baryshkov          items:
138*73e66ddfSDmitry Baryshkov            - const: xo
139*73e66ddfSDmitry Baryshkov            - const: gpll0
140*73e66ddfSDmitry Baryshkov            - const: dsi0dsi
141*73e66ddfSDmitry Baryshkov            - const: dsi0byte
142*73e66ddfSDmitry Baryshkov            - const: dsi1dsi
143*73e66ddfSDmitry Baryshkov            - const: dsi1byte
144*73e66ddfSDmitry Baryshkov            - const: hdmipll
145*73e66ddfSDmitry Baryshkov            - const: dplink
146*73e66ddfSDmitry Baryshkov            - const: dpvco
147*73e66ddfSDmitry Baryshkov            - const: core_bi_pll_test_se
148*73e66ddfSDmitry Baryshkov
149*73e66ddfSDmitry Baryshkov  - if:
150*73e66ddfSDmitry Baryshkov      properties:
151*73e66ddfSDmitry Baryshkov        compatible:
152*73e66ddfSDmitry Baryshkov          contains:
153*73e66ddfSDmitry Baryshkov            enum:
154*73e66ddfSDmitry Baryshkov              - qcom,mmcc-sdm630
155*73e66ddfSDmitry Baryshkov              - qcom,mmcc-sdm660
156*73e66ddfSDmitry Baryshkov    then:
157*73e66ddfSDmitry Baryshkov      properties:
158*73e66ddfSDmitry Baryshkov        clocks:
159*73e66ddfSDmitry Baryshkov          items:
160*73e66ddfSDmitry Baryshkov            - description: Board XO source
161*73e66ddfSDmitry Baryshkov            - description: Board sleep source
162*73e66ddfSDmitry Baryshkov            - description: Global PLL 0 clock
163*73e66ddfSDmitry Baryshkov            - description: Global PLL 0 DIV clock
164*73e66ddfSDmitry Baryshkov            - description: DSI phy instance 0 dsi clock
165*73e66ddfSDmitry Baryshkov            - description: DSI phy instance 0 byte clock
166*73e66ddfSDmitry Baryshkov            - description: DSI phy instance 1 dsi clock
167*73e66ddfSDmitry Baryshkov            - description: DSI phy instance 1 byte clock
168*73e66ddfSDmitry Baryshkov            - description: DisplayPort phy PLL link clock
169*73e66ddfSDmitry Baryshkov            - description: DisplayPort phy PLL vco clock
170*73e66ddfSDmitry Baryshkov
171*73e66ddfSDmitry Baryshkov        clock-names:
172*73e66ddfSDmitry Baryshkov          items:
173*73e66ddfSDmitry Baryshkov            - const: xo
174*73e66ddfSDmitry Baryshkov            - const: sleep_clk
175*73e66ddfSDmitry Baryshkov            - const: gpll0
176*73e66ddfSDmitry Baryshkov            - const: gpll0_div
177*73e66ddfSDmitry Baryshkov            - const: dsi0pll
178*73e66ddfSDmitry Baryshkov            - const: dsi0pllbyte
179*73e66ddfSDmitry Baryshkov            - const: dsi1pll
180*73e66ddfSDmitry Baryshkov            - const: dsi1pllbyte
181*73e66ddfSDmitry Baryshkov            - const: dp_link_2x_clk_divsel_five
182*73e66ddfSDmitry Baryshkov            - const: dp_vco_divided_clk_src_mux
183*73e66ddfSDmitry Baryshkov
1848218c2cbSJeffrey Hugoexamples:
1858218c2cbSJeffrey Hugo  # Example for MMCC for MSM8960:
1868218c2cbSJeffrey Hugo  - |
1878218c2cbSJeffrey Hugo    clock-controller@4000000 {
1888218c2cbSJeffrey Hugo      compatible = "qcom,mmcc-msm8960";
1898218c2cbSJeffrey Hugo      reg = <0x4000000 0x1000>;
1908218c2cbSJeffrey Hugo      #clock-cells = <1>;
1918218c2cbSJeffrey Hugo      #reset-cells = <1>;
1928218c2cbSJeffrey Hugo      #power-domain-cells = <1>;
1938218c2cbSJeffrey Hugo    };
1948218c2cbSJeffrey Hugo...
195