xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/samsung,pinctrl.yaml (revision 7ef62cebc2f965b0f640263e179276928885e33d)
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:
38c9ccf3a3SEmmanuel Vadot      - samsung,s3c2412-pinctrl
39c9ccf3a3SEmmanuel Vadot      - samsung,s3c2416-pinctrl
40c9ccf3a3SEmmanuel Vadot      - samsung,s3c2440-pinctrl
41c9ccf3a3SEmmanuel Vadot      - samsung,s3c2450-pinctrl
42c9ccf3a3SEmmanuel Vadot      - samsung,s3c64xx-pinctrl
43c9ccf3a3SEmmanuel Vadot      - samsung,s5pv210-pinctrl
44c9ccf3a3SEmmanuel Vadot      - samsung,exynos3250-pinctrl
45c9ccf3a3SEmmanuel Vadot      - samsung,exynos4210-pinctrl
46c9ccf3a3SEmmanuel Vadot      - samsung,exynos4x12-pinctrl
47c9ccf3a3SEmmanuel Vadot      - samsung,exynos5250-pinctrl
48c9ccf3a3SEmmanuel Vadot      - samsung,exynos5260-pinctrl
49c9ccf3a3SEmmanuel Vadot      - samsung,exynos5410-pinctrl
50c9ccf3a3SEmmanuel Vadot      - samsung,exynos5420-pinctrl
51c9ccf3a3SEmmanuel Vadot      - samsung,exynos5433-pinctrl
52c9ccf3a3SEmmanuel Vadot      - samsung,exynos7-pinctrl
53c9ccf3a3SEmmanuel Vadot      - samsung,exynos7885-pinctrl
54c9ccf3a3SEmmanuel Vadot      - samsung,exynos850-pinctrl
55c9ccf3a3SEmmanuel Vadot      - samsung,exynosautov9-pinctrl
56c9ccf3a3SEmmanuel Vadot      - tesla,fsd-pinctrl
57c9ccf3a3SEmmanuel Vadot
58c9ccf3a3SEmmanuel Vadot  interrupts:
59c9ccf3a3SEmmanuel Vadot    description:
60c9ccf3a3SEmmanuel Vadot      Required for GPIO banks supporting external GPIO interrupts.
61c9ccf3a3SEmmanuel Vadot    maxItems: 1
62c9ccf3a3SEmmanuel Vadot
63c9ccf3a3SEmmanuel Vadot  power-domains:
64c9ccf3a3SEmmanuel Vadot    maxItems: 1
65c9ccf3a3SEmmanuel Vadot
66c9ccf3a3SEmmanuel Vadot  reg:
67c9ccf3a3SEmmanuel Vadot    description:
68c9ccf3a3SEmmanuel Vadot      Second base address of the pin controller if the specific registers of
69c9ccf3a3SEmmanuel Vadot      the pin controller are separated into the different base address.
70c9ccf3a3SEmmanuel Vadot      Only certain banks of certain pin controller might need it.
71c9ccf3a3SEmmanuel Vadot    minItems: 1
72c9ccf3a3SEmmanuel Vadot    maxItems: 2
73c9ccf3a3SEmmanuel Vadot
74c9ccf3a3SEmmanuel Vadot  wakeup-interrupt-controller:
75c9ccf3a3SEmmanuel Vadot    $ref: samsung,pinctrl-wakeup-interrupt.yaml
76c9ccf3a3SEmmanuel Vadot
77c9ccf3a3SEmmanuel VadotpatternProperties:
78c9ccf3a3SEmmanuel Vadot  "^[a-z]+[0-9]*-gpio-bank$":
79c9ccf3a3SEmmanuel Vadot    description:
80c9ccf3a3SEmmanuel Vadot      Pin banks of the controller are represented by child nodes of the
81c9ccf3a3SEmmanuel Vadot      controller node. Bank name is taken from name of the node.
82c9ccf3a3SEmmanuel Vadot    $ref: samsung,pinctrl-gpio-bank.yaml
83c9ccf3a3SEmmanuel Vadot
84c9ccf3a3SEmmanuel Vadot  "^[a-z0-9-]+-pins$":
85c9ccf3a3SEmmanuel Vadot    oneOf:
86c9ccf3a3SEmmanuel Vadot      - $ref: samsung,pinctrl-pins-cfg.yaml
87c9ccf3a3SEmmanuel Vadot        required:
88c9ccf3a3SEmmanuel Vadot          - samsung,pins
89c9ccf3a3SEmmanuel Vadot      - type: object
90c9ccf3a3SEmmanuel Vadot        patternProperties:
91c9ccf3a3SEmmanuel Vadot          "^[a-z0-9-]+-pins$":
92c9ccf3a3SEmmanuel Vadot            $ref: samsung,pinctrl-pins-cfg.yaml
93c9ccf3a3SEmmanuel Vadot
94c9ccf3a3SEmmanuel Vadot        additionalProperties: false
95c9ccf3a3SEmmanuel Vadot
96c9ccf3a3SEmmanuel Vadot  "^(initial|sleep)-state$":
97*7ef62cebSEmmanuel Vadot    type: object
98*7ef62cebSEmmanuel Vadot    additionalProperties: false
99*7ef62cebSEmmanuel Vadot
100c9ccf3a3SEmmanuel Vadot    patternProperties:
101c9ccf3a3SEmmanuel Vadot      "^(pin-[a-z0-9-]+|[a-z0-9-]+-pin)$":
102c9ccf3a3SEmmanuel Vadot        $ref: samsung,pinctrl-pins-cfg.yaml
103c9ccf3a3SEmmanuel Vadot
104c9ccf3a3SEmmanuel Vadot        properties:
105c9ccf3a3SEmmanuel Vadot          samsung,pins:
106c9ccf3a3SEmmanuel Vadot            description: See samsung,pinctrl-pins-cfg.yaml
107c9ccf3a3SEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/string-array
108c9ccf3a3SEmmanuel Vadot            maxItems: 1
109c9ccf3a3SEmmanuel Vadot
110c9ccf3a3SEmmanuel Vadot        required:
111c9ccf3a3SEmmanuel Vadot          - samsung,pins
112c9ccf3a3SEmmanuel Vadot
113c9ccf3a3SEmmanuel Vadot        unevaluatedProperties: false
114c9ccf3a3SEmmanuel Vadot
115c9ccf3a3SEmmanuel Vadotrequired:
116c9ccf3a3SEmmanuel Vadot  - compatible
117c9ccf3a3SEmmanuel Vadot  - reg
118c9ccf3a3SEmmanuel Vadot
119c9ccf3a3SEmmanuel VadotallOf:
120c9ccf3a3SEmmanuel Vadot  - $ref: "pinctrl.yaml#"
121c9ccf3a3SEmmanuel Vadot  - if:
122c9ccf3a3SEmmanuel Vadot      properties:
123c9ccf3a3SEmmanuel Vadot        compatible:
124c9ccf3a3SEmmanuel Vadot          contains:
125c9ccf3a3SEmmanuel Vadot            const: samsung,exynos5433-pinctrl
126c9ccf3a3SEmmanuel Vadot    then:
127c9ccf3a3SEmmanuel Vadot      properties:
128c9ccf3a3SEmmanuel Vadot        reg:
129c9ccf3a3SEmmanuel Vadot          minItems: 1
130c9ccf3a3SEmmanuel Vadot          maxItems: 2
131c9ccf3a3SEmmanuel Vadot    else:
132c9ccf3a3SEmmanuel Vadot      properties:
133c9ccf3a3SEmmanuel Vadot        reg:
134c9ccf3a3SEmmanuel Vadot          minItems: 1
135c9ccf3a3SEmmanuel Vadot          maxItems: 1
136c9ccf3a3SEmmanuel Vadot
137c9ccf3a3SEmmanuel VadotadditionalProperties: false
138c9ccf3a3SEmmanuel Vadot
139c9ccf3a3SEmmanuel Vadotexamples:
140c9ccf3a3SEmmanuel Vadot  - |
141c9ccf3a3SEmmanuel Vadot    pinctrl@7f008000 {
142c9ccf3a3SEmmanuel Vadot        compatible = "samsung,s3c64xx-pinctrl";
143c9ccf3a3SEmmanuel Vadot        reg = <0x7f008000 0x1000>;
144c9ccf3a3SEmmanuel Vadot        interrupt-parent = <&vic1>;
145c9ccf3a3SEmmanuel Vadot        interrupts = <21>;
146c9ccf3a3SEmmanuel Vadot
147c9ccf3a3SEmmanuel Vadot        wakeup-interrupt-controller {
148c9ccf3a3SEmmanuel Vadot            compatible = "samsung,s3c64xx-wakeup-eint";
149c9ccf3a3SEmmanuel Vadot            interrupts-extended = <&vic0 0>,
150c9ccf3a3SEmmanuel Vadot                                  <&vic0 1>,
151c9ccf3a3SEmmanuel Vadot                                  <&vic1 0>,
152c9ccf3a3SEmmanuel Vadot                                  <&vic1 1>;
153c9ccf3a3SEmmanuel Vadot        };
154c9ccf3a3SEmmanuel Vadot
155c9ccf3a3SEmmanuel Vadot        /* Pin bank with external GPIO or muxed external wake-up interrupts */
156c9ccf3a3SEmmanuel Vadot        gpa-gpio-bank {
157c9ccf3a3SEmmanuel Vadot            gpio-controller;
158c9ccf3a3SEmmanuel Vadot            #gpio-cells = <2>;
159c9ccf3a3SEmmanuel Vadot            interrupt-controller;
160c9ccf3a3SEmmanuel Vadot            #interrupt-cells = <2>;
161c9ccf3a3SEmmanuel Vadot        };
162c9ccf3a3SEmmanuel Vadot
163c9ccf3a3SEmmanuel Vadot        // ...
164c9ccf3a3SEmmanuel Vadot
165c9ccf3a3SEmmanuel Vadot        uart0-data-pins {
166c9ccf3a3SEmmanuel Vadot            samsung,pins = "gpa-0", "gpa-1";
167*7ef62cebSEmmanuel Vadot            samsung,pin-function = <2>;
168*7ef62cebSEmmanuel Vadot            samsung,pin-pud = <0>;
169c9ccf3a3SEmmanuel Vadot        };
170c9ccf3a3SEmmanuel Vadot
171c9ccf3a3SEmmanuel Vadot        // ...
172c9ccf3a3SEmmanuel Vadot    };
173c9ccf3a3SEmmanuel Vadot
174c9ccf3a3SEmmanuel Vadot  - |
175c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
176c9ccf3a3SEmmanuel Vadot
177c9ccf3a3SEmmanuel Vadot    pinctrl@11400000 {
178c9ccf3a3SEmmanuel Vadot        compatible = "samsung,exynos4210-pinctrl";
179c9ccf3a3SEmmanuel Vadot        reg = <0x11400000 0x1000>;
180c9ccf3a3SEmmanuel Vadot        interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
181c9ccf3a3SEmmanuel Vadot
182c9ccf3a3SEmmanuel Vadot        pinctrl-names = "default";
183c9ccf3a3SEmmanuel Vadot        pinctrl-0 = <&sleep0>;
184c9ccf3a3SEmmanuel Vadot
185c9ccf3a3SEmmanuel Vadot        /* Pin bank with external GPIO or muxed external wake-up interrupts */
186c9ccf3a3SEmmanuel Vadot        gpa0-gpio-bank {
187c9ccf3a3SEmmanuel Vadot            gpio-controller;
188c9ccf3a3SEmmanuel Vadot            #gpio-cells = <2>;
189c9ccf3a3SEmmanuel Vadot            interrupt-controller;
190c9ccf3a3SEmmanuel Vadot            #interrupt-cells = <2>;
191c9ccf3a3SEmmanuel Vadot        };
192c9ccf3a3SEmmanuel Vadot
193c9ccf3a3SEmmanuel Vadot        // ...
194c9ccf3a3SEmmanuel Vadot
195c9ccf3a3SEmmanuel Vadot        uart0-data-pins {
196c9ccf3a3SEmmanuel Vadot            samsung,pins = "gpa0-0", "gpa0-1";
197*7ef62cebSEmmanuel Vadot            samsung,pin-function = <2>;
198*7ef62cebSEmmanuel Vadot            samsung,pin-pud = <0>;
199*7ef62cebSEmmanuel Vadot            samsung,pin-drv = <0>;
200c9ccf3a3SEmmanuel Vadot        };
201c9ccf3a3SEmmanuel Vadot
202c9ccf3a3SEmmanuel Vadot        // ...
203c9ccf3a3SEmmanuel Vadot
204c9ccf3a3SEmmanuel Vadot        sleep0: sleep-state {
205c9ccf3a3SEmmanuel Vadot            gpa0-0-pin {
206c9ccf3a3SEmmanuel Vadot                samsung,pins = "gpa0-0";
207*7ef62cebSEmmanuel Vadot                samsung,pin-con-pdn = <2>;
208*7ef62cebSEmmanuel Vadot                samsung,pin-pud-pdn = <0>;
209c9ccf3a3SEmmanuel Vadot            };
210c9ccf3a3SEmmanuel Vadot
211c9ccf3a3SEmmanuel Vadot            gpa0-1-pin {
212c9ccf3a3SEmmanuel Vadot                samsung,pins = "gpa0-1";
213*7ef62cebSEmmanuel Vadot                samsung,pin-con-pdn = <0>;
214*7ef62cebSEmmanuel Vadot                samsung,pin-pud-pdn = <0>;
215c9ccf3a3SEmmanuel Vadot            };
216c9ccf3a3SEmmanuel Vadot
217c9ccf3a3SEmmanuel Vadot            // ...
218c9ccf3a3SEmmanuel Vadot        };
219c9ccf3a3SEmmanuel Vadot    };
220c9ccf3a3SEmmanuel Vadot
221c9ccf3a3SEmmanuel Vadot  - |
222c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
223c9ccf3a3SEmmanuel Vadot
224c9ccf3a3SEmmanuel Vadot    pinctrl@11000000 {
225c9ccf3a3SEmmanuel Vadot        compatible = "samsung,exynos4210-pinctrl";
226c9ccf3a3SEmmanuel Vadot        reg = <0x11000000 0x1000>;
227c9ccf3a3SEmmanuel Vadot        interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
228c9ccf3a3SEmmanuel Vadot
229c9ccf3a3SEmmanuel Vadot        wakeup-interrupt-controller {
230c9ccf3a3SEmmanuel Vadot            compatible = "samsung,exynos4210-wakeup-eint";
231c9ccf3a3SEmmanuel Vadot            interrupt-parent = <&gic>;
232c9ccf3a3SEmmanuel Vadot            interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
233c9ccf3a3SEmmanuel Vadot        };
234c9ccf3a3SEmmanuel Vadot
235c9ccf3a3SEmmanuel Vadot        /* Pin bank with external GPIO or muxed external wake-up interrupts */
236c9ccf3a3SEmmanuel Vadot        gpj0-gpio-bank {
237c9ccf3a3SEmmanuel Vadot            gpio-controller;
238c9ccf3a3SEmmanuel Vadot            #gpio-cells = <2>;
239c9ccf3a3SEmmanuel Vadot            interrupt-controller;
240c9ccf3a3SEmmanuel Vadot            #interrupt-cells = <2>;
241c9ccf3a3SEmmanuel Vadot        };
242c9ccf3a3SEmmanuel Vadot
243c9ccf3a3SEmmanuel Vadot        /* Pin bank without external interrupts */
244c9ccf3a3SEmmanuel Vadot        gpy0-gpio-bank {
245c9ccf3a3SEmmanuel Vadot            gpio-controller;
246c9ccf3a3SEmmanuel Vadot            #gpio-cells = <2>;
247c9ccf3a3SEmmanuel Vadot        };
248c9ccf3a3SEmmanuel Vadot
249c9ccf3a3SEmmanuel Vadot        /* Pin bank with external direct wake-up interrupts */
250c9ccf3a3SEmmanuel Vadot        gpx0-gpio-bank {
251c9ccf3a3SEmmanuel Vadot            gpio-controller;
252c9ccf3a3SEmmanuel Vadot            #gpio-cells = <2>;
253c9ccf3a3SEmmanuel Vadot
254c9ccf3a3SEmmanuel Vadot            interrupt-controller;
255c9ccf3a3SEmmanuel Vadot            interrupt-parent = <&gic>;
256c9ccf3a3SEmmanuel Vadot            interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
257c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
258c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
259c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
260c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
261c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
262c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
263c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
264c9ccf3a3SEmmanuel Vadot            #interrupt-cells = <2>;
265c9ccf3a3SEmmanuel Vadot        };
266c9ccf3a3SEmmanuel Vadot
267c9ccf3a3SEmmanuel Vadot        // ...
268c9ccf3a3SEmmanuel Vadot
269c9ccf3a3SEmmanuel Vadot        sd0-clk-pins {
270c9ccf3a3SEmmanuel Vadot            samsung,pins = "gpk0-0";
271*7ef62cebSEmmanuel Vadot            samsung,pin-function = <2>;
272*7ef62cebSEmmanuel Vadot            samsung,pin-pud = <0>;
273*7ef62cebSEmmanuel Vadot            samsung,pin-drv = <3>;
274c9ccf3a3SEmmanuel Vadot        };
275c9ccf3a3SEmmanuel Vadot
276c9ccf3a3SEmmanuel Vadot        sd4-bus-width8-pins {
277c9ccf3a3SEmmanuel Vadot            part-1-pins {
278c9ccf3a3SEmmanuel Vadot                samsung,pins = "gpk0-3", "gpk0-4",
279c9ccf3a3SEmmanuel Vadot                               "gpk0-5", "gpk0-6";
280*7ef62cebSEmmanuel Vadot                samsung,pin-function = <3>;
281*7ef62cebSEmmanuel Vadot                samsung,pin-pud = <3>;
282*7ef62cebSEmmanuel Vadot                samsung,pin-drv = <3>;
283c9ccf3a3SEmmanuel Vadot            };
284c9ccf3a3SEmmanuel Vadot
285c9ccf3a3SEmmanuel Vadot            part-2-pins {
286c9ccf3a3SEmmanuel Vadot                samsung,pins = "gpk1-3", "gpk1-4",
287c9ccf3a3SEmmanuel Vadot                               "gpk1-5", "gpk1-6";
288*7ef62cebSEmmanuel Vadot                samsung,pin-function = <4>;
289*7ef62cebSEmmanuel Vadot                samsung,pin-pud = <3>;
290*7ef62cebSEmmanuel Vadot                samsung,pin-drv = <3>;
291c9ccf3a3SEmmanuel Vadot            };
292c9ccf3a3SEmmanuel Vadot        };
293c9ccf3a3SEmmanuel Vadot
294c9ccf3a3SEmmanuel Vadot        // ...
295c9ccf3a3SEmmanuel Vadot
296c9ccf3a3SEmmanuel Vadot        otg-gp-pins {
297c9ccf3a3SEmmanuel Vadot            samsung,pins = "gpx3-3";
298*7ef62cebSEmmanuel Vadot            samsung,pin-function = <1>;
299*7ef62cebSEmmanuel Vadot            samsung,pin-pud = <0>;
300*7ef62cebSEmmanuel Vadot            samsung,pin-drv = <0>;
301c9ccf3a3SEmmanuel Vadot            samsung,pin-val = <0>;
302c9ccf3a3SEmmanuel Vadot        };
303c9ccf3a3SEmmanuel Vadot    };
304c9ccf3a3SEmmanuel Vadot
305c9ccf3a3SEmmanuel Vadot  - |
306c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
307c9ccf3a3SEmmanuel Vadot
308c9ccf3a3SEmmanuel Vadot    pinctrl@10580000 {
309c9ccf3a3SEmmanuel Vadot        compatible = "samsung,exynos5433-pinctrl";
310c9ccf3a3SEmmanuel Vadot        reg = <0x10580000 0x1a20>, <0x11090000 0x100>;
311c9ccf3a3SEmmanuel Vadot
312c9ccf3a3SEmmanuel Vadot        pinctrl-names = "default";
313c9ccf3a3SEmmanuel Vadot        pinctrl-0 = <&initial_alive>;
314c9ccf3a3SEmmanuel Vadot
315c9ccf3a3SEmmanuel Vadot        wakeup-interrupt-controller {
316c9ccf3a3SEmmanuel Vadot            compatible = "samsung,exynos7-wakeup-eint";
317c9ccf3a3SEmmanuel Vadot            interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
318c9ccf3a3SEmmanuel Vadot        };
319c9ccf3a3SEmmanuel Vadot
320c9ccf3a3SEmmanuel Vadot        /* Pin bank with external direct wake-up interrupts */
321c9ccf3a3SEmmanuel Vadot        gpa0-gpio-bank {
322c9ccf3a3SEmmanuel Vadot            gpio-controller;
323c9ccf3a3SEmmanuel Vadot            #gpio-cells = <2>;
324c9ccf3a3SEmmanuel Vadot
325c9ccf3a3SEmmanuel Vadot            interrupt-controller;
326c9ccf3a3SEmmanuel Vadot            interrupt-parent = <&gic>;
327c9ccf3a3SEmmanuel Vadot            interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
328c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
329c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
330c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
331c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
332c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
333c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
334c9ccf3a3SEmmanuel Vadot                         <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
335c9ccf3a3SEmmanuel Vadot            #interrupt-cells = <2>;
336c9ccf3a3SEmmanuel Vadot        };
337c9ccf3a3SEmmanuel Vadot
338c9ccf3a3SEmmanuel Vadot        // ...
339c9ccf3a3SEmmanuel Vadot
340c9ccf3a3SEmmanuel Vadot        te-irq-pins {
341c9ccf3a3SEmmanuel Vadot            samsung,pins = "gpf1-3";
342c9ccf3a3SEmmanuel Vadot            samsung,pin-function = <0xf>;
343c9ccf3a3SEmmanuel Vadot        };
344c9ccf3a3SEmmanuel Vadot
345c9ccf3a3SEmmanuel Vadot        // ..
346c9ccf3a3SEmmanuel Vadot
347c9ccf3a3SEmmanuel Vadot        initial_alive: initial-state {
348c9ccf3a3SEmmanuel Vadot            gpa0-0-pin {
349c9ccf3a3SEmmanuel Vadot                samsung,pins = "gpa0-0";
350*7ef62cebSEmmanuel Vadot                samsung,pin-function = <0>;
351*7ef62cebSEmmanuel Vadot                samsung,pin-pud = <1>;
352*7ef62cebSEmmanuel Vadot                samsung,pin-drv = <0>;
353c9ccf3a3SEmmanuel Vadot            };
354c9ccf3a3SEmmanuel Vadot
355c9ccf3a3SEmmanuel Vadot            // ...
356c9ccf3a3SEmmanuel Vadot        };
357c9ccf3a3SEmmanuel Vadot    };
358c9ccf3a3SEmmanuel Vadot
359c9ccf3a3SEmmanuel Vadot  - |
360c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
361c9ccf3a3SEmmanuel Vadot
362c9ccf3a3SEmmanuel Vadot    pinctrl@114b0000 {
363c9ccf3a3SEmmanuel Vadot        compatible = "samsung,exynos5433-pinctrl";
364c9ccf3a3SEmmanuel Vadot        reg = <0x114b0000 0x1000>;
365c9ccf3a3SEmmanuel Vadot        interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
366c9ccf3a3SEmmanuel Vadot        power-domains = <&pd_aud>;
367c9ccf3a3SEmmanuel Vadot
368c9ccf3a3SEmmanuel Vadot        /* Pin bank with external GPIO or muxed external wake-up interrupts */
369c9ccf3a3SEmmanuel Vadot        gpz0-gpio-bank {
370c9ccf3a3SEmmanuel Vadot            gpio-controller;
371c9ccf3a3SEmmanuel Vadot            #gpio-cells = <2>;
372c9ccf3a3SEmmanuel Vadot            interrupt-controller;
373c9ccf3a3SEmmanuel Vadot            #interrupt-cells = <2>;
374c9ccf3a3SEmmanuel Vadot        };
375c9ccf3a3SEmmanuel Vadot
376c9ccf3a3SEmmanuel Vadot        // ...
377c9ccf3a3SEmmanuel Vadot
378c9ccf3a3SEmmanuel Vadot        i2s0-bus-pins {
379c9ccf3a3SEmmanuel Vadot            samsung,pins = "gpz0-0", "gpz0-1", "gpz0-2", "gpz0-3",
380c9ccf3a3SEmmanuel Vadot                           "gpz0-4", "gpz0-5", "gpz0-6";
381*7ef62cebSEmmanuel Vadot            samsung,pin-function = <2>;
382*7ef62cebSEmmanuel Vadot            samsung,pin-pud = <0>;
383*7ef62cebSEmmanuel Vadot            samsung,pin-drv = <0>;
384c9ccf3a3SEmmanuel Vadot        };
385c9ccf3a3SEmmanuel Vadot
386c9ccf3a3SEmmanuel Vadot        // ...
387c9ccf3a3SEmmanuel Vadot    };
388