xref: /freebsd/sys/contrib/device-tree/Bindings/clock/qcom,mmcc.yaml (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/clock/qcom,mmcc.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Qualcomm Multimedia Clock & Reset Controller
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10d5b0e70fSEmmanuel Vadot  - Jeffrey Hugo <quic_jhugo@quicinc.com>
11*aa1a8ff2SEmmanuel Vadot  - Taniya Das <quic_tdas@quicinc.com>
12c66ec88fSEmmanuel Vadot
13c66ec88fSEmmanuel Vadotdescription: |
148bab661aSEmmanuel Vadot  Qualcomm multimedia clock control module provides the clocks, resets and
15c66ec88fSEmmanuel Vadot  power domains.
16c66ec88fSEmmanuel Vadot
17c66ec88fSEmmanuel Vadotproperties:
18c66ec88fSEmmanuel Vadot  compatible:
19c66ec88fSEmmanuel Vadot    enum:
20c66ec88fSEmmanuel Vadot      - qcom,mmcc-apq8064
21c66ec88fSEmmanuel Vadot      - qcom,mmcc-apq8084
22c9ccf3a3SEmmanuel Vadot      - qcom,mmcc-msm8226
23c66ec88fSEmmanuel Vadot      - qcom,mmcc-msm8660
24c66ec88fSEmmanuel Vadot      - qcom,mmcc-msm8960
25c66ec88fSEmmanuel Vadot      - qcom,mmcc-msm8974
26354d7675SEmmanuel Vadot      - qcom,mmcc-msm8992
27354d7675SEmmanuel Vadot      - qcom,mmcc-msm8994
28c66ec88fSEmmanuel Vadot      - qcom,mmcc-msm8996
29c66ec88fSEmmanuel Vadot      - qcom,mmcc-msm8998
305def4c47SEmmanuel Vadot      - qcom,mmcc-sdm630
315def4c47SEmmanuel Vadot      - qcom,mmcc-sdm660
32c66ec88fSEmmanuel Vadot
33c66ec88fSEmmanuel Vadot  clocks:
34f126890aSEmmanuel Vadot    minItems: 7
35cb7aa33aSEmmanuel Vadot    maxItems: 13
36c66ec88fSEmmanuel Vadot
37c66ec88fSEmmanuel Vadot  clock-names:
38f126890aSEmmanuel Vadot    minItems: 7
39cb7aa33aSEmmanuel Vadot    maxItems: 13
40c66ec88fSEmmanuel Vadot
41c66ec88fSEmmanuel Vadot  '#clock-cells':
42c66ec88fSEmmanuel Vadot    const: 1
43c66ec88fSEmmanuel Vadot
44c66ec88fSEmmanuel Vadot  '#reset-cells':
45c66ec88fSEmmanuel Vadot    const: 1
46c66ec88fSEmmanuel Vadot
47c66ec88fSEmmanuel Vadot  '#power-domain-cells':
48c66ec88fSEmmanuel Vadot    const: 1
49c66ec88fSEmmanuel Vadot
50c66ec88fSEmmanuel Vadot  reg:
51c66ec88fSEmmanuel Vadot    maxItems: 1
52c66ec88fSEmmanuel Vadot
53c66ec88fSEmmanuel Vadot  protected-clocks:
54c66ec88fSEmmanuel Vadot    description:
55c66ec88fSEmmanuel Vadot      Protected clock specifier list as per common clock binding
56c66ec88fSEmmanuel Vadot
57c66ec88fSEmmanuel Vadot  vdd-gfx-supply:
58c66ec88fSEmmanuel Vadot    description:
59c66ec88fSEmmanuel Vadot      Regulator supply for the GPU_GX GDSC
60c66ec88fSEmmanuel Vadot
61c66ec88fSEmmanuel Vadotrequired:
62c66ec88fSEmmanuel Vadot  - compatible
63c66ec88fSEmmanuel Vadot  - reg
64c66ec88fSEmmanuel Vadot  - '#clock-cells'
65c66ec88fSEmmanuel Vadot  - '#reset-cells'
66c66ec88fSEmmanuel Vadot  - '#power-domain-cells'
67c66ec88fSEmmanuel Vadot
68c66ec88fSEmmanuel VadotadditionalProperties: false
69c66ec88fSEmmanuel Vadot
707ef62cebSEmmanuel VadotallOf:
717ef62cebSEmmanuel Vadot  - if:
72c66ec88fSEmmanuel Vadot      properties:
73c66ec88fSEmmanuel Vadot        compatible:
74c66ec88fSEmmanuel Vadot          contains:
757ef62cebSEmmanuel Vadot            enum:
767ef62cebSEmmanuel Vadot              - qcom,mmcc-apq8064
777ef62cebSEmmanuel Vadot              - qcom,mmcc-msm8960
787ef62cebSEmmanuel Vadot    then:
797ef62cebSEmmanuel Vadot      properties:
807ef62cebSEmmanuel Vadot        clocks:
817ef62cebSEmmanuel Vadot          items:
827ef62cebSEmmanuel Vadot            - description: Board PXO source
837ef62cebSEmmanuel Vadot            - description: PLL 3 clock
847ef62cebSEmmanuel Vadot            - description: PLL 3 Vote clock
857ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 dsi clock
867ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 byte clock
877ef62cebSEmmanuel Vadot            - description: DSI phy instance 2 dsi clock
887ef62cebSEmmanuel Vadot            - description: DSI phy instance 2 byte clock
897ef62cebSEmmanuel Vadot            - description: HDMI phy PLL clock
90c66ec88fSEmmanuel Vadot
917ef62cebSEmmanuel Vadot        clock-names:
927ef62cebSEmmanuel Vadot          items:
937ef62cebSEmmanuel Vadot            - const: pxo
947ef62cebSEmmanuel Vadot            - const: pll3
957ef62cebSEmmanuel Vadot            - const: pll8_vote
967ef62cebSEmmanuel Vadot            - const: dsi1pll
977ef62cebSEmmanuel Vadot            - const: dsi1pllbyte
987ef62cebSEmmanuel Vadot            - const: dsi2pll
997ef62cebSEmmanuel Vadot            - const: dsi2pllbyte
1007ef62cebSEmmanuel Vadot            - const: hdmipll
1017ef62cebSEmmanuel Vadot
1027ef62cebSEmmanuel Vadot  - if:
1037ef62cebSEmmanuel Vadot      properties:
1047ef62cebSEmmanuel Vadot        compatible:
1057ef62cebSEmmanuel Vadot          contains:
1067ef62cebSEmmanuel Vadot            enum:
107f126890aSEmmanuel Vadot              - qcom,mmcc-msm8226
108f126890aSEmmanuel Vadot    then:
109f126890aSEmmanuel Vadot      properties:
110f126890aSEmmanuel Vadot        clocks:
111f126890aSEmmanuel Vadot          items:
112f126890aSEmmanuel Vadot            - description: Board XO source
113f126890aSEmmanuel Vadot            - description: MMSS GPLL0 voted clock
114f126890aSEmmanuel Vadot            - description: GPLL0 voted clock
115f126890aSEmmanuel Vadot            - description: GPLL1 voted clock
116f126890aSEmmanuel Vadot            - description: GFX3D clock source
117f126890aSEmmanuel Vadot            - description: DSI phy instance 0 dsi clock
118f126890aSEmmanuel Vadot            - description: DSI phy instance 0 byte clock
119f126890aSEmmanuel Vadot
120f126890aSEmmanuel Vadot        clock-names:
121f126890aSEmmanuel Vadot          items:
122f126890aSEmmanuel Vadot            - const: xo
123f126890aSEmmanuel Vadot            - const: mmss_gpll0_vote
124f126890aSEmmanuel Vadot            - const: gpll0_vote
125f126890aSEmmanuel Vadot            - const: gpll1_vote
126f126890aSEmmanuel Vadot            - const: gfx3d_clk_src
127f126890aSEmmanuel Vadot            - const: dsi0pll
128f126890aSEmmanuel Vadot            - const: dsi0pllbyte
129f126890aSEmmanuel Vadot
130f126890aSEmmanuel Vadot  - if:
131f126890aSEmmanuel Vadot      properties:
132f126890aSEmmanuel Vadot        compatible:
133f126890aSEmmanuel Vadot          contains:
134f126890aSEmmanuel Vadot            enum:
1358bab661aSEmmanuel Vadot              - qcom,mmcc-msm8974
1368bab661aSEmmanuel Vadot    then:
1378bab661aSEmmanuel Vadot      properties:
1388bab661aSEmmanuel Vadot        clocks:
1398bab661aSEmmanuel Vadot          items:
1408bab661aSEmmanuel Vadot            - description: Board XO source
1418bab661aSEmmanuel Vadot            - description: MMSS GPLL0 voted clock
1428bab661aSEmmanuel Vadot            - description: GPLL0 voted clock
1438bab661aSEmmanuel Vadot            - description: GPLL1 voted clock
1448bab661aSEmmanuel Vadot            - description: GFX3D clock source
1458bab661aSEmmanuel Vadot            - description: DSI phy instance 0 dsi clock
1468bab661aSEmmanuel Vadot            - description: DSI phy instance 0 byte clock
1478bab661aSEmmanuel Vadot            - description: DSI phy instance 1 dsi clock
1488bab661aSEmmanuel Vadot            - description: DSI phy instance 1 byte clock
1498bab661aSEmmanuel Vadot            - description: HDMI phy PLL clock
1508bab661aSEmmanuel Vadot            - description: eDP phy PLL link clock
1518bab661aSEmmanuel Vadot            - description: eDP phy PLL vco clock
1528bab661aSEmmanuel Vadot
1538bab661aSEmmanuel Vadot        clock-names:
1548bab661aSEmmanuel Vadot          items:
1558bab661aSEmmanuel Vadot            - const: xo
1568bab661aSEmmanuel Vadot            - const: mmss_gpll0_vote
1578bab661aSEmmanuel Vadot            - const: gpll0_vote
1588bab661aSEmmanuel Vadot            - const: gpll1_vote
1598bab661aSEmmanuel Vadot            - const: gfx3d_clk_src
1608bab661aSEmmanuel Vadot            - const: dsi0pll
1618bab661aSEmmanuel Vadot            - const: dsi0pllbyte
1628bab661aSEmmanuel Vadot            - const: dsi1pll
1638bab661aSEmmanuel Vadot            - const: dsi1pllbyte
1648bab661aSEmmanuel Vadot            - const: hdmipll
1658bab661aSEmmanuel Vadot            - const: edp_link_clk
1668bab661aSEmmanuel Vadot            - const: edp_vco_div
1678bab661aSEmmanuel Vadot
1688bab661aSEmmanuel Vadot  - if:
1698bab661aSEmmanuel Vadot      properties:
1708bab661aSEmmanuel Vadot        compatible:
1718bab661aSEmmanuel Vadot          contains:
1728bab661aSEmmanuel Vadot            enum:
173cb7aa33aSEmmanuel Vadot              - qcom,mmcc-apq8084
174cb7aa33aSEmmanuel Vadot    then:
175cb7aa33aSEmmanuel Vadot      properties:
176cb7aa33aSEmmanuel Vadot        clocks:
177cb7aa33aSEmmanuel Vadot          items:
178cb7aa33aSEmmanuel Vadot            - description: Board XO source
179cb7aa33aSEmmanuel Vadot            - description: Board sleep source
180cb7aa33aSEmmanuel Vadot            - description: MMSS GPLL0 voted clock
181cb7aa33aSEmmanuel Vadot            - description: GPLL0 clock
182cb7aa33aSEmmanuel Vadot            - description: GPLL0 voted clock
183cb7aa33aSEmmanuel Vadot            - description: GPLL1 clock
184cb7aa33aSEmmanuel Vadot            - description: DSI phy instance 0 dsi clock
185cb7aa33aSEmmanuel Vadot            - description: DSI phy instance 0 byte clock
186cb7aa33aSEmmanuel Vadot            - description: DSI phy instance 1 dsi clock
187cb7aa33aSEmmanuel Vadot            - description: DSI phy instance 1 byte clock
188cb7aa33aSEmmanuel Vadot            - description: HDMI phy PLL clock
189cb7aa33aSEmmanuel Vadot            - description: eDP phy PLL link clock
190cb7aa33aSEmmanuel Vadot            - description: eDP phy PLL vco clock
191cb7aa33aSEmmanuel Vadot
192cb7aa33aSEmmanuel Vadot        clock-names:
193cb7aa33aSEmmanuel Vadot          items:
194cb7aa33aSEmmanuel Vadot            - const: xo
195cb7aa33aSEmmanuel Vadot            - const: sleep_clk
196cb7aa33aSEmmanuel Vadot            - const: mmss_gpll0_vote
197cb7aa33aSEmmanuel Vadot            - const: gpll0
198cb7aa33aSEmmanuel Vadot            - const: gpll0_vote
199cb7aa33aSEmmanuel Vadot            - const: gpll1
200cb7aa33aSEmmanuel Vadot            - const: dsi0pll
201cb7aa33aSEmmanuel Vadot            - const: dsi0pllbyte
202cb7aa33aSEmmanuel Vadot            - const: dsi1pll
203cb7aa33aSEmmanuel Vadot            - const: dsi1pllbyte
204cb7aa33aSEmmanuel Vadot            - const: hdmipll
205cb7aa33aSEmmanuel Vadot            - const: edp_link_clk
206cb7aa33aSEmmanuel Vadot            - const: edp_vco_div
207cb7aa33aSEmmanuel Vadot
208cb7aa33aSEmmanuel Vadot  - if:
209cb7aa33aSEmmanuel Vadot      properties:
210cb7aa33aSEmmanuel Vadot        compatible:
211cb7aa33aSEmmanuel Vadot          contains:
212cb7aa33aSEmmanuel Vadot            enum:
2137ef62cebSEmmanuel Vadot              - qcom,mmcc-msm8994
2147ef62cebSEmmanuel Vadot              - qcom,mmcc-msm8998
2157ef62cebSEmmanuel Vadot              - qcom,mmcc-sdm630
2167ef62cebSEmmanuel Vadot              - qcom,mmcc-sdm660
217c66ec88fSEmmanuel Vadot    then:
218c66ec88fSEmmanuel Vadot      required:
219c66ec88fSEmmanuel Vadot        - clocks
220c66ec88fSEmmanuel Vadot        - clock-names
221c66ec88fSEmmanuel Vadot
2227ef62cebSEmmanuel Vadot  - if:
2237ef62cebSEmmanuel Vadot      properties:
2247ef62cebSEmmanuel Vadot        compatible:
2257ef62cebSEmmanuel Vadot          contains:
2267ef62cebSEmmanuel Vadot            const: qcom,mmcc-msm8994
2277ef62cebSEmmanuel Vadot    then:
2287ef62cebSEmmanuel Vadot      properties:
2297ef62cebSEmmanuel Vadot        clocks:
2307ef62cebSEmmanuel Vadot          items:
2317ef62cebSEmmanuel Vadot            - description: Board XO source
2327ef62cebSEmmanuel Vadot            - description: Global PLL 0 clock
2337ef62cebSEmmanuel Vadot            - description: MMSS NoC AHB clock
2347ef62cebSEmmanuel Vadot            - description: GFX3D clock
2357ef62cebSEmmanuel Vadot            - description: DSI phy instance 0 dsi clock
2367ef62cebSEmmanuel Vadot            - description: DSI phy instance 0 byte clock
2377ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 dsi clock
2387ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 byte clock
2397ef62cebSEmmanuel Vadot            - description: HDMI phy PLL clock
2407ef62cebSEmmanuel Vadot
2417ef62cebSEmmanuel Vadot        clock-names:
2427ef62cebSEmmanuel Vadot          items:
2437ef62cebSEmmanuel Vadot            - const: xo
2447ef62cebSEmmanuel Vadot            - const: gpll0
2457ef62cebSEmmanuel Vadot            - const: mmssnoc_ahb
2467ef62cebSEmmanuel Vadot            - const: oxili_gfx3d_clk_src
2477ef62cebSEmmanuel Vadot            - const: dsi0pll
2487ef62cebSEmmanuel Vadot            - const: dsi0pllbyte
2497ef62cebSEmmanuel Vadot            - const: dsi1pll
2507ef62cebSEmmanuel Vadot            - const: dsi1pllbyte
2517ef62cebSEmmanuel Vadot            - const: hdmipll
2527ef62cebSEmmanuel Vadot
2537ef62cebSEmmanuel Vadot  - if:
2547ef62cebSEmmanuel Vadot      properties:
2557ef62cebSEmmanuel Vadot        compatible:
2567ef62cebSEmmanuel Vadot          contains:
2577ef62cebSEmmanuel Vadot            const: qcom,mmcc-msm8996
2587ef62cebSEmmanuel Vadot    then:
2597ef62cebSEmmanuel Vadot      properties:
2607ef62cebSEmmanuel Vadot        clocks:
2617ef62cebSEmmanuel Vadot          items:
2627ef62cebSEmmanuel Vadot            - description: Board XO source
2637ef62cebSEmmanuel Vadot            - description: Global PLL 0 clock
2647ef62cebSEmmanuel Vadot            - description: MMSS NoC AHB clock
2657ef62cebSEmmanuel Vadot            - description: DSI phy instance 0 dsi clock
2667ef62cebSEmmanuel Vadot            - description: DSI phy instance 0 byte clock
2677ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 dsi clock
2687ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 byte clock
2697ef62cebSEmmanuel Vadot            - description: HDMI phy PLL clock
2707ef62cebSEmmanuel Vadot
2717ef62cebSEmmanuel Vadot        clock-names:
2727ef62cebSEmmanuel Vadot          items:
2737ef62cebSEmmanuel Vadot            - const: xo
2747ef62cebSEmmanuel Vadot            - const: gpll0
2757ef62cebSEmmanuel Vadot            - const: gcc_mmss_noc_cfg_ahb_clk
2767ef62cebSEmmanuel Vadot            - const: dsi0pll
2777ef62cebSEmmanuel Vadot            - const: dsi0pllbyte
2787ef62cebSEmmanuel Vadot            - const: dsi1pll
2797ef62cebSEmmanuel Vadot            - const: dsi1pllbyte
2807ef62cebSEmmanuel Vadot            - const: hdmipll
2817ef62cebSEmmanuel Vadot
2827ef62cebSEmmanuel Vadot  - if:
2837ef62cebSEmmanuel Vadot      properties:
2847ef62cebSEmmanuel Vadot        compatible:
2857ef62cebSEmmanuel Vadot          contains:
2867ef62cebSEmmanuel Vadot            const: qcom,mmcc-msm8998
2877ef62cebSEmmanuel Vadot    then:
2887ef62cebSEmmanuel Vadot      properties:
2897ef62cebSEmmanuel Vadot        clocks:
2907ef62cebSEmmanuel Vadot          items:
2917ef62cebSEmmanuel Vadot            - description: Board XO source
2927ef62cebSEmmanuel Vadot            - description: Global PLL 0 clock
2937ef62cebSEmmanuel Vadot            - description: DSI phy instance 0 dsi clock
2947ef62cebSEmmanuel Vadot            - description: DSI phy instance 0 byte clock
2957ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 dsi clock
2967ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 byte clock
2977ef62cebSEmmanuel Vadot            - description: HDMI phy PLL clock
2987ef62cebSEmmanuel Vadot            - description: DisplayPort phy PLL link clock
2997ef62cebSEmmanuel Vadot            - description: DisplayPort phy PLL vco clock
300*aa1a8ff2SEmmanuel Vadot            - description: Global PLL 0 DIV clock
3017ef62cebSEmmanuel Vadot
3027ef62cebSEmmanuel Vadot        clock-names:
3037ef62cebSEmmanuel Vadot          items:
3047ef62cebSEmmanuel Vadot            - const: xo
3057ef62cebSEmmanuel Vadot            - const: gpll0
3067ef62cebSEmmanuel Vadot            - const: dsi0dsi
3077ef62cebSEmmanuel Vadot            - const: dsi0byte
3087ef62cebSEmmanuel Vadot            - const: dsi1dsi
3097ef62cebSEmmanuel Vadot            - const: dsi1byte
3107ef62cebSEmmanuel Vadot            - const: hdmipll
3117ef62cebSEmmanuel Vadot            - const: dplink
3127ef62cebSEmmanuel Vadot            - const: dpvco
313*aa1a8ff2SEmmanuel Vadot            - const: gpll0_div
3147ef62cebSEmmanuel Vadot
3157ef62cebSEmmanuel Vadot  - if:
3167ef62cebSEmmanuel Vadot      properties:
3177ef62cebSEmmanuel Vadot        compatible:
3187ef62cebSEmmanuel Vadot          contains:
3197ef62cebSEmmanuel Vadot            enum:
3207ef62cebSEmmanuel Vadot              - qcom,mmcc-sdm630
3217ef62cebSEmmanuel Vadot              - qcom,mmcc-sdm660
3227ef62cebSEmmanuel Vadot    then:
3237ef62cebSEmmanuel Vadot      properties:
3247ef62cebSEmmanuel Vadot        clocks:
3257ef62cebSEmmanuel Vadot          items:
3267ef62cebSEmmanuel Vadot            - description: Board XO source
3277ef62cebSEmmanuel Vadot            - description: Board sleep source
3287ef62cebSEmmanuel Vadot            - description: Global PLL 0 clock
3297ef62cebSEmmanuel Vadot            - description: Global PLL 0 DIV clock
3307ef62cebSEmmanuel Vadot            - description: DSI phy instance 0 dsi clock
3317ef62cebSEmmanuel Vadot            - description: DSI phy instance 0 byte clock
3327ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 dsi clock
3337ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 byte clock
3347ef62cebSEmmanuel Vadot            - description: DisplayPort phy PLL link clock
3357ef62cebSEmmanuel Vadot            - description: DisplayPort phy PLL vco clock
3367ef62cebSEmmanuel Vadot
3377ef62cebSEmmanuel Vadot        clock-names:
3387ef62cebSEmmanuel Vadot          items:
3397ef62cebSEmmanuel Vadot            - const: xo
3407ef62cebSEmmanuel Vadot            - const: sleep_clk
3417ef62cebSEmmanuel Vadot            - const: gpll0
3427ef62cebSEmmanuel Vadot            - const: gpll0_div
3437ef62cebSEmmanuel Vadot            - const: dsi0pll
3447ef62cebSEmmanuel Vadot            - const: dsi0pllbyte
3457ef62cebSEmmanuel Vadot            - const: dsi1pll
3467ef62cebSEmmanuel Vadot            - const: dsi1pllbyte
3477ef62cebSEmmanuel Vadot            - const: dp_link_2x_clk_divsel_five
3487ef62cebSEmmanuel Vadot            - const: dp_vco_divided_clk_src_mux
3497ef62cebSEmmanuel Vadot
350c66ec88fSEmmanuel Vadotexamples:
351c66ec88fSEmmanuel Vadot  # Example for MMCC for MSM8960:
352c66ec88fSEmmanuel Vadot  - |
353c66ec88fSEmmanuel Vadot    clock-controller@4000000 {
354c66ec88fSEmmanuel Vadot      compatible = "qcom,mmcc-msm8960";
355c66ec88fSEmmanuel Vadot      reg = <0x4000000 0x1000>;
356c66ec88fSEmmanuel Vadot      #clock-cells = <1>;
357c66ec88fSEmmanuel Vadot      #reset-cells = <1>;
358c66ec88fSEmmanuel Vadot      #power-domain-cells = <1>;
359c66ec88fSEmmanuel Vadot    };
360c66ec88fSEmmanuel Vadot...
361