Merge tag 'for-5.3/dm-changes-2' of git://git.kernel.org/pub/scm/linux/kernel/git...
[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/phy/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-v3s-ccu
35       - allwinner,sun9i-a80-ccu
36       - allwinner,sun50i-a64-ccu
37       - allwinner,sun50i-a64-r-ccu
38       - allwinner,sun50i-h5-ccu
39       - allwinner,sun50i-h6-ccu
40       - allwinner,sun50i-h6-r-ccu
41       - allwinner,suniv-f1c100s-ccu
42       - nextthing,gr8-ccu
43
44   reg:
45     maxItems: 1
46
47   clocks:
48     minItems: 2
49     maxItems: 4
50     items:
51       - description: High Frequency Oscillator (usually at 24MHz)
52       - description: Low Frequency Oscillator (usually at 32kHz)
53       - description: Internal Oscillator
54       - description: Peripherals PLL
55
56   clock-names:
57     minItems: 2
58     maxItems: 4
59     items:
60       - const: hosc
61       - const: losc
62       - const: iosc
63       - const: pll-periph
64
65 required:
66   - "#clock-cells"
67   - "#reset-cells"
68   - compatible
69   - reg
70   - clocks
71   - clock-names
72
73 if:
74   properties:
75     compatible:
76       enum:
77         - allwinner,sun8i-a83t-r-ccu
78         - allwinner,sun8i-h3-r-ccu
79         - allwinner,sun50i-a64-r-ccu
80         - allwinner,sun50i-h6-r-ccu
81
82 then:
83   properties:
84     clocks:
85       minItems: 4
86       maxItems: 4
87
88     clock-names:
89       minItems: 4
90       maxItems: 4
91
92 else:
93   if:
94     properties:
95       compatible:
96         const: allwinner,sun50i-h6-ccu
97
98   then:
99     properties:
100       clocks:
101         minItems: 3
102         maxItems: 3
103
104       clock-names:
105         minItems: 3
106         maxItems: 3
107
108   else:
109     properties:
110       clocks:
111         minItems: 2
112         maxItems: 2
113
114       clock-names:
115         minItems: 2
116         maxItems: 2
117
118 additionalProperties: false
119
120 examples:
121   - |
122     ccu: clock@1c20000 {
123         compatible = "allwinner,sun8i-h3-ccu";
124         reg = <0x01c20000 0x400>;
125         clocks = <&osc24M>, <&osc32k>;
126         clock-names = "hosc", "losc";
127         #clock-cells = <1>;
128         #reset-cells = <1>;
129     };
130
131   - |
132     r_ccu: clock@1f01400 {
133         compatible = "allwinner,sun50i-a64-r-ccu";
134         reg = <0x01f01400 0x100>;
135         clocks = <&osc24M>, <&osc32k>, <&iosc>, <&ccu 11>;
136         clock-names = "hosc", "losc", "iosc", "pll-periph";
137         #clock-cells = <1>;
138         #reset-cells = <1>;
139     };
140
141 ...