xref: /freebsd/sys/contrib/device-tree/Bindings/clock/qcom,mmcc.yaml (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
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
7*8bab661aSEmmanuel 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: |
14*8bab661aSEmmanuel 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
357ef62cebSEmmanuel Vadot    maxItems: 10
36c66ec88fSEmmanuel Vadot
37c66ec88fSEmmanuel Vadot  clock-names:
387ef62cebSEmmanuel Vadot    minItems: 8
397ef62cebSEmmanuel Vadot    maxItems: 10
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:
107*8bab661aSEmmanuel Vadot              - qcom,mmcc-msm8974
108*8bab661aSEmmanuel Vadot    then:
109*8bab661aSEmmanuel Vadot      properties:
110*8bab661aSEmmanuel Vadot        clocks:
111*8bab661aSEmmanuel Vadot          items:
112*8bab661aSEmmanuel Vadot            - description: Board XO source
113*8bab661aSEmmanuel Vadot            - description: MMSS GPLL0 voted clock
114*8bab661aSEmmanuel Vadot            - description: GPLL0 voted clock
115*8bab661aSEmmanuel Vadot            - description: GPLL1 voted clock
116*8bab661aSEmmanuel Vadot            - description: GFX3D clock source
117*8bab661aSEmmanuel Vadot            - description: DSI phy instance 0 dsi clock
118*8bab661aSEmmanuel Vadot            - description: DSI phy instance 0 byte clock
119*8bab661aSEmmanuel Vadot            - description: DSI phy instance 1 dsi clock
120*8bab661aSEmmanuel Vadot            - description: DSI phy instance 1 byte clock
121*8bab661aSEmmanuel Vadot            - description: HDMI phy PLL clock
122*8bab661aSEmmanuel Vadot            - description: eDP phy PLL link clock
123*8bab661aSEmmanuel Vadot            - description: eDP phy PLL vco clock
124*8bab661aSEmmanuel Vadot
125*8bab661aSEmmanuel Vadot        clock-names:
126*8bab661aSEmmanuel Vadot          items:
127*8bab661aSEmmanuel Vadot            - const: xo
128*8bab661aSEmmanuel Vadot            - const: mmss_gpll0_vote
129*8bab661aSEmmanuel Vadot            - const: gpll0_vote
130*8bab661aSEmmanuel Vadot            - const: gpll1_vote
131*8bab661aSEmmanuel Vadot            - const: gfx3d_clk_src
132*8bab661aSEmmanuel Vadot            - const: dsi0pll
133*8bab661aSEmmanuel Vadot            - const: dsi0pllbyte
134*8bab661aSEmmanuel Vadot            - const: dsi1pll
135*8bab661aSEmmanuel Vadot            - const: dsi1pllbyte
136*8bab661aSEmmanuel Vadot            - const: hdmipll
137*8bab661aSEmmanuel Vadot            - const: edp_link_clk
138*8bab661aSEmmanuel Vadot            - const: edp_vco_div
139*8bab661aSEmmanuel Vadot
140*8bab661aSEmmanuel Vadot  - if:
141*8bab661aSEmmanuel Vadot      properties:
142*8bab661aSEmmanuel Vadot        compatible:
143*8bab661aSEmmanuel Vadot          contains:
144*8bab661aSEmmanuel Vadot            enum:
1457ef62cebSEmmanuel Vadot              - qcom,mmcc-msm8994
1467ef62cebSEmmanuel Vadot              - qcom,mmcc-msm8998
1477ef62cebSEmmanuel Vadot              - qcom,mmcc-sdm630
1487ef62cebSEmmanuel Vadot              - qcom,mmcc-sdm660
149c66ec88fSEmmanuel Vadot    then:
150c66ec88fSEmmanuel Vadot      required:
151c66ec88fSEmmanuel Vadot        - clocks
152c66ec88fSEmmanuel Vadot        - clock-names
153c66ec88fSEmmanuel Vadot
1547ef62cebSEmmanuel Vadot  - if:
1557ef62cebSEmmanuel Vadot      properties:
1567ef62cebSEmmanuel Vadot        compatible:
1577ef62cebSEmmanuel Vadot          contains:
1587ef62cebSEmmanuel Vadot            const: qcom,mmcc-msm8994
1597ef62cebSEmmanuel Vadot    then:
1607ef62cebSEmmanuel Vadot      properties:
1617ef62cebSEmmanuel Vadot        clocks:
1627ef62cebSEmmanuel Vadot          items:
1637ef62cebSEmmanuel Vadot            - description: Board XO source
1647ef62cebSEmmanuel Vadot            - description: Global PLL 0 clock
1657ef62cebSEmmanuel Vadot            - description: MMSS NoC AHB clock
1667ef62cebSEmmanuel Vadot            - description: GFX3D clock
1677ef62cebSEmmanuel Vadot            - description: DSI phy instance 0 dsi clock
1687ef62cebSEmmanuel Vadot            - description: DSI phy instance 0 byte clock
1697ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 dsi clock
1707ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 byte clock
1717ef62cebSEmmanuel Vadot            - description: HDMI phy PLL clock
1727ef62cebSEmmanuel Vadot
1737ef62cebSEmmanuel Vadot        clock-names:
1747ef62cebSEmmanuel Vadot          items:
1757ef62cebSEmmanuel Vadot            - const: xo
1767ef62cebSEmmanuel Vadot            - const: gpll0
1777ef62cebSEmmanuel Vadot            - const: mmssnoc_ahb
1787ef62cebSEmmanuel Vadot            - const: oxili_gfx3d_clk_src
1797ef62cebSEmmanuel Vadot            - const: dsi0pll
1807ef62cebSEmmanuel Vadot            - const: dsi0pllbyte
1817ef62cebSEmmanuel Vadot            - const: dsi1pll
1827ef62cebSEmmanuel Vadot            - const: dsi1pllbyte
1837ef62cebSEmmanuel Vadot            - const: hdmipll
1847ef62cebSEmmanuel Vadot
1857ef62cebSEmmanuel Vadot  - if:
1867ef62cebSEmmanuel Vadot      properties:
1877ef62cebSEmmanuel Vadot        compatible:
1887ef62cebSEmmanuel Vadot          contains:
1897ef62cebSEmmanuel Vadot            const: qcom,mmcc-msm8996
1907ef62cebSEmmanuel Vadot    then:
1917ef62cebSEmmanuel Vadot      properties:
1927ef62cebSEmmanuel Vadot        clocks:
1937ef62cebSEmmanuel Vadot          items:
1947ef62cebSEmmanuel Vadot            - description: Board XO source
1957ef62cebSEmmanuel Vadot            - description: Global PLL 0 clock
1967ef62cebSEmmanuel Vadot            - description: MMSS NoC AHB clock
1977ef62cebSEmmanuel Vadot            - description: DSI phy instance 0 dsi clock
1987ef62cebSEmmanuel Vadot            - description: DSI phy instance 0 byte clock
1997ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 dsi clock
2007ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 byte clock
2017ef62cebSEmmanuel Vadot            - description: HDMI phy PLL clock
2027ef62cebSEmmanuel Vadot
2037ef62cebSEmmanuel Vadot        clock-names:
2047ef62cebSEmmanuel Vadot          items:
2057ef62cebSEmmanuel Vadot            - const: xo
2067ef62cebSEmmanuel Vadot            - const: gpll0
2077ef62cebSEmmanuel Vadot            - const: gcc_mmss_noc_cfg_ahb_clk
2087ef62cebSEmmanuel Vadot            - const: dsi0pll
2097ef62cebSEmmanuel Vadot            - const: dsi0pllbyte
2107ef62cebSEmmanuel Vadot            - const: dsi1pll
2117ef62cebSEmmanuel Vadot            - const: dsi1pllbyte
2127ef62cebSEmmanuel Vadot            - const: hdmipll
2137ef62cebSEmmanuel Vadot
2147ef62cebSEmmanuel Vadot  - if:
2157ef62cebSEmmanuel Vadot      properties:
2167ef62cebSEmmanuel Vadot        compatible:
2177ef62cebSEmmanuel Vadot          contains:
2187ef62cebSEmmanuel Vadot            const: qcom,mmcc-msm8998
2197ef62cebSEmmanuel Vadot    then:
2207ef62cebSEmmanuel Vadot      properties:
2217ef62cebSEmmanuel Vadot        clocks:
2227ef62cebSEmmanuel Vadot          items:
2237ef62cebSEmmanuel Vadot            - description: Board XO source
2247ef62cebSEmmanuel Vadot            - description: Global PLL 0 clock
2257ef62cebSEmmanuel Vadot            - description: DSI phy instance 0 dsi clock
2267ef62cebSEmmanuel Vadot            - description: DSI phy instance 0 byte clock
2277ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 dsi clock
2287ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 byte clock
2297ef62cebSEmmanuel Vadot            - description: HDMI phy PLL clock
2307ef62cebSEmmanuel Vadot            - description: DisplayPort phy PLL link clock
2317ef62cebSEmmanuel Vadot            - description: DisplayPort phy PLL vco clock
2327ef62cebSEmmanuel Vadot            - description: Test clock
2337ef62cebSEmmanuel Vadot
2347ef62cebSEmmanuel Vadot        clock-names:
2357ef62cebSEmmanuel Vadot          items:
2367ef62cebSEmmanuel Vadot            - const: xo
2377ef62cebSEmmanuel Vadot            - const: gpll0
2387ef62cebSEmmanuel Vadot            - const: dsi0dsi
2397ef62cebSEmmanuel Vadot            - const: dsi0byte
2407ef62cebSEmmanuel Vadot            - const: dsi1dsi
2417ef62cebSEmmanuel Vadot            - const: dsi1byte
2427ef62cebSEmmanuel Vadot            - const: hdmipll
2437ef62cebSEmmanuel Vadot            - const: dplink
2447ef62cebSEmmanuel Vadot            - const: dpvco
2457ef62cebSEmmanuel Vadot            - const: core_bi_pll_test_se
2467ef62cebSEmmanuel Vadot
2477ef62cebSEmmanuel Vadot  - if:
2487ef62cebSEmmanuel Vadot      properties:
2497ef62cebSEmmanuel Vadot        compatible:
2507ef62cebSEmmanuel Vadot          contains:
2517ef62cebSEmmanuel Vadot            enum:
2527ef62cebSEmmanuel Vadot              - qcom,mmcc-sdm630
2537ef62cebSEmmanuel Vadot              - qcom,mmcc-sdm660
2547ef62cebSEmmanuel Vadot    then:
2557ef62cebSEmmanuel Vadot      properties:
2567ef62cebSEmmanuel Vadot        clocks:
2577ef62cebSEmmanuel Vadot          items:
2587ef62cebSEmmanuel Vadot            - description: Board XO source
2597ef62cebSEmmanuel Vadot            - description: Board sleep source
2607ef62cebSEmmanuel Vadot            - description: Global PLL 0 clock
2617ef62cebSEmmanuel Vadot            - description: Global PLL 0 DIV clock
2627ef62cebSEmmanuel Vadot            - description: DSI phy instance 0 dsi clock
2637ef62cebSEmmanuel Vadot            - description: DSI phy instance 0 byte clock
2647ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 dsi clock
2657ef62cebSEmmanuel Vadot            - description: DSI phy instance 1 byte clock
2667ef62cebSEmmanuel Vadot            - description: DisplayPort phy PLL link clock
2677ef62cebSEmmanuel Vadot            - description: DisplayPort phy PLL vco clock
2687ef62cebSEmmanuel Vadot
2697ef62cebSEmmanuel Vadot        clock-names:
2707ef62cebSEmmanuel Vadot          items:
2717ef62cebSEmmanuel Vadot            - const: xo
2727ef62cebSEmmanuel Vadot            - const: sleep_clk
2737ef62cebSEmmanuel Vadot            - const: gpll0
2747ef62cebSEmmanuel Vadot            - const: gpll0_div
2757ef62cebSEmmanuel Vadot            - const: dsi0pll
2767ef62cebSEmmanuel Vadot            - const: dsi0pllbyte
2777ef62cebSEmmanuel Vadot            - const: dsi1pll
2787ef62cebSEmmanuel Vadot            - const: dsi1pllbyte
2797ef62cebSEmmanuel Vadot            - const: dp_link_2x_clk_divsel_five
2807ef62cebSEmmanuel Vadot            - const: dp_vco_divided_clk_src_mux
2817ef62cebSEmmanuel Vadot
282c66ec88fSEmmanuel Vadotexamples:
283c66ec88fSEmmanuel Vadot  # Example for MMCC for MSM8960:
284c66ec88fSEmmanuel Vadot  - |
285c66ec88fSEmmanuel Vadot    clock-controller@4000000 {
286c66ec88fSEmmanuel Vadot      compatible = "qcom,mmcc-msm8960";
287c66ec88fSEmmanuel Vadot      reg = <0x4000000 0x1000>;
288c66ec88fSEmmanuel Vadot      #clock-cells = <1>;
289c66ec88fSEmmanuel Vadot      #reset-cells = <1>;
290c66ec88fSEmmanuel Vadot      #power-domain-cells = <1>;
291c66ec88fSEmmanuel Vadot    };
292c66ec88fSEmmanuel Vadot...
293