xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/samsung,pinctrl.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1c9ccf3a3SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only
2c9ccf3a3SEmmanuel Vadot%YAML 1.2
3c9ccf3a3SEmmanuel Vadot---
4c9ccf3a3SEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/samsung,pinctrl.yaml#
5c9ccf3a3SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c9ccf3a3SEmmanuel Vadot
7c9ccf3a3SEmmanuel Vadottitle: Samsung S3C/S5P/Exynos SoC pin controller
8c9ccf3a3SEmmanuel Vadot
9c9ccf3a3SEmmanuel Vadotmaintainers:
10c9ccf3a3SEmmanuel Vadot  - Krzysztof Kozlowski <krzk@kernel.org>
11c9ccf3a3SEmmanuel Vadot  - Sylwester Nawrocki <s.nawrocki@samsung.com>
12c9ccf3a3SEmmanuel Vadot  - Tomasz Figa <tomasz.figa@gmail.com>
13c9ccf3a3SEmmanuel Vadot
14c9ccf3a3SEmmanuel Vadotdescription: |
15c9ccf3a3SEmmanuel Vadot  This is a part of device tree bindings for Samsung S3C/S5P/Exynos SoC pin
16c9ccf3a3SEmmanuel Vadot  controller.
17c9ccf3a3SEmmanuel Vadot
18c9ccf3a3SEmmanuel Vadot  All the pin controller nodes should be represented in the aliases node using
19c9ccf3a3SEmmanuel Vadot  the following format 'pinctrl{n}' where n is a unique number for the alias.
20c9ccf3a3SEmmanuel Vadot
21c9ccf3a3SEmmanuel Vadot  The controller supports three types of interrupts::
22c9ccf3a3SEmmanuel Vadot   - External GPIO interrupts (see interrupts property in pin controller node);
23c9ccf3a3SEmmanuel Vadot
24c9ccf3a3SEmmanuel Vadot   - External wake-up interrupts - multiplexed (capable of waking up the system
25c9ccf3a3SEmmanuel Vadot     see interrupts property in external wake-up interrupt controller node -
26c9ccf3a3SEmmanuel Vadot     samsung,pinctrl-wakeup-interrupt.yaml);
27c9ccf3a3SEmmanuel Vadot
28c9ccf3a3SEmmanuel Vadot   - External wake-up interrupts - direct (capable of waking up the system, see
29c9ccf3a3SEmmanuel Vadot     interrupts property in every bank of pin controller with external wake-up
30c9ccf3a3SEmmanuel Vadot     interrupt controller - samsung,pinctrl-gpio-bank.yaml).
31c9ccf3a3SEmmanuel Vadot
32c9ccf3a3SEmmanuel Vadotproperties:
33c9ccf3a3SEmmanuel Vadot  $nodename:
34c9ccf3a3SEmmanuel Vadot    pattern: "^pinctrl(@.*)?"
35c9ccf3a3SEmmanuel Vadot
36c9ccf3a3SEmmanuel Vadot  compatible:
37c9ccf3a3SEmmanuel Vadot    enum:
38*8d13bc63SEmmanuel Vadot      - google,gs101-pinctrl
39c9ccf3a3SEmmanuel Vadot      - samsung,s3c2412-pinctrl
40c9ccf3a3SEmmanuel Vadot      - samsung,s3c2416-pinctrl
41c9ccf3a3SEmmanuel Vadot      - samsung,s3c2440-pinctrl
42c9ccf3a3SEmmanuel Vadot      - samsung,s3c2450-pinctrl
43c9ccf3a3SEmmanuel Vadot      - samsung,s3c64xx-pinctrl
44c9ccf3a3SEmmanuel Vadot      - samsung,s5pv210-pinctrl
45c9ccf3a3SEmmanuel Vadot      - samsung,exynos3250-pinctrl
46c9ccf3a3SEmmanuel Vadot      - samsung,exynos4210-pinctrl
47c9ccf3a3SEmmanuel Vadot      - samsung,exynos4x12-pinctrl
48c9ccf3a3SEmmanuel Vadot      - samsung,exynos5250-pinctrl
49c9ccf3a3SEmmanuel Vadot      - samsung,exynos5260-pinctrl
50c9ccf3a3SEmmanuel Vadot      - samsung,exynos5410-pinctrl
51c9ccf3a3SEmmanuel Vadot      - samsung,exynos5420-pinctrl
52c9ccf3a3SEmmanuel Vadot      - samsung,exynos5433-pinctrl
53c9ccf3a3SEmmanuel Vadot      - samsung,exynos7-pinctrl
54c9ccf3a3SEmmanuel Vadot      - samsung,exynos7885-pinctrl
55c9ccf3a3SEmmanuel Vadot      - samsung,exynos850-pinctrl
56c9ccf3a3SEmmanuel Vadot      - samsung,exynosautov9-pinctrl
57*8d13bc63SEmmanuel Vadot      - samsung,exynosautov920-pinctrl
58c9ccf3a3SEmmanuel Vadot      - tesla,fsd-pinctrl
59c9ccf3a3SEmmanuel Vadot
60c9ccf3a3SEmmanuel Vadot  interrupts:
61c9ccf3a3SEmmanuel Vadot    description:
62c9ccf3a3SEmmanuel Vadot      Required for GPIO banks supporting external GPIO interrupts.
63c9ccf3a3SEmmanuel Vadot    maxItems: 1
64c9ccf3a3SEmmanuel Vadot
65c9ccf3a3SEmmanuel Vadot  power-domains:
66c9ccf3a3SEmmanuel Vadot    maxItems: 1
67c9ccf3a3SEmmanuel Vadot
68c9ccf3a3SEmmanuel Vadot  reg:
69c9ccf3a3SEmmanuel Vadot    description:
70c9ccf3a3SEmmanuel Vadot      Second base address of the pin controller if the specific registers of
71c9ccf3a3SEmmanuel Vadot      the pin controller are separated into the different base address.
72c9ccf3a3SEmmanuel Vadot      Only certain banks of certain pin controller might need it.
73c9ccf3a3SEmmanuel Vadot    minItems: 1
74c9ccf3a3SEmmanuel Vadot    maxItems: 2
75c9ccf3a3SEmmanuel Vadot
76c9ccf3a3SEmmanuel Vadot  wakeup-interrupt-controller:
77c9ccf3a3SEmmanuel Vadot    $ref: samsung,pinctrl-wakeup-interrupt.yaml
78c9ccf3a3SEmmanuel Vadot
79c9ccf3a3SEmmanuel VadotpatternProperties:
80c9ccf3a3SEmmanuel Vadot  "^[a-z]+[0-9]*-gpio-bank$":
81c9ccf3a3SEmmanuel Vadot    description:
82c9ccf3a3SEmmanuel Vadot      Pin banks of the controller are represented by child nodes of the
83c9ccf3a3SEmmanuel Vadot      controller node. Bank name is taken from name of the node.
84c9ccf3a3SEmmanuel Vadot    $ref: samsung,pinctrl-gpio-bank.yaml
85c9ccf3a3SEmmanuel Vadot
86c9ccf3a3SEmmanuel Vadot  "^[a-z0-9-]+-pins$":
87c9ccf3a3SEmmanuel Vadot    oneOf:
88c9ccf3a3SEmmanuel Vadot      - $ref: samsung,pinctrl-pins-cfg.yaml
89c9ccf3a3SEmmanuel Vadot        required:
90c9ccf3a3SEmmanuel Vadot          - samsung,pins
91c9ccf3a3SEmmanuel Vadot      - type: object
92c9ccf3a3SEmmanuel Vadot        patternProperties:
93c9ccf3a3SEmmanuel Vadot          "^[a-z0-9-]+-pins$":
94c9ccf3a3SEmmanuel Vadot            $ref: samsung,pinctrl-pins-cfg.yaml
95c9ccf3a3SEmmanuel Vadot
96c9ccf3a3SEmmanuel Vadot        additionalProperties: false
97c9ccf3a3SEmmanuel Vadot
98c9ccf3a3SEmmanuel Vadot  "^(initial|sleep)-state$":
997ef62cebSEmmanuel Vadot    type: object
1007ef62cebSEmmanuel Vadot    additionalProperties: false
1017ef62cebSEmmanuel Vadot
102c9ccf3a3SEmmanuel Vadot    patternProperties:
103c9ccf3a3SEmmanuel Vadot      "^(pin-[a-z0-9-]+|[a-z0-9-]+-pin)$":
104c9ccf3a3SEmmanuel Vadot        $ref: samsung,pinctrl-pins-cfg.yaml
105c9ccf3a3SEmmanuel Vadot
106c9ccf3a3SEmmanuel Vadot        properties:
107c9ccf3a3SEmmanuel Vadot          samsung,pins:
108c9ccf3a3SEmmanuel Vadot            description: See samsung,pinctrl-pins-cfg.yaml
109c9ccf3a3SEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/string-array
110c9ccf3a3SEmmanuel Vadot            maxItems: 1
111c9ccf3a3SEmmanuel Vadot
112c9ccf3a3SEmmanuel Vadot        required:
113c9ccf3a3SEmmanuel Vadot          - samsung,pins
114c9ccf3a3SEmmanuel Vadot
115c9ccf3a3SEmmanuel Vadot        unevaluatedProperties: false
116c9ccf3a3SEmmanuel Vadot
117c9ccf3a3SEmmanuel Vadotrequired:
118c9ccf3a3SEmmanuel Vadot  - compatible
119c9ccf3a3SEmmanuel Vadot  - reg
120c9ccf3a3SEmmanuel Vadot
121c9ccf3a3SEmmanuel VadotallOf:
122fac71e4eSEmmanuel Vadot  - $ref: pinctrl.yaml#
123c9ccf3a3SEmmanuel Vadot  - if:
124c9ccf3a3SEmmanuel Vadot      properties:
125c9ccf3a3SEmmanuel Vadot        compatible:
126c9ccf3a3SEmmanuel Vadot          contains:
127c9ccf3a3SEmmanuel Vadot            const: samsung,exynos5433-pinctrl
128c9ccf3a3SEmmanuel Vadot    then:
129c9ccf3a3SEmmanuel Vadot      properties:
130c9ccf3a3SEmmanuel Vadot        reg:
131c9ccf3a3SEmmanuel Vadot          minItems: 1
132c9ccf3a3SEmmanuel Vadot          maxItems: 2
133c9ccf3a3SEmmanuel Vadot    else:
134c9ccf3a3SEmmanuel Vadot      properties:
135c9ccf3a3SEmmanuel Vadot        reg:
136c9ccf3a3SEmmanuel Vadot          minItems: 1
137c9ccf3a3SEmmanuel Vadot          maxItems: 1
138c9ccf3a3SEmmanuel Vadot
139c9ccf3a3SEmmanuel VadotadditionalProperties: false
140c9ccf3a3SEmmanuel Vadot
141c9ccf3a3SEmmanuel Vadotexamples:
142c9ccf3a3SEmmanuel Vadot  - |
143c9ccf3a3SEmmanuel Vadot    pinctrl@7f008000 {
144c9ccf3a3SEmmanuel Vadot        compatible = "samsung,s3c64xx-pinctrl";
145c9ccf3a3SEmmanuel Vadot        reg = <0x7f008000 0x1000>;
146c9ccf3a3SEmmanuel Vadot        interrupt-parent = <&vic1>;
147c9ccf3a3SEmmanuel Vadot        interrupts = <21>;
148c9ccf3a3SEmmanuel Vadot
149c9ccf3a3SEmmanuel Vadot        wakeup-interrupt-controller {
150c9ccf3a3SEmmanuel Vadot            compatible = "samsung,s3c64xx-wakeup-eint";
151c9ccf3a3SEmmanuel Vadot            interrupts-extended = <&vic0 0>,
152c9ccf3a3SEmmanuel Vadot                                  <&vic0 1>,
153c9ccf3a3SEmmanuel Vadot                                  <&vic1 0>,
154c9ccf3a3SEmmanuel Vadot                                  <&vic1 1>;
155c9ccf3a3SEmmanuel Vadot        };
156c9ccf3a3SEmmanuel Vadot
157c9ccf3a3SEmmanuel Vadot        /* Pin bank with external GPIO or muxed external wake-up interrupts */
158c9ccf3a3SEmmanuel Vadot        gpa-gpio-bank {
159c9ccf3a3SEmmanuel Vadot            gpio-controller;
160c9ccf3a3SEmmanuel Vadot            #gpio-cells = <2>;
161c9ccf3a3SEmmanuel Vadot            interrupt-controller;
162c9ccf3a3SEmmanuel Vadot            #interrupt-cells = <2>;
163c9ccf3a3SEmmanuel Vadot        };
164c9ccf3a3SEmmanuel Vadot
165c9ccf3a3SEmmanuel Vadot        // ...
166c9ccf3a3SEmmanuel Vadot
167c9ccf3a3SEmmanuel Vadot        uart0-data-pins {
168c9ccf3a3SEmmanuel Vadot            samsung,pins = "gpa-0", "gpa-1";
1697ef62cebSEmmanuel Vadot            samsung,pin-function = <2>;
1707ef62cebSEmmanuel Vadot            samsung,pin-pud = <0>;
171c9ccf3a3SEmmanuel Vadot        };
172c9ccf3a3SEmmanuel Vadot
173c9ccf3a3SEmmanuel Vadot        // ...
174c9ccf3a3SEmmanuel Vadot    };
175c9ccf3a3SEmmanuel Vadot
176c9ccf3a3SEmmanuel Vadot  - |
177c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
178c9ccf3a3SEmmanuel Vadot
179c9ccf3a3SEmmanuel Vadot    pinctrl@11400000 {
180c9ccf3a3SEmmanuel Vadot        compatible = "samsung,exynos4210-pinctrl";
181c9ccf3a3SEmmanuel Vadot        reg = <0x11400000 0x1000>;
182c9ccf3a3SEmmanuel Vadot        interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
183c9ccf3a3SEmmanuel Vadot
184c9ccf3a3SEmmanuel Vadot        pinctrl-names = "default";
185c9ccf3a3SEmmanuel Vadot        pinctrl-0 = <&sleep0>;
186c9ccf3a3SEmmanuel Vadot
187c9ccf3a3SEmmanuel Vadot        /* Pin bank with external GPIO or muxed external wake-up interrupts */
188c9ccf3a3SEmmanuel Vadot        gpa0-gpio-bank {
189c9ccf3a3SEmmanuel Vadot            gpio-controller;
190c9ccf3a3SEmmanuel Vadot            #gpio-cells = <2>;
191c9ccf3a3SEmmanuel Vadot            interrupt-controller;
192c9ccf3a3SEmmanuel Vadot            #interrupt-cells = <2>;
193c9ccf3a3SEmmanuel Vadot        };
194c9ccf3a3SEmmanuel Vadot
195c9ccf3a3SEmmanuel Vadot        // ...
196c9ccf3a3SEmmanuel Vadot
197c9ccf3a3SEmmanuel Vadot        uart0-data-pins {
198c9ccf3a3SEmmanuel Vadot            samsung,pins = "gpa0-0", "gpa0-1";
1997ef62cebSEmmanuel Vadot            samsung,pin-function = <2>;
2007ef62cebSEmmanuel Vadot            samsung,pin-pud = <0>;
2017ef62cebSEmmanuel Vadot            samsung,pin-drv = <0>;
202c9ccf3a3SEmmanuel Vadot        };
203c9ccf3a3SEmmanuel Vadot
204c9ccf3a3SEmmanuel Vadot        // ...
205c9ccf3a3SEmmanuel Vadot
206c9ccf3a3SEmmanuel Vadot        sleep0: sleep-state {
207c9ccf3a3SEmmanuel Vadot            gpa0-0-pin {
208c9ccf3a3SEmmanuel Vadot                samsung,pins = "gpa0-0";
2097ef62cebSEmmanuel Vadot                samsung,pin-con-pdn = <2>;
2107ef62cebSEmmanuel Vadot                samsung,pin-pud-pdn = <0>;
211c9ccf3a3SEmmanuel Vadot            };
212c9ccf3a3SEmmanuel Vadot
213c9ccf3a3SEmmanuel Vadot            gpa0-1-pin {
214c9ccf3a3SEmmanuel Vadot                samsung,pins = "gpa0-1";
2157ef62cebSEmmanuel Vadot                samsung,pin-con-pdn = <0>;
2167ef62cebSEmmanuel Vadot                samsung,pin-pud-pdn = <0>;
217c9ccf3a3SEmmanuel Vadot            };
218c9ccf3a3SEmmanuel Vadot
219c9ccf3a3SEmmanuel Vadot            // ...
220c9ccf3a3SEmmanuel Vadot        };
221c9ccf3a3SEmmanuel Vadot    };
222c9ccf3a3SEmmanuel Vadot
223c9ccf3a3SEmmanuel Vadot  - |
224c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
225c9ccf3a3SEmmanuel Vadot
226c9ccf3a3SEmmanuel Vadot    pinctrl@11000000 {
227c9ccf3a3SEmmanuel Vadot        compatible = "samsung,exynos4210-pinctrl";
228c9ccf3a3SEmmanuel Vadot        reg = <0x11000000 0x1000>;
229c9ccf3a3SEmmanuel Vadot        interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
230c9ccf3a3SEmmanuel Vadot
231c9ccf3a3SEmmanuel Vadot        wakeup-interrupt-controller {
232c9ccf3a3SEmmanuel Vadot            compatible = "samsung,exynos4210-wakeup-eint";
233c9ccf3a3SEmmanuel Vadot            interrupt-parent = <&gic>;
234c9ccf3a3SEmmanuel Vadot            interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
235c9ccf3a3SEmmanuel Vadot        };
236c9ccf3a3SEmmanuel Vadot
237c9ccf3a3SEmmanuel Vadot        /* Pin bank with external GPIO or muxed external wake-up interrupts */
238c9ccf3a3SEmmanuel Vadot        gpj0-gpio-bank {
239c9ccf3a3SEmmanuel Vadot            gpio-controller;
240c9ccf3a3SEmmanuel Vadot            #gpio-cells = <2>;
241c9ccf3a3SEmmanuel Vadot            interrupt-controller;
242c9ccf3a3SEmmanuel Vadot            #interrupt-cells = <2>;
243c9ccf3a3SEmmanuel Vadot        };
244c9ccf3a3SEmmanuel Vadot
245c9ccf3a3SEmmanuel Vadot        /* Pin bank without external interrupts */
246c9ccf3a3SEmmanuel Vadot        gpy0-gpio-bank {
247c9ccf3a3SEmmanuel Vadot            gpio-controller;
248c9ccf3a3SEmmanuel Vadot            #gpio-cells = <2>;
249c9ccf3a3SEmmanuel Vadot        };
250c9ccf3a3SEmmanuel Vadot
251c9ccf3a3SEmmanuel Vadot        /* Pin bank with external direct wake-up interrupts */
252c9ccf3a3SEmmanuel Vadot        gpx0-gpio-bank {
253c9ccf3a3SEmmanuel Vadot            gpio-controller;
254c9ccf3a3SEmmanuel Vadot            #gpio-cells = <2>;
255c9ccf3a3SEmmanuel Vadot
256c9ccf3a3SEmmanuel Vadot            interrupt-controller;
257c9ccf3a3SEmmanuel Vadot            interrupt-parent = <&gic>;
258c9ccf3a3SEmmanuel Vadot            interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
259c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
260c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
261c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
262c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
263c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
264c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
265c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
266c9ccf3a3SEmmanuel Vadot            #interrupt-cells = <2>;
267c9ccf3a3SEmmanuel Vadot        };
268c9ccf3a3SEmmanuel Vadot
269c9ccf3a3SEmmanuel Vadot        // ...
270c9ccf3a3SEmmanuel Vadot
271c9ccf3a3SEmmanuel Vadot        sd0-clk-pins {
272c9ccf3a3SEmmanuel Vadot            samsung,pins = "gpk0-0";
2737ef62cebSEmmanuel Vadot            samsung,pin-function = <2>;
2747ef62cebSEmmanuel Vadot            samsung,pin-pud = <0>;
2757ef62cebSEmmanuel Vadot            samsung,pin-drv = <3>;
276c9ccf3a3SEmmanuel Vadot        };
277c9ccf3a3SEmmanuel Vadot
278c9ccf3a3SEmmanuel Vadot        sd4-bus-width8-pins {
279c9ccf3a3SEmmanuel Vadot            part-1-pins {
280c9ccf3a3SEmmanuel Vadot                samsung,pins = "gpk0-3", "gpk0-4",
281c9ccf3a3SEmmanuel Vadot                               "gpk0-5", "gpk0-6";
2827ef62cebSEmmanuel Vadot                samsung,pin-function = <3>;
2837ef62cebSEmmanuel Vadot                samsung,pin-pud = <3>;
2847ef62cebSEmmanuel Vadot                samsung,pin-drv = <3>;
285c9ccf3a3SEmmanuel Vadot            };
286c9ccf3a3SEmmanuel Vadot
287c9ccf3a3SEmmanuel Vadot            part-2-pins {
288c9ccf3a3SEmmanuel Vadot                samsung,pins = "gpk1-3", "gpk1-4",
289c9ccf3a3SEmmanuel Vadot                               "gpk1-5", "gpk1-6";
2907ef62cebSEmmanuel Vadot                samsung,pin-function = <4>;
2917ef62cebSEmmanuel Vadot                samsung,pin-pud = <3>;
2927ef62cebSEmmanuel Vadot                samsung,pin-drv = <3>;
293c9ccf3a3SEmmanuel Vadot            };
294c9ccf3a3SEmmanuel Vadot        };
295c9ccf3a3SEmmanuel Vadot
296c9ccf3a3SEmmanuel Vadot        // ...
297c9ccf3a3SEmmanuel Vadot
298c9ccf3a3SEmmanuel Vadot        otg-gp-pins {
299c9ccf3a3SEmmanuel Vadot            samsung,pins = "gpx3-3";
3007ef62cebSEmmanuel Vadot            samsung,pin-function = <1>;
3017ef62cebSEmmanuel Vadot            samsung,pin-pud = <0>;
3027ef62cebSEmmanuel Vadot            samsung,pin-drv = <0>;
303c9ccf3a3SEmmanuel Vadot            samsung,pin-val = <0>;
304c9ccf3a3SEmmanuel Vadot        };
305c9ccf3a3SEmmanuel Vadot    };
306c9ccf3a3SEmmanuel Vadot
307c9ccf3a3SEmmanuel Vadot  - |
308c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
309c9ccf3a3SEmmanuel Vadot
310c9ccf3a3SEmmanuel Vadot    pinctrl@10580000 {
311c9ccf3a3SEmmanuel Vadot        compatible = "samsung,exynos5433-pinctrl";
312c9ccf3a3SEmmanuel Vadot        reg = <0x10580000 0x1a20>, <0x11090000 0x100>;
313c9ccf3a3SEmmanuel Vadot
314c9ccf3a3SEmmanuel Vadot        pinctrl-names = "default";
315c9ccf3a3SEmmanuel Vadot        pinctrl-0 = <&initial_alive>;
316c9ccf3a3SEmmanuel Vadot
317c9ccf3a3SEmmanuel Vadot        wakeup-interrupt-controller {
318*8d13bc63SEmmanuel Vadot            compatible = "samsung,exynos5433-wakeup-eint",
319*8d13bc63SEmmanuel Vadot                         "samsung,exynos7-wakeup-eint";
320c9ccf3a3SEmmanuel Vadot            interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
321c9ccf3a3SEmmanuel Vadot        };
322c9ccf3a3SEmmanuel Vadot
323c9ccf3a3SEmmanuel Vadot        /* Pin bank with external direct wake-up interrupts */
324c9ccf3a3SEmmanuel Vadot        gpa0-gpio-bank {
325c9ccf3a3SEmmanuel Vadot            gpio-controller;
326c9ccf3a3SEmmanuel Vadot            #gpio-cells = <2>;
327c9ccf3a3SEmmanuel Vadot
328c9ccf3a3SEmmanuel Vadot            interrupt-controller;
329c9ccf3a3SEmmanuel Vadot            interrupt-parent = <&gic>;
330c9ccf3a3SEmmanuel Vadot            interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
331c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
332c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
333c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
334c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
335c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
336c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
337c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
338c9ccf3a3SEmmanuel Vadot            #interrupt-cells = <2>;
339c9ccf3a3SEmmanuel Vadot        };
340c9ccf3a3SEmmanuel Vadot
341c9ccf3a3SEmmanuel Vadot        // ...
342c9ccf3a3SEmmanuel Vadot
343c9ccf3a3SEmmanuel Vadot        te-irq-pins {
344c9ccf3a3SEmmanuel Vadot            samsung,pins = "gpf1-3";
345c9ccf3a3SEmmanuel Vadot            samsung,pin-function = <0xf>;
346c9ccf3a3SEmmanuel Vadot        };
347c9ccf3a3SEmmanuel Vadot
348c9ccf3a3SEmmanuel Vadot        // ..
349c9ccf3a3SEmmanuel Vadot
350c9ccf3a3SEmmanuel Vadot        initial_alive: initial-state {
351c9ccf3a3SEmmanuel Vadot            gpa0-0-pin {
352c9ccf3a3SEmmanuel Vadot                samsung,pins = "gpa0-0";
3537ef62cebSEmmanuel Vadot                samsung,pin-function = <0>;
3547ef62cebSEmmanuel Vadot                samsung,pin-pud = <1>;
3557ef62cebSEmmanuel Vadot                samsung,pin-drv = <0>;
356c9ccf3a3SEmmanuel Vadot            };
357c9ccf3a3SEmmanuel Vadot
358c9ccf3a3SEmmanuel Vadot            // ...
359c9ccf3a3SEmmanuel Vadot        };
360c9ccf3a3SEmmanuel Vadot    };
361c9ccf3a3SEmmanuel Vadot
362c9ccf3a3SEmmanuel Vadot  - |
363c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
364c9ccf3a3SEmmanuel Vadot
365c9ccf3a3SEmmanuel Vadot    pinctrl@114b0000 {
366c9ccf3a3SEmmanuel Vadot        compatible = "samsung,exynos5433-pinctrl";
367c9ccf3a3SEmmanuel Vadot        reg = <0x114b0000 0x1000>;
368c9ccf3a3SEmmanuel Vadot        interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
369c9ccf3a3SEmmanuel Vadot        power-domains = <&pd_aud>;
370c9ccf3a3SEmmanuel Vadot
371c9ccf3a3SEmmanuel Vadot        /* Pin bank with external GPIO or muxed external wake-up interrupts */
372c9ccf3a3SEmmanuel Vadot        gpz0-gpio-bank {
373c9ccf3a3SEmmanuel Vadot            gpio-controller;
374c9ccf3a3SEmmanuel Vadot            #gpio-cells = <2>;
375c9ccf3a3SEmmanuel Vadot            interrupt-controller;
376c9ccf3a3SEmmanuel Vadot            #interrupt-cells = <2>;
377c9ccf3a3SEmmanuel Vadot        };
378c9ccf3a3SEmmanuel Vadot
379c9ccf3a3SEmmanuel Vadot        // ...
380c9ccf3a3SEmmanuel Vadot
381c9ccf3a3SEmmanuel Vadot        i2s0-bus-pins {
382c9ccf3a3SEmmanuel Vadot            samsung,pins = "gpz0-0", "gpz0-1", "gpz0-2", "gpz0-3",
383c9ccf3a3SEmmanuel Vadot                           "gpz0-4", "gpz0-5", "gpz0-6";
3847ef62cebSEmmanuel Vadot            samsung,pin-function = <2>;
3857ef62cebSEmmanuel Vadot            samsung,pin-pud = <0>;
3867ef62cebSEmmanuel Vadot            samsung,pin-drv = <0>;
387c9ccf3a3SEmmanuel Vadot        };
388c9ccf3a3SEmmanuel Vadot
389c9ccf3a3SEmmanuel Vadot        // ...
390c9ccf3a3SEmmanuel Vadot    };
391