xref: /linux/Documentation/devicetree/bindings/clock/qcom,mmcc.yaml (revision 2d945dde7fa3f17f46349360a9f97614de9f47da)
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
7ece3c319SKrzysztof Kozlowskititle: Qualcomm Multimedia Clock & Reset Controller
88218c2cbSJeffrey Hugo
98218c2cbSJeffrey Hugomaintainers:
10304e4d53SJeffrey Hugo  - Jeffrey Hugo <quic_jhugo@quicinc.com>
1160838878STaniya Das  - Taniya Das <quic_tdas@quicinc.com>
128218c2cbSJeffrey Hugo
138218c2cbSJeffrey Hugodescription: |
14ece3c319SKrzysztof Kozlowski  Qualcomm multimedia clock control module provides 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:
345683f11aSLuca Weiss    minItems: 7
35605f0738SDmitry Baryshkov    maxItems: 13
36e6494bf6SJeffrey Hugo
37e6494bf6SJeffrey Hugo  clock-names:
385683f11aSLuca Weiss    minItems: 7
39605f0738SDmitry Baryshkov    maxItems: 13
408218c2cbSJeffrey Hugo
4190a3691eSBjorn Andersson  vdd-gfx-supply:
4290a3691eSBjorn Andersson    description:
4390a3691eSBjorn Andersson      Regulator supply for the GPU_GX GDSC
4490a3691eSBjorn Andersson
458218c2cbSJeffrey Hugorequired:
468218c2cbSJeffrey Hugo  - compatible
478218c2cbSJeffrey Hugo  - '#power-domain-cells'
488218c2cbSJeffrey Hugo
4973e66ddfSDmitry BaryshkovallOf:
50*56245968SSatya Priya Kakitapalli  - $ref: qcom,gcc.yaml#
5173e66ddfSDmitry Baryshkov  - if:
52e6494bf6SJeffrey Hugo      properties:
53e6494bf6SJeffrey Hugo        compatible:
54e6494bf6SJeffrey Hugo          contains:
5573e66ddfSDmitry Baryshkov            enum:
56861466d4SDmitry Baryshkov              - qcom,mmcc-apq8064
57861466d4SDmitry Baryshkov              - qcom,mmcc-msm8960
58861466d4SDmitry Baryshkov    then:
59861466d4SDmitry Baryshkov      properties:
60861466d4SDmitry Baryshkov        clocks:
612b5add60SDmitry Baryshkov          minItems: 8
62861466d4SDmitry Baryshkov          items:
63861466d4SDmitry Baryshkov            - description: Board PXO source
64861466d4SDmitry Baryshkov            - description: PLL 3 clock
65861466d4SDmitry Baryshkov            - description: PLL 3 Vote clock
66861466d4SDmitry Baryshkov            - description: DSI phy instance 1 dsi clock
67861466d4SDmitry Baryshkov            - description: DSI phy instance 1 byte clock
68861466d4SDmitry Baryshkov            - description: DSI phy instance 2 dsi clock
69861466d4SDmitry Baryshkov            - description: DSI phy instance 2 byte clock
70861466d4SDmitry Baryshkov            - description: HDMI phy PLL clock
712b5add60SDmitry Baryshkov            - description: LVDS PLL clock
72861466d4SDmitry Baryshkov
73861466d4SDmitry Baryshkov        clock-names:
742b5add60SDmitry Baryshkov          minItems: 8
75861466d4SDmitry Baryshkov          items:
76861466d4SDmitry Baryshkov            - const: pxo
77861466d4SDmitry Baryshkov            - const: pll3
78861466d4SDmitry Baryshkov            - const: pll8_vote
79861466d4SDmitry Baryshkov            - const: dsi1pll
80861466d4SDmitry Baryshkov            - const: dsi1pllbyte
81861466d4SDmitry Baryshkov            - const: dsi2pll
82861466d4SDmitry Baryshkov            - const: dsi2pllbyte
83861466d4SDmitry Baryshkov            - const: hdmipll
842b5add60SDmitry Baryshkov            - const: lvdspll
85861466d4SDmitry Baryshkov
86861466d4SDmitry Baryshkov  - if:
87861466d4SDmitry Baryshkov      properties:
88861466d4SDmitry Baryshkov        compatible:
89861466d4SDmitry Baryshkov          contains:
90861466d4SDmitry Baryshkov            enum:
915683f11aSLuca Weiss              - qcom,mmcc-msm8226
925683f11aSLuca Weiss    then:
935683f11aSLuca Weiss      properties:
945683f11aSLuca Weiss        clocks:
955683f11aSLuca Weiss          items:
965683f11aSLuca Weiss            - description: Board XO source
975683f11aSLuca Weiss            - description: MMSS GPLL0 voted clock
985683f11aSLuca Weiss            - description: GPLL0 voted clock
995683f11aSLuca Weiss            - description: GPLL1 voted clock
1005683f11aSLuca Weiss            - description: GFX3D clock source
1015683f11aSLuca Weiss            - description: DSI phy instance 0 dsi clock
1025683f11aSLuca Weiss            - description: DSI phy instance 0 byte clock
1035683f11aSLuca Weiss
1045683f11aSLuca Weiss        clock-names:
1055683f11aSLuca Weiss          items:
1065683f11aSLuca Weiss            - const: xo
1075683f11aSLuca Weiss            - const: mmss_gpll0_vote
1085683f11aSLuca Weiss            - const: gpll0_vote
1095683f11aSLuca Weiss            - const: gpll1_vote
1105683f11aSLuca Weiss            - const: gfx3d_clk_src
1115683f11aSLuca Weiss            - const: dsi0pll
1125683f11aSLuca Weiss            - const: dsi0pllbyte
1135683f11aSLuca Weiss
1145683f11aSLuca Weiss  - if:
1155683f11aSLuca Weiss      properties:
1165683f11aSLuca Weiss        compatible:
1175683f11aSLuca Weiss          contains:
1185683f11aSLuca Weiss            enum:
119e80313c7SDmitry Baryshkov              - qcom,mmcc-msm8974
120e80313c7SDmitry Baryshkov    then:
121e80313c7SDmitry Baryshkov      properties:
122e80313c7SDmitry Baryshkov        clocks:
123e80313c7SDmitry Baryshkov          items:
124e80313c7SDmitry Baryshkov            - description: Board XO source
125e80313c7SDmitry Baryshkov            - description: MMSS GPLL0 voted clock
126e80313c7SDmitry Baryshkov            - description: GPLL0 voted clock
127e80313c7SDmitry Baryshkov            - description: GPLL1 voted clock
128e80313c7SDmitry Baryshkov            - description: GFX3D clock source
129e80313c7SDmitry Baryshkov            - description: DSI phy instance 0 dsi clock
130e80313c7SDmitry Baryshkov            - description: DSI phy instance 0 byte clock
131e80313c7SDmitry Baryshkov            - description: DSI phy instance 1 dsi clock
132e80313c7SDmitry Baryshkov            - description: DSI phy instance 1 byte clock
133e80313c7SDmitry Baryshkov            - description: HDMI phy PLL clock
134e80313c7SDmitry Baryshkov            - description: eDP phy PLL link clock
135e80313c7SDmitry Baryshkov            - description: eDP phy PLL vco clock
136e80313c7SDmitry Baryshkov
137e80313c7SDmitry Baryshkov        clock-names:
138e80313c7SDmitry Baryshkov          items:
139e80313c7SDmitry Baryshkov            - const: xo
140e80313c7SDmitry Baryshkov            - const: mmss_gpll0_vote
141e80313c7SDmitry Baryshkov            - const: gpll0_vote
142e80313c7SDmitry Baryshkov            - const: gpll1_vote
143e80313c7SDmitry Baryshkov            - const: gfx3d_clk_src
144e80313c7SDmitry Baryshkov            - const: dsi0pll
145e80313c7SDmitry Baryshkov            - const: dsi0pllbyte
146e80313c7SDmitry Baryshkov            - const: dsi1pll
147e80313c7SDmitry Baryshkov            - const: dsi1pllbyte
148e80313c7SDmitry Baryshkov            - const: hdmipll
149e80313c7SDmitry Baryshkov            - const: edp_link_clk
150e80313c7SDmitry Baryshkov            - const: edp_vco_div
151e80313c7SDmitry Baryshkov
152e80313c7SDmitry Baryshkov  - if:
153e80313c7SDmitry Baryshkov      properties:
154e80313c7SDmitry Baryshkov        compatible:
155e80313c7SDmitry Baryshkov          contains:
156e80313c7SDmitry Baryshkov            enum:
157605f0738SDmitry Baryshkov              - qcom,mmcc-apq8084
158605f0738SDmitry Baryshkov    then:
159605f0738SDmitry Baryshkov      properties:
160605f0738SDmitry Baryshkov        clocks:
161605f0738SDmitry Baryshkov          items:
162605f0738SDmitry Baryshkov            - description: Board XO source
163605f0738SDmitry Baryshkov            - description: Board sleep source
164605f0738SDmitry Baryshkov            - description: MMSS GPLL0 voted clock
165605f0738SDmitry Baryshkov            - description: GPLL0 clock
166605f0738SDmitry Baryshkov            - description: GPLL0 voted clock
167605f0738SDmitry Baryshkov            - description: GPLL1 clock
168605f0738SDmitry Baryshkov            - description: DSI phy instance 0 dsi clock
169605f0738SDmitry Baryshkov            - description: DSI phy instance 0 byte clock
170605f0738SDmitry Baryshkov            - description: DSI phy instance 1 dsi clock
171605f0738SDmitry Baryshkov            - description: DSI phy instance 1 byte clock
172605f0738SDmitry Baryshkov            - description: HDMI phy PLL clock
173605f0738SDmitry Baryshkov            - description: eDP phy PLL link clock
174605f0738SDmitry Baryshkov            - description: eDP phy PLL vco clock
175605f0738SDmitry Baryshkov
176605f0738SDmitry Baryshkov        clock-names:
177605f0738SDmitry Baryshkov          items:
178605f0738SDmitry Baryshkov            - const: xo
179605f0738SDmitry Baryshkov            - const: sleep_clk
180605f0738SDmitry Baryshkov            - const: mmss_gpll0_vote
181605f0738SDmitry Baryshkov            - const: gpll0
182605f0738SDmitry Baryshkov            - const: gpll0_vote
183605f0738SDmitry Baryshkov            - const: gpll1
184605f0738SDmitry Baryshkov            - const: dsi0pll
185605f0738SDmitry Baryshkov            - const: dsi0pllbyte
186605f0738SDmitry Baryshkov            - const: dsi1pll
187605f0738SDmitry Baryshkov            - const: dsi1pllbyte
188605f0738SDmitry Baryshkov            - const: hdmipll
189605f0738SDmitry Baryshkov            - const: edp_link_clk
190605f0738SDmitry Baryshkov            - const: edp_vco_div
191605f0738SDmitry Baryshkov
192605f0738SDmitry Baryshkov  - if:
193605f0738SDmitry Baryshkov      properties:
194605f0738SDmitry Baryshkov        compatible:
195605f0738SDmitry Baryshkov          contains:
196605f0738SDmitry Baryshkov            enum:
19773e66ddfSDmitry Baryshkov              - qcom,mmcc-msm8994
19873e66ddfSDmitry Baryshkov              - qcom,mmcc-msm8998
19973e66ddfSDmitry Baryshkov              - qcom,mmcc-sdm630
20073e66ddfSDmitry Baryshkov              - qcom,mmcc-sdm660
201e6494bf6SJeffrey Hugo    then:
202e6494bf6SJeffrey Hugo      required:
203e6494bf6SJeffrey Hugo        - clocks
204e6494bf6SJeffrey Hugo        - clock-names
205e6494bf6SJeffrey Hugo
20673e66ddfSDmitry Baryshkov  - if:
20773e66ddfSDmitry Baryshkov      properties:
20873e66ddfSDmitry Baryshkov        compatible:
20973e66ddfSDmitry Baryshkov          contains:
21073e66ddfSDmitry Baryshkov            const: qcom,mmcc-msm8994
21173e66ddfSDmitry Baryshkov    then:
21273e66ddfSDmitry Baryshkov      properties:
21373e66ddfSDmitry Baryshkov        clocks:
21473e66ddfSDmitry Baryshkov          items:
21573e66ddfSDmitry Baryshkov            - description: Board XO source
21673e66ddfSDmitry Baryshkov            - description: Global PLL 0 clock
21773e66ddfSDmitry Baryshkov            - description: MMSS NoC AHB clock
21873e66ddfSDmitry Baryshkov            - description: GFX3D clock
21973e66ddfSDmitry Baryshkov            - description: DSI phy instance 0 dsi clock
22073e66ddfSDmitry Baryshkov            - description: DSI phy instance 0 byte clock
22173e66ddfSDmitry Baryshkov            - description: DSI phy instance 1 dsi clock
22273e66ddfSDmitry Baryshkov            - description: DSI phy instance 1 byte clock
22373e66ddfSDmitry Baryshkov            - description: HDMI phy PLL clock
22473e66ddfSDmitry Baryshkov
22573e66ddfSDmitry Baryshkov        clock-names:
22673e66ddfSDmitry Baryshkov          items:
22773e66ddfSDmitry Baryshkov            - const: xo
22873e66ddfSDmitry Baryshkov            - const: gpll0
22973e66ddfSDmitry Baryshkov            - const: mmssnoc_ahb
23073e66ddfSDmitry Baryshkov            - const: oxili_gfx3d_clk_src
23173e66ddfSDmitry Baryshkov            - const: dsi0pll
23273e66ddfSDmitry Baryshkov            - const: dsi0pllbyte
23373e66ddfSDmitry Baryshkov            - const: dsi1pll
23473e66ddfSDmitry Baryshkov            - const: dsi1pllbyte
23573e66ddfSDmitry Baryshkov            - const: hdmipll
23673e66ddfSDmitry Baryshkov
23773e66ddfSDmitry Baryshkov  - if:
23873e66ddfSDmitry Baryshkov      properties:
23973e66ddfSDmitry Baryshkov        compatible:
24073e66ddfSDmitry Baryshkov          contains:
24151b0a5e0SDmitry Baryshkov            const: qcom,mmcc-msm8996
24251b0a5e0SDmitry Baryshkov    then:
24351b0a5e0SDmitry Baryshkov      properties:
24451b0a5e0SDmitry Baryshkov        clocks:
24551b0a5e0SDmitry Baryshkov          items:
24651b0a5e0SDmitry Baryshkov            - description: Board XO source
24751b0a5e0SDmitry Baryshkov            - description: Global PLL 0 clock
24851b0a5e0SDmitry Baryshkov            - description: MMSS NoC AHB clock
24951b0a5e0SDmitry Baryshkov            - description: DSI phy instance 0 dsi clock
25051b0a5e0SDmitry Baryshkov            - description: DSI phy instance 0 byte clock
25151b0a5e0SDmitry Baryshkov            - description: DSI phy instance 1 dsi clock
25251b0a5e0SDmitry Baryshkov            - description: DSI phy instance 1 byte clock
25351b0a5e0SDmitry Baryshkov            - description: HDMI phy PLL clock
25451b0a5e0SDmitry Baryshkov
25551b0a5e0SDmitry Baryshkov        clock-names:
25651b0a5e0SDmitry Baryshkov          items:
25751b0a5e0SDmitry Baryshkov            - const: xo
25851b0a5e0SDmitry Baryshkov            - const: gpll0
25951b0a5e0SDmitry Baryshkov            - const: gcc_mmss_noc_cfg_ahb_clk
26051b0a5e0SDmitry Baryshkov            - const: dsi0pll
26151b0a5e0SDmitry Baryshkov            - const: dsi0pllbyte
26251b0a5e0SDmitry Baryshkov            - const: dsi1pll
26351b0a5e0SDmitry Baryshkov            - const: dsi1pllbyte
26451b0a5e0SDmitry Baryshkov            - const: hdmipll
26551b0a5e0SDmitry Baryshkov
26651b0a5e0SDmitry Baryshkov  - if:
26751b0a5e0SDmitry Baryshkov      properties:
26851b0a5e0SDmitry Baryshkov        compatible:
26951b0a5e0SDmitry Baryshkov          contains:
27073e66ddfSDmitry Baryshkov            const: qcom,mmcc-msm8998
27173e66ddfSDmitry Baryshkov    then:
27273e66ddfSDmitry Baryshkov      properties:
27373e66ddfSDmitry Baryshkov        clocks:
27473e66ddfSDmitry Baryshkov          items:
27573e66ddfSDmitry Baryshkov            - description: Board XO source
27673e66ddfSDmitry Baryshkov            - description: Global PLL 0 clock
27773e66ddfSDmitry Baryshkov            - description: DSI phy instance 0 dsi clock
27873e66ddfSDmitry Baryshkov            - description: DSI phy instance 0 byte clock
27973e66ddfSDmitry Baryshkov            - description: DSI phy instance 1 dsi clock
28073e66ddfSDmitry Baryshkov            - description: DSI phy instance 1 byte clock
28173e66ddfSDmitry Baryshkov            - description: HDMI phy PLL clock
28273e66ddfSDmitry Baryshkov            - description: DisplayPort phy PLL link clock
28373e66ddfSDmitry Baryshkov            - description: DisplayPort phy PLL vco clock
2849127b377SKonrad Dybcio            - description: Global PLL 0 DIV clock
28573e66ddfSDmitry Baryshkov
28673e66ddfSDmitry Baryshkov        clock-names:
28773e66ddfSDmitry Baryshkov          items:
28873e66ddfSDmitry Baryshkov            - const: xo
28973e66ddfSDmitry Baryshkov            - const: gpll0
29073e66ddfSDmitry Baryshkov            - const: dsi0dsi
29173e66ddfSDmitry Baryshkov            - const: dsi0byte
29273e66ddfSDmitry Baryshkov            - const: dsi1dsi
29373e66ddfSDmitry Baryshkov            - const: dsi1byte
29473e66ddfSDmitry Baryshkov            - const: hdmipll
29573e66ddfSDmitry Baryshkov            - const: dplink
29673e66ddfSDmitry Baryshkov            - const: dpvco
2979127b377SKonrad Dybcio            - const: gpll0_div
29873e66ddfSDmitry Baryshkov
29973e66ddfSDmitry Baryshkov  - if:
30073e66ddfSDmitry Baryshkov      properties:
30173e66ddfSDmitry Baryshkov        compatible:
30273e66ddfSDmitry Baryshkov          contains:
30373e66ddfSDmitry Baryshkov            enum:
30473e66ddfSDmitry Baryshkov              - qcom,mmcc-sdm630
30573e66ddfSDmitry Baryshkov              - qcom,mmcc-sdm660
30673e66ddfSDmitry Baryshkov    then:
30773e66ddfSDmitry Baryshkov      properties:
30873e66ddfSDmitry Baryshkov        clocks:
30973e66ddfSDmitry Baryshkov          items:
31073e66ddfSDmitry Baryshkov            - description: Board XO source
31173e66ddfSDmitry Baryshkov            - description: Board sleep source
31273e66ddfSDmitry Baryshkov            - description: Global PLL 0 clock
31373e66ddfSDmitry Baryshkov            - description: Global PLL 0 DIV clock
31473e66ddfSDmitry Baryshkov            - description: DSI phy instance 0 dsi clock
31573e66ddfSDmitry Baryshkov            - description: DSI phy instance 0 byte clock
31673e66ddfSDmitry Baryshkov            - description: DSI phy instance 1 dsi clock
31773e66ddfSDmitry Baryshkov            - description: DSI phy instance 1 byte clock
31873e66ddfSDmitry Baryshkov            - description: DisplayPort phy PLL link clock
31973e66ddfSDmitry Baryshkov            - description: DisplayPort phy PLL vco clock
32073e66ddfSDmitry Baryshkov
32173e66ddfSDmitry Baryshkov        clock-names:
32273e66ddfSDmitry Baryshkov          items:
32373e66ddfSDmitry Baryshkov            - const: xo
32473e66ddfSDmitry Baryshkov            - const: sleep_clk
32573e66ddfSDmitry Baryshkov            - const: gpll0
32673e66ddfSDmitry Baryshkov            - const: gpll0_div
32773e66ddfSDmitry Baryshkov            - const: dsi0pll
32873e66ddfSDmitry Baryshkov            - const: dsi0pllbyte
32973e66ddfSDmitry Baryshkov            - const: dsi1pll
33073e66ddfSDmitry Baryshkov            - const: dsi1pllbyte
33173e66ddfSDmitry Baryshkov            - const: dp_link_2x_clk_divsel_five
33273e66ddfSDmitry Baryshkov            - const: dp_vco_divided_clk_src_mux
33373e66ddfSDmitry Baryshkov
334*56245968SSatya Priya KakitapalliunevaluatedProperties: false
335*56245968SSatya Priya Kakitapalli
3368218c2cbSJeffrey Hugoexamples:
3378218c2cbSJeffrey Hugo  # Example for MMCC for MSM8960:
3388218c2cbSJeffrey Hugo  - |
3398218c2cbSJeffrey Hugo    clock-controller@4000000 {
3408218c2cbSJeffrey Hugo      compatible = "qcom,mmcc-msm8960";
3418218c2cbSJeffrey Hugo      reg = <0x4000000 0x1000>;
3428218c2cbSJeffrey Hugo      #clock-cells = <1>;
3438218c2cbSJeffrey Hugo      #reset-cells = <1>;
3448218c2cbSJeffrey Hugo      #power-domain-cells = <1>;
3458218c2cbSJeffrey Hugo    };
3468218c2cbSJeffrey Hugo...
347