xref: /linux/Documentation/devicetree/bindings/clock/qcom,sm8450-camcc.yaml (revision ff124bbbca1d3a07fa1392ffdbbdeece71f68ece)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/clock/qcom,sm8450-camcc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm Camera Clock & Reset Controller on SM8450
8
9maintainers:
10  - Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
11  - Jagadeesh Kona <quic_jkona@quicinc.com>
12  - Taniya Das <taniya.das@oss.qualcomm.com>
13
14description: |
15  Qualcomm camera clock control module provides the clocks, resets and power
16  domains on SM8450.
17
18  See also:
19    include/dt-bindings/clock/qcom,kaanapali-camcc.h
20    include/dt-bindings/clock/qcom,kaanapali-cambistmclkcc.h
21    include/dt-bindings/clock/qcom,sm8450-camcc.h
22    include/dt-bindings/clock/qcom,sm8550-camcc.h
23    include/dt-bindings/clock/qcom,sm8650-camcc.h
24    include/dt-bindings/clock/qcom,sm8750-cambistmclkcc.h
25    include/dt-bindings/clock/qcom,sm8750-camcc.h
26
27properties:
28  compatible:
29    enum:
30      - qcom,kaanapali-cambistmclkcc
31      - qcom,kaanapali-camcc
32      - qcom,sm8450-camcc
33      - qcom,sm8475-camcc
34      - qcom,sm8550-camcc
35      - qcom,sm8650-camcc
36      - qcom,sm8750-cambistmclkcc
37      - qcom,sm8750-camcc
38
39  clocks:
40    items:
41      - description: Camera AHB clock from GCC
42      - description: Board XO source
43      - description: Board active XO source
44      - description: Sleep clock source
45
46  power-domains:
47    description:
48      Power domains required for the clock controller to operate
49    items:
50      - description: MMCX power domain
51      - description: MXC power domain
52
53  required-opps:
54    description:
55      OPP nodes that describe required performance points on power domains
56    items:
57      - description: MMCX performance point
58      - description: MXC performance point
59
60  reg:
61    maxItems: 1
62
63required:
64  - compatible
65  - clocks
66  - power-domains
67
68allOf:
69  - $ref: qcom,gcc.yaml#
70  - if:
71      properties:
72        compatible:
73          contains:
74            enum:
75              - qcom,kaanapali-cambistmclkcc
76              - qcom,kaanapali-camcc
77              - qcom,sc8280xp-camcc
78              - qcom,sm8450-camcc
79              - qcom,sm8550-camcc
80    then:
81      required:
82        - required-opps
83
84unevaluatedProperties: false
85
86examples:
87  - |
88    #include <dt-bindings/clock/qcom,gcc-sm8450.h>
89    #include <dt-bindings/clock/qcom,rpmh.h>
90    #include <dt-bindings/power/qcom,rpmhpd.h>
91    clock-controller@ade0000 {
92      compatible = "qcom,sm8450-camcc";
93      reg = <0xade0000 0x20000>;
94      clocks = <&gcc GCC_CAMERA_AHB_CLK>,
95               <&rpmhcc RPMH_CXO_CLK>,
96               <&rpmhcc RPMH_CXO_CLK_A>,
97               <&sleep_clk>;
98      power-domains = <&rpmhpd RPMHPD_MMCX>,
99                      <&rpmhpd RPMHPD_MXC>;
100      required-opps = <&rpmhpd_opp_low_svs>,
101                      <&rpmhpd_opp_low_svs>;
102      #clock-cells = <1>;
103      #reset-cells = <1>;
104      #power-domain-cells = <1>;
105    };
106...
107