~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/mfd/allwinner,sun6i-a31-prcm.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: GPL-2.0
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/mfd/allwinner,sun6i-a31-prcm.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Allwinner A31 PRCM
  8 
  9 maintainers:
 10   - Chen-Yu Tsai <wens@csie.org>
 11   - Maxime Ripard <mripard@kernel.org>
 12 
 13 deprecated: true
 14 
 15 properties:
 16   compatible:
 17     const: allwinner,sun6i-a31-prcm
 18 
 19   reg:
 20     maxItems: 1
 21 
 22 patternProperties:
 23   "^.*-(clk|rst)$":
 24     type: object
 25     unevaluatedProperties: false
 26 
 27     properties:
 28       compatible:
 29         enum:
 30           - allwinner,sun4i-a10-mod0-clk
 31           - allwinner,sun6i-a31-apb0-clk
 32           - allwinner,sun6i-a31-apb0-gates-clk
 33           - allwinner,sun6i-a31-ar100-clk
 34           - allwinner,sun6i-a31-clock-reset
 35           - fixed-factor-clock
 36 
 37     required:
 38       - compatible
 39 
 40     allOf:
 41       - if:
 42           properties:
 43             compatible:
 44               contains:
 45                 const: fixed-factor-clock
 46 
 47         then:
 48           $ref: /schemas/clock/fixed-factor-clock.yaml#
 49 
 50       - if:
 51           properties:
 52             compatible:
 53               contains:
 54                 const: allwinner,sun4i-a10-mod0-clk
 55 
 56         then:
 57           properties:
 58             "#clock-cells":
 59               const: 0
 60 
 61             clocks:
 62               maxItems: 2
 63 
 64             clock-output-names:
 65               maxItems: 1
 66 
 67           required:
 68             - "#clock-cells"
 69             - clocks
 70             - clock-output-names
 71 
 72       - if:
 73           properties:
 74             compatible:
 75               contains:
 76                 const: allwinner,sun6i-a31-apb0-clk
 77 
 78         then:
 79           properties:
 80             "#clock-cells":
 81               const: 0
 82 
 83             clocks:
 84               maxItems: 1
 85 
 86             clock-output-names:
 87               maxItems: 1
 88 
 89           required:
 90             - "#clock-cells"
 91             - clocks
 92             - clock-output-names
 93 
 94       - if:
 95           properties:
 96             compatible:
 97               contains:
 98                 const: allwinner,sun6i-a31-apb0-gates-clk
 99 
100         then:
101           properties:
102             "#clock-cells":
103               const: 1
104               description: >
105                 This additional argument passed to that clock is the
106                 offset of the bit controlling this particular gate in
107                 the register.
108 
109             clocks:
110               maxItems: 1
111 
112             clock-output-names:
113               minItems: 1
114               maxItems: 32
115 
116           required:
117             - "#clock-cells"
118             - clocks
119             - clock-output-names
120 
121       - if:
122           properties:
123             compatible:
124               contains:
125                 const: allwinner,sun6i-a31-ar100-clk
126 
127         then:
128           properties:
129             "#clock-cells":
130               const: 0
131 
132             clocks:
133               maxItems: 4
134               description: >
135                 The parent order must match the hardware programming
136                 order.
137 
138             clock-output-names:
139               maxItems: 1
140 
141           required:
142             - "#clock-cells"
143             - clocks
144             - clock-output-names
145 
146       - if:
147           properties:
148             compatible:
149               contains:
150                 const: allwinner,sun6i-a31-clock-reset
151 
152         then:
153           properties:
154             "#reset-cells":
155               const: 1
156 
157           required:
158             - "#reset-cells"
159 
160 required:
161   - compatible
162   - reg
163 
164 additionalProperties: false
165 
166 examples:
167   - |
168     #include <dt-bindings/clock/sun6i-a31-ccu.h>
169 
170     prcm@1f01400 {
171         compatible = "allwinner,sun6i-a31-prcm";
172         reg = <0x01f01400 0x200>;
173 
174         ar100: ar100-clk {
175             compatible = "allwinner,sun6i-a31-ar100-clk";
176             #clock-cells = <0>;
177             clocks = <&rtc 0>, <&osc24M>,
178                      <&ccu CLK_PLL_PERIPH>,
179                      <&ccu CLK_PLL_PERIPH>;
180             clock-output-names = "ar100";
181         };
182 
183         ahb0: ahb0-clk {
184             compatible = "fixed-factor-clock";
185             #clock-cells = <0>;
186             clock-div = <1>;
187             clock-mult = <1>;
188             clocks = <&ar100>;
189             clock-output-names = "ahb0";
190         };
191 
192         apb0: apb0-clk {
193             compatible = "allwinner,sun6i-a31-apb0-clk";
194             #clock-cells = <0>;
195             clocks = <&ahb0>;
196             clock-output-names = "apb0";
197         };
198 
199         apb0_gates: apb0-gates-clk {
200             compatible = "allwinner,sun6i-a31-apb0-gates-clk";
201             #clock-cells = <1>;
202             clocks = <&apb0>;
203             clock-output-names = "apb0_pio", "apb0_ir",
204                                  "apb0_timer", "apb0_p2wi",
205                                  "apb0_uart", "apb0_1wire",
206                                  "apb0_i2c";
207         };
208 
209         ir_clk: ir-clk {
210             #clock-cells = <0>;
211             compatible = "allwinner,sun4i-a10-mod0-clk";
212             clocks = <&rtc 0>, <&osc24M>;
213             clock-output-names = "ir";
214         };
215 
216         apb0_rst: apb0-rst {
217             compatible = "allwinner,sun6i-a31-clock-reset";
218             #reset-cells = <1>;
219         };
220     };
221 
222 ...

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php