summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/clock/qcom,videocc.yaml
blob: 6999e36ace1b6879445f02ab094214ddb778f408 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/qcom,videocc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm Video Clock & Reset Controller

maintainers:
  - Taniya Das <quic_tdas@quicinc.com>

description: |
  Qualcomm video clock control module provides the clocks, resets and power
  domains on Qualcomm SoCs.

  See also::
    include/dt-bindings/clock/qcom,videocc-sc7180.h
    include/dt-bindings/clock/qcom,videocc-sc7280.h
    include/dt-bindings/clock/qcom,videocc-sdm845.h
    include/dt-bindings/clock/qcom,videocc-sm8150.h
    include/dt-bindings/clock/qcom,videocc-sm8250.h

properties:
  compatible:
    enum:
      - qcom,sc7180-videocc
      - qcom,sc7280-videocc
      - qcom,sdm845-videocc
      - qcom,sm8150-videocc
      - qcom,sm8250-videocc

  clocks:
    minItems: 1
    maxItems: 3

  clock-names:
    minItems: 1
    maxItems: 3

  '#clock-cells':
    const: 1

  '#reset-cells':
    const: 1

  '#power-domain-cells':
    const: 1

  reg:
    maxItems: 1

  power-domains:
    description:
      A phandle and PM domain specifier for the MMCX power domain.
    maxItems: 1

  required-opps:
    description:
      A phandle to an OPP node describing required MMCX performance point.
    maxItems: 1

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - '#clock-cells'
  - '#reset-cells'
  - '#power-domain-cells'

allOf:
  - if:
      properties:
        compatible:
          enum:
            - qcom,sc7180-videocc
            - qcom,sdm845-videocc
            - qcom,sm8150-videocc
    then:
      properties:
        clocks:
          items:
            - description: Board XO source
        clock-names:
          items:
            - const: bi_tcxo

  - if:
      properties:
        compatible:
          enum:
            - qcom,sc7280-videocc
    then:
      properties:
        clocks:
          items:
            - description: Board XO source
            - description: Board active XO source
        clock-names:
          items:
            - const: bi_tcxo
            - const: bi_tcxo_ao

  - if:
      properties:
        compatible:
          enum:
            - qcom,sm8250-videocc
    then:
      properties:
        clocks:
          items:
            - description: AHB
            - description: Board XO source
            - description: Board active XO source
        clock-names:
          items:
            - const: iface
            - const: bi_tcxo
            - const: bi_tcxo_ao

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/qcom,rpmh.h>
    #include <dt-bindings/power/qcom,rpmhpd.h>
    clock-controller@ab00000 {
      compatible = "qcom,sdm845-videocc";
      reg = <0x0ab00000 0x10000>;
      clocks = <&rpmhcc RPMH_CXO_CLK>;
      clock-names = "bi_tcxo";
      #clock-cells = <1>;
      #reset-cells = <1>;
      #power-domain-cells = <1>;
      power-domains = <&rpmhpd RPMHPD_MMCX>;
      required-opps = <&rpmhpd_opp_low_svs>;
    };
...