1 # SPDX-License-Identifier: GPL-2.0
4 $id: http://devicetree.org/schemas/pinctrl/allwinner,sun4i-a10-pinctrl.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Allwinner A10 Pin Controller
10 - Chen-Yu Tsai <wens@csie.org>
11 - Maxime Ripard <mripard@kernel.org>
17 GPIO consumers must use three arguments, first the number of the
18 bank, then the pin number inside that bank, and finally the GPIO
24 Interrupts consumers must use three arguments, first the number
25 of the bank, then the pin number inside that bank, and finally
30 - allwinner,sun4i-a10-pinctrl
31 - allwinner,sun5i-a10s-pinctrl
32 - allwinner,sun5i-a13-pinctrl
33 - allwinner,sun6i-a31-pinctrl
34 - allwinner,sun6i-a31-r-pinctrl
35 - allwinner,sun6i-a31s-pinctrl
36 - allwinner,sun7i-a20-pinctrl
37 - allwinner,sun8i-a23-pinctrl
38 - allwinner,sun8i-a23-r-pinctrl
39 - allwinner,sun8i-a33-pinctrl
40 - allwinner,sun8i-a83t-pinctrl
41 - allwinner,sun8i-a83t-r-pinctrl
42 - allwinner,sun8i-h3-pinctrl
43 - allwinner,sun8i-h3-r-pinctrl
44 - allwinner,sun8i-r40-pinctrl
45 - allwinner,sun8i-v3-pinctrl
46 - allwinner,sun8i-v3s-pinctrl
47 - allwinner,sun9i-a80-pinctrl
48 - allwinner,sun9i-a80-r-pinctrl
49 - allwinner,sun20i-d1-pinctrl
50 - allwinner,sun50i-a64-pinctrl
51 - allwinner,sun50i-a64-r-pinctrl
52 - allwinner,sun50i-a100-pinctrl
53 - allwinner,sun50i-a100-r-pinctrl
54 - allwinner,sun50i-h5-pinctrl
55 - allwinner,sun50i-h6-pinctrl
56 - allwinner,sun50i-h6-r-pinctrl
57 - allwinner,sun50i-h616-pinctrl
58 - allwinner,sun50i-h616-r-pinctrl
59 - allwinner,suniv-f1c100s-pinctrl
60 - nextthing,gr8-pinctrl
69 One interrupt per external interrupt bank supported on the
70 controller, sorted by bank number ascending order.
74 - description: Bus Clock
75 - description: High Frequency Oscillator
76 - description: Low Frequency Oscillator
85 interrupt-controller: true
90 Debouncing periods in microseconds, one period per interrupt
91 bank found in the controller
92 $ref: /schemas/types.yaml#/definitions/uint32-array
97 # It's pretty scary, but the basic idea is that:
98 # - One node name can start with either s- or r- for PRCM nodes,
99 # - Then, the name itself can be any repetition of <string>- (to
100 # accomodate with nodes like uart4-rts-cts-pins), where each
101 # string can be either starting with 'p' but in a string longer
102 # than 3, or something that doesn't start with 'p',
103 # - Then, the bank name is optional and will be between pa and pg,
104 # pl or pm. Some pins groups that have several options will have
105 # the pin numbers then,
106 # - Finally, the name will end with either -pin or pins.
108 "^([rs]-)?(([a-z0-9]{3,}|[a-oq-z][a-z0-9]*?)?-)+?(p[a-ilm][0-9]*?-)??pins?$":
119 $ref: /schemas/types.yaml#/definitions/uint32
120 enum: [10, 20, 30, 40]
126 additionalProperties: false
128 "^vcc-p[a-ilm]-supply$":
130 Power supplies for pin banks.
141 # FIXME: We should have the pin bank supplies here, but not a lot of
142 # boards are defining it at the moment so it would generate a lot of
145 - $ref: "pinctrl.yaml#"
151 - allwinner,sun50i-h616-r-pinctrl
157 - interrupt-controller
163 - allwinner,sun50i-h616-pinctrl
174 - allwinner,sun50i-a100-pinctrl
186 - allwinner,sun20i-d1-pinctrl
198 - allwinner,sun9i-a80-pinctrl
210 - allwinner,sun6i-a31-pinctrl
211 - allwinner,sun6i-a31s-pinctrl
212 - allwinner,sun50i-h6-pinctrl
224 - allwinner,sun8i-a23-pinctrl
225 - allwinner,sun8i-a83t-pinctrl
226 - allwinner,sun50i-a64-pinctrl
227 - allwinner,sun50i-h5-pinctrl
228 - allwinner,suniv-f1c100s-pinctrl
240 - allwinner,sun6i-a31-r-pinctrl
241 - allwinner,sun8i-a33-pinctrl
242 - allwinner,sun8i-h3-pinctrl
243 - allwinner,sun8i-v3-pinctrl
244 - allwinner,sun8i-v3s-pinctrl
245 - allwinner,sun9i-a80-r-pinctrl
246 - allwinner,sun50i-h6-r-pinctrl
258 - allwinner,sun4i-a10-pinctrl
259 - allwinner,sun5i-a10s-pinctrl
260 - allwinner,sun5i-a13-pinctrl
261 - allwinner,sun7i-a20-pinctrl
262 - allwinner,sun8i-a23-r-pinctrl
263 - allwinner,sun8i-a83t-r-pinctrl
264 - allwinner,sun8i-h3-r-pinctrl
265 - allwinner,sun8i-r40-pinctrl
266 - allwinner,sun50i-a64-r-pinctrl
267 - allwinner,sun50i-a100-r-pinctrl
268 - nextthing,gr8-pinctrl
276 additionalProperties: false
280 #include <dt-bindings/clock/sun5i-ccu.h>
282 pio: pinctrl@1c20800 {
283 compatible = "allwinner,sun5i-a13-pinctrl";
284 reg = <0x01c20800 0x400>;
286 clocks = <&ccu CLK_APB0_PIO>, <&osc24M>, <&osc32k>;
287 clock-names = "apb", "hosc", "losc";
289 interrupt-controller;
290 #interrupt-cells = <3>;
293 uart1_pe_pins: uart1-pe-pins {
294 pins = "PE10", "PE11";
298 uart1_pg_pins: uart1-pg-pins {