drivers: ipmi: fix off-by-one bounds check that leads to a out-of-bounds write
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / clock / allwinner,sun4i-a10-ccu.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/clock/allwinner,sun4i-a10-ccu.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Allwinner Clock Control Unit Device Tree Bindings
8
9 maintainers:
10   - Chen-Yu Tsai <wens@csie.org>
11   - Maxime Ripard <maxime.ripard@bootlin.com>
12
13 properties:
14   "#clock-cells":
15     const: 1
16
17   "#reset-cells":
18     const: 1
19
20   compatible:
21     enum:
22       - allwinner,sun4i-a10-ccu
23       - allwinner,sun5i-a10s-ccu
24       - allwinner,sun5i-a13-ccu
25       - allwinner,sun6i-a31-ccu
26       - allwinner,sun7i-a20-ccu
27       - allwinner,sun8i-a23-ccu
28       - allwinner,sun8i-a33-ccu
29       - allwinner,sun8i-a83t-ccu
30       - allwinner,sun8i-a83t-r-ccu
31       - allwinner,sun8i-h3-ccu
32       - allwinner,sun8i-h3-r-ccu
33       - allwinner,sun8i-r40-ccu
34       - allwinner,sun8i-v3-ccu
35       - allwinner,sun8i-v3s-ccu
36       - allwinner,sun9i-a80-ccu
37       - allwinner,sun50i-a64-ccu
38       - allwinner,sun50i-a64-r-ccu
39       - allwinner,sun50i-h5-ccu
40       - allwinner,sun50i-h6-ccu
41       - allwinner,sun50i-h6-r-ccu
42       - allwinner,suniv-f1c100s-ccu
43       - nextthing,gr8-ccu
44
45   reg:
46     maxItems: 1
47
48   clocks:
49     minItems: 2
50     maxItems: 4
51     items:
52       - description: High Frequency Oscillator (usually at 24MHz)
53       - description: Low Frequency Oscillator (usually at 32kHz)
54       - description: Internal Oscillator
55       - description: Peripherals PLL
56
57   clock-names:
58     minItems: 2
59     maxItems: 4
60     items:
61       - const: hosc
62       - const: losc
63       - const: iosc
64       - const: pll-periph
65
66 required:
67   - "#clock-cells"
68   - "#reset-cells"
69   - compatible
70   - reg
71   - clocks
72   - clock-names
73
74 if:
75   properties:
76     compatible:
77       enum:
78         - allwinner,sun8i-a83t-r-ccu
79         - allwinner,sun8i-h3-r-ccu
80         - allwinner,sun50i-a64-r-ccu
81         - allwinner,sun50i-h6-r-ccu
82
83 then:
84   properties:
85     clocks:
86       minItems: 4
87       maxItems: 4
88
89     clock-names:
90       minItems: 4
91       maxItems: 4
92
93 else:
94   if:
95     properties:
96       compatible:
97         const: allwinner,sun50i-h6-ccu
98
99   then:
100     properties:
101       clocks:
102         minItems: 3
103         maxItems: 3
104
105       clock-names:
106         minItems: 3
107         maxItems: 3
108
109   else:
110     properties:
111       clocks:
112         minItems: 2
113         maxItems: 2
114
115       clock-names:
116         minItems: 2
117         maxItems: 2
118
119 additionalProperties: false
120
121 examples:
122   - |
123     ccu: clock@1c20000 {
124         compatible = "allwinner,sun8i-h3-ccu";
125         reg = <0x01c20000 0x400>;
126         clocks = <&osc24M>, <&osc32k>;
127         clock-names = "hosc", "losc";
128         #clock-cells = <1>;
129         #reset-cells = <1>;
130     };
131
132   - |
133     r_ccu: clock@1f01400 {
134         compatible = "allwinner,sun50i-a64-r-ccu";
135         reg = <0x01f01400 0x100>;
136         clocks = <&osc24M>, <&osc32k>, <&iosc>, <&ccu 11>;
137         clock-names = "hosc", "losc", "iosc", "pll-periph";
138         #clock-cells = <1>;
139         #reset-cells = <1>;
140     };
141
142 ...