xref: /freebsd/sys/contrib/device-tree/Bindings/clock/qcom,mmcc.yaml (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
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>
11c66ec88fSEmmanuel Vadot  - Taniya Das <tdas@codeaurora.org>
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:
347ef62cebSEmmanuel Vadot    minItems: 8
35*cb7aa33aSEmmanuel Vadot    maxItems: 13
36c66ec88fSEmmanuel Vadot
37c66ec88fSEmmanuel Vadot  clock-names:
387ef62cebSEmmanuel Vadot    minItems: 8
39*cb7aa33aSEmmanuel 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:
1078bab661aSEmmanuel Vadot              - qcom,mmcc-msm8974
1088bab661aSEmmanuel Vadot    then:
1098bab661aSEmmanuel Vadot      properties:
1108bab661aSEmmanuel Vadot        clocks:
1118bab661aSEmmanuel Vadot          items:
1128bab661aSEmmanuel Vadot            - description: Board XO source
1138bab661aSEmmanuel Vadot            - description: MMSS GPLL0 voted clock
1148bab661aSEmmanuel Vadot            - description: GPLL0 voted clock
1158bab661aSEmmanuel Vadot            - description: GPLL1 voted clock
1168bab661aSEmmanuel Vadot            - description: GFX3D clock source
1178bab661aSEmmanuel Vadot            - description: DSI phy instance 0 dsi clock
1188bab661aSEmmanuel Vadot            - description: DSI phy instance 0 byte clock
1198bab661aSEmmanuel Vadot            - description: DSI phy instance 1 dsi clock
1208bab661aSEmmanuel Vadot            - description: DSI phy instance 1 byte clock
1218bab661aSEmmanuel Vadot            - description: HDMI phy PLL clock
1228bab661aSEmmanuel Vadot            - description: eDP phy PLL link clock
1238bab661aSEmmanuel Vadot            - description: eDP phy PLL vco clock
1248bab661aSEmmanuel Vadot
1258bab661aSEmmanuel Vadot        clock-names:
1268bab661aSEmmanuel Vadot          items:
1278bab661aSEmmanuel Vadot            - const: xo
1288bab661aSEmmanuel Vadot            - const: mmss_gpll0_vote
1298bab661aSEmmanuel Vadot            - const: gpll0_vote
1308bab661aSEmmanuel Vadot            - const: gpll1_vote
1318bab661aSEmmanuel Vadot            - const: gfx3d_clk_src
1328bab661aSEmmanuel Vadot            - const: dsi0pll
1338bab661aSEmmanuel Vadot            - const: dsi0pllbyte
1348bab661aSEmmanuel Vadot            - const: dsi1pll
1358bab661aSEmmanuel Vadot            - const: dsi1pllbyte
1368bab661aSEmmanuel Vadot            - const: hdmipll
1378bab661aSEmmanuel Vadot            - const: edp_link_clk
1388bab661aSEmmanuel Vadot            - const: edp_vco_div
1398bab661aSEmmanuel Vadot
1408bab661aSEmmanuel Vadot  - if:
1418bab661aSEmmanuel Vadot      properties:
1428bab661aSEmmanuel Vadot        compatible:
1438bab661aSEmmanuel Vadot          contains:
1448bab661aSEmmanuel Vadot            enum:
145*cb7aa33aSEmmanuel Vadot              - qcom,mmcc-apq8084
146*cb7aa33aSEmmanuel Vadot    then:
147*cb7aa33aSEmmanuel Vadot      properties:
148*cb7aa33aSEmmanuel Vadot        clocks:
149*cb7aa33aSEmmanuel Vadot          items:
150*cb7aa33aSEmmanuel Vadot            - description: Board XO source
151*cb7aa33aSEmmanuel Vadot            - description: Board sleep source
152*cb7aa33aSEmmanuel Vadot            - description: MMSS GPLL0 voted clock
153*cb7aa33aSEmmanuel Vadot            - description: GPLL0 clock
154*cb7aa33aSEmmanuel Vadot            - description: GPLL0 voted clock
155*cb7aa33aSEmmanuel Vadot            - description: GPLL1 clock
156*cb7aa33aSEmmanuel Vadot            - description: DSI phy instance 0 dsi clock
157*cb7aa33aSEmmanuel Vadot            - description: DSI phy instance 0 byte clock
158*cb7aa33aSEmmanuel Vadot            - description: DSI phy instance 1 dsi clock
159*cb7aa33aSEmmanuel Vadot            - description: DSI phy instance 1 byte clock
160*cb7aa33aSEmmanuel Vadot            - description: HDMI phy PLL clock
161*cb7aa33aSEmmanuel Vadot            - description: eDP phy PLL link clock
162*cb7aa33aSEmmanuel Vadot            - description: eDP phy PLL vco clock
163*cb7aa33aSEmmanuel Vadot
164*cb7aa33aSEmmanuel Vadot        clock-names:
165*cb7aa33aSEmmanuel Vadot          items:
166*cb7aa33aSEmmanuel Vadot            - const: xo
167*cb7aa33aSEmmanuel Vadot            - const: sleep_clk
168*cb7aa33aSEmmanuel Vadot            - const: mmss_gpll0_vote
169*cb7aa33aSEmmanuel Vadot            - const: gpll0
170*cb7aa33aSEmmanuel Vadot            - const: gpll0_vote
171*cb7aa33aSEmmanuel Vadot            - const: gpll1
172*cb7aa33aSEmmanuel Vadot            - const: dsi0pll
173*cb7aa33aSEmmanuel Vadot            - const: dsi0pllbyte
174*cb7aa33aSEmmanuel Vadot            - const: dsi1pll
175*cb7aa33aSEmmanuel Vadot            - const: dsi1pllbyte
176*cb7aa33aSEmmanuel Vadot            - const: hdmipll
177*cb7aa33aSEmmanuel Vadot            - const: edp_link_clk
178*cb7aa33aSEmmanuel Vadot            - const: edp_vco_div
179*cb7aa33aSEmmanuel Vadot
180*cb7aa33aSEmmanuel Vadot  - if:
181*cb7aa33aSEmmanuel Vadot      properties:
182*cb7aa33aSEmmanuel Vadot        compatible:
183*cb7aa33aSEmmanuel Vadot          contains:
184*cb7aa33aSEmmanuel Vadot            enum:
1857ef62cebSEmmanuel Vadot              - qcom,mmcc-msm8994
1867ef62cebSEmmanuel Vadot              - qcom,mmcc-msm8998
1877ef62cebSEmmanuel Vadot              - qcom,mmcc-sdm630
1887ef62cebSEmmanuel Vadot              - qcom,mmcc-sdm660
189c66ec88fSEmmanuel Vadot    then:
190c66ec88fSEmmanuel Vadot      required:
191c66ec88fSEmmanuel Vadot        - clocks
192c66ec88fSEmmanuel Vadot        - clock-names
193c66ec88fSEmmanuel Vadot
1947ef62cebSEmmanuel Vadot  - if:
1957ef62cebSEmmanuel Vadot      properties:
1967ef62cebSEmmanuel Vadot        compatible:
1977ef62cebSEmmanuel Vadot          contains:
1987ef62cebSEmmanuel Vadot            const: qcom,mmcc-msm8994
1997ef62cebSEmmanuel Vadot    then:
2007ef62cebSEmmanuel Vadot      properties:
2017ef62cebSEmmanuel Vadot        clocks:
2027ef62cebSEmmanuel Vadot          items:
2037ef62cebSEmmanuel Vadot            - description: Board XO source
2047ef62cebSEmmanuel Vadot            - description: Global PLL 0 clock
2057ef62cebSEmmanuel Vadot            - description: MMSS NoC AHB clock
2067ef62cebSEmmanuel Vadot            - description: GFX3D clock
2077ef62cebSEmmanuel Vadot            - description: DSI phy instance 0 dsi clock
2087ef62cebSEmmanuel Vadot            - description: DSI phy instance 0 byte clock
2097ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 dsi clock
2107ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 byte clock
2117ef62cebSEmmanuel Vadot            - description: HDMI phy PLL clock
2127ef62cebSEmmanuel Vadot
2137ef62cebSEmmanuel Vadot        clock-names:
2147ef62cebSEmmanuel Vadot          items:
2157ef62cebSEmmanuel Vadot            - const: xo
2167ef62cebSEmmanuel Vadot            - const: gpll0
2177ef62cebSEmmanuel Vadot            - const: mmssnoc_ahb
2187ef62cebSEmmanuel Vadot            - const: oxili_gfx3d_clk_src
2197ef62cebSEmmanuel Vadot            - const: dsi0pll
2207ef62cebSEmmanuel Vadot            - const: dsi0pllbyte
2217ef62cebSEmmanuel Vadot            - const: dsi1pll
2227ef62cebSEmmanuel Vadot            - const: dsi1pllbyte
2237ef62cebSEmmanuel Vadot            - const: hdmipll
2247ef62cebSEmmanuel Vadot
2257ef62cebSEmmanuel Vadot  - if:
2267ef62cebSEmmanuel Vadot      properties:
2277ef62cebSEmmanuel Vadot        compatible:
2287ef62cebSEmmanuel Vadot          contains:
2297ef62cebSEmmanuel Vadot            const: qcom,mmcc-msm8996
2307ef62cebSEmmanuel Vadot    then:
2317ef62cebSEmmanuel Vadot      properties:
2327ef62cebSEmmanuel Vadot        clocks:
2337ef62cebSEmmanuel Vadot          items:
2347ef62cebSEmmanuel Vadot            - description: Board XO source
2357ef62cebSEmmanuel Vadot            - description: Global PLL 0 clock
2367ef62cebSEmmanuel Vadot            - description: MMSS NoC AHB clock
2377ef62cebSEmmanuel Vadot            - description: DSI phy instance 0 dsi clock
2387ef62cebSEmmanuel Vadot            - description: DSI phy instance 0 byte clock
2397ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 dsi clock
2407ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 byte clock
2417ef62cebSEmmanuel Vadot            - description: HDMI phy PLL clock
2427ef62cebSEmmanuel Vadot
2437ef62cebSEmmanuel Vadot        clock-names:
2447ef62cebSEmmanuel Vadot          items:
2457ef62cebSEmmanuel Vadot            - const: xo
2467ef62cebSEmmanuel Vadot            - const: gpll0
2477ef62cebSEmmanuel Vadot            - const: gcc_mmss_noc_cfg_ahb_clk
2487ef62cebSEmmanuel Vadot            - const: dsi0pll
2497ef62cebSEmmanuel Vadot            - const: dsi0pllbyte
2507ef62cebSEmmanuel Vadot            - const: dsi1pll
2517ef62cebSEmmanuel Vadot            - const: dsi1pllbyte
2527ef62cebSEmmanuel Vadot            - const: hdmipll
2537ef62cebSEmmanuel Vadot
2547ef62cebSEmmanuel Vadot  - if:
2557ef62cebSEmmanuel Vadot      properties:
2567ef62cebSEmmanuel Vadot        compatible:
2577ef62cebSEmmanuel Vadot          contains:
2587ef62cebSEmmanuel Vadot            const: qcom,mmcc-msm8998
2597ef62cebSEmmanuel Vadot    then:
2607ef62cebSEmmanuel Vadot      properties:
2617ef62cebSEmmanuel Vadot        clocks:
2627ef62cebSEmmanuel Vadot          items:
2637ef62cebSEmmanuel Vadot            - description: Board XO source
2647ef62cebSEmmanuel Vadot            - description: Global PLL 0 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            - description: DisplayPort phy PLL link clock
2717ef62cebSEmmanuel Vadot            - description: DisplayPort phy PLL vco clock
2727ef62cebSEmmanuel Vadot
2737ef62cebSEmmanuel Vadot        clock-names:
2747ef62cebSEmmanuel Vadot          items:
2757ef62cebSEmmanuel Vadot            - const: xo
2767ef62cebSEmmanuel Vadot            - const: gpll0
2777ef62cebSEmmanuel Vadot            - const: dsi0dsi
2787ef62cebSEmmanuel Vadot            - const: dsi0byte
2797ef62cebSEmmanuel Vadot            - const: dsi1dsi
2807ef62cebSEmmanuel Vadot            - const: dsi1byte
2817ef62cebSEmmanuel Vadot            - const: hdmipll
2827ef62cebSEmmanuel Vadot            - const: dplink
2837ef62cebSEmmanuel Vadot            - const: dpvco
2847ef62cebSEmmanuel Vadot
2857ef62cebSEmmanuel Vadot  - if:
2867ef62cebSEmmanuel Vadot      properties:
2877ef62cebSEmmanuel Vadot        compatible:
2887ef62cebSEmmanuel Vadot          contains:
2897ef62cebSEmmanuel Vadot            enum:
2907ef62cebSEmmanuel Vadot              - qcom,mmcc-sdm630
2917ef62cebSEmmanuel Vadot              - qcom,mmcc-sdm660
2927ef62cebSEmmanuel Vadot    then:
2937ef62cebSEmmanuel Vadot      properties:
2947ef62cebSEmmanuel Vadot        clocks:
2957ef62cebSEmmanuel Vadot          items:
2967ef62cebSEmmanuel Vadot            - description: Board XO source
2977ef62cebSEmmanuel Vadot            - description: Board sleep source
2987ef62cebSEmmanuel Vadot            - description: Global PLL 0 clock
2997ef62cebSEmmanuel Vadot            - description: Global PLL 0 DIV clock
3007ef62cebSEmmanuel Vadot            - description: DSI phy instance 0 dsi clock
3017ef62cebSEmmanuel Vadot            - description: DSI phy instance 0 byte clock
3027ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 dsi clock
3037ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 byte clock
3047ef62cebSEmmanuel Vadot            - description: DisplayPort phy PLL link clock
3057ef62cebSEmmanuel Vadot            - description: DisplayPort phy PLL vco clock
3067ef62cebSEmmanuel Vadot
3077ef62cebSEmmanuel Vadot        clock-names:
3087ef62cebSEmmanuel Vadot          items:
3097ef62cebSEmmanuel Vadot            - const: xo
3107ef62cebSEmmanuel Vadot            - const: sleep_clk
3117ef62cebSEmmanuel Vadot            - const: gpll0
3127ef62cebSEmmanuel Vadot            - const: gpll0_div
3137ef62cebSEmmanuel Vadot            - const: dsi0pll
3147ef62cebSEmmanuel Vadot            - const: dsi0pllbyte
3157ef62cebSEmmanuel Vadot            - const: dsi1pll
3167ef62cebSEmmanuel Vadot            - const: dsi1pllbyte
3177ef62cebSEmmanuel Vadot            - const: dp_link_2x_clk_divsel_five
3187ef62cebSEmmanuel Vadot            - const: dp_vco_divided_clk_src_mux
3197ef62cebSEmmanuel Vadot
320c66ec88fSEmmanuel Vadotexamples:
321c66ec88fSEmmanuel Vadot  # Example for MMCC for MSM8960:
322c66ec88fSEmmanuel Vadot  - |
323c66ec88fSEmmanuel Vadot    clock-controller@4000000 {
324c66ec88fSEmmanuel Vadot      compatible = "qcom,mmcc-msm8960";
325c66ec88fSEmmanuel Vadot      reg = <0x4000000 0x1000>;
326c66ec88fSEmmanuel Vadot      #clock-cells = <1>;
327c66ec88fSEmmanuel Vadot      #reset-cells = <1>;
328c66ec88fSEmmanuel Vadot      #power-domain-cells = <1>;
329c66ec88fSEmmanuel Vadot    };
330c66ec88fSEmmanuel Vadot...
331