Lines Matching +full:interrupt +full:- +full:controller
1 # SPDX-License-Identifier: GPL-2.0-only
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Samsung S3C/S5P/Exynos SoC pin controller
10 - Krzysztof Kozlowski <krzk@kernel.org>
11 - Sylwester Nawrocki <s.nawrocki@samsung.com>
12 - Tomasz Figa <tomasz.figa@gmail.com>
16 controller.
18 All the pin controller nodes should be represented in the aliases node using
21 The controller supports three types of interrupts::
22 - External GPIO interrupts (see interrupts property in pin controller node);
24 - External wake-up interrupts - multiplexed (capable of waking up the system
25 see interrupts property in external wake-up interrupt controller node -
26 samsung,pinctrl-wakeup-interrupt.yaml);
28 - External wake-up interrupts - direct (capable of waking up the system, see
29 interrupts property in every bank of pin controller with external wake-up
30 interrupt controller - samsung,pinctrl-gpio-bank.yaml).
38 - google,gs101-pinctrl
39 - samsung,s3c2412-pinctrl
40 - samsung,s3c2416-pinctrl
41 - samsung,s3c2440-pinctrl
42 - samsung,s3c2450-pinctrl
43 - samsung,s3c64xx-pinctrl
44 - samsung,s5pv210-pinctrl
45 - samsung,exynos2200-pinctrl
46 - samsung,exynos3250-pinctrl
47 - samsung,exynos4210-pinctrl
48 - samsung,exynos4x12-pinctrl
49 - samsung,exynos5250-pinctrl
50 - samsung,exynos5260-pinctrl
51 - samsung,exynos5410-pinctrl
52 - samsung,exynos5420-pinctrl
53 - samsung,exynos5433-pinctrl
54 - samsung,exynos7-pinctrl
55 - samsung,exynos7870-pinctrl
56 - samsung,exynos7885-pinctrl
57 - samsung,exynos850-pinctrl
58 - samsung,exynos8895-pinctrl
59 - samsung,exynos9810-pinctrl
60 - samsung,exynos990-pinctrl
61 - samsung,exynosautov9-pinctrl
62 - samsung,exynosautov920-pinctrl
63 - tesla,fsd-pinctrl
70 power-domains:
75 Second base address of the pin controller if the specific registers of
76 the pin controller are separated into the different base address.
77 Only certain banks of certain pin controller might need it.
84 clock-names:
86 - const: pclk
88 wakeup-interrupt-controller:
89 $ref: samsung,pinctrl-wakeup-interrupt.yaml
92 "^[a-z]+[0-9]*-gpio-bank$":
94 Pin banks of the controller are represented by child nodes of the
95 controller node. Bank name is taken from name of the node.
96 $ref: samsung,pinctrl-gpio-bank.yaml
98 "^[a-z0-9-]+-pins$":
100 - $ref: samsung,pinctrl-pins-cfg.yaml
102 - samsung,pins
103 - type: object
105 "^[a-z0-9-]+-pins$":
106 $ref: samsung,pinctrl-pins-cfg.yaml
110 "^(initial|sleep)-state$":
115 "^(pin-[a-z0-9-]+|[a-z0-9-]+-pin)$":
116 $ref: samsung,pinctrl-pins-cfg.yaml
120 description: See samsung,pinctrl-pins-cfg.yaml
121 $ref: /schemas/types.yaml#/definitions/string-array
125 - samsung,pins
130 - compatible
131 - reg
134 - $ref: pinctrl.yaml#
135 - if:
139 const: google,gs101-pinctrl
142 - clocks
143 - clock-names
147 clock-names: false
149 - if:
153 const: samsung,exynos5433-pinctrl
168 - |
170 compatible = "samsung,s3c64xx-pinctrl";
172 interrupt-parent = <&vic1>;
175 wakeup-interrupt-controller {
176 compatible = "samsung,s3c64xx-wakeup-eint";
177 interrupts-extended = <&vic0 0>,
183 /* Pin bank with external GPIO or muxed external wake-up interrupts */
184 gpa-gpio-bank {
185 gpio-controller;
186 #gpio-cells = <2>;
187 interrupt-controller;
188 #interrupt-cells = <2>;
193 uart0-data-pins {
194 samsung,pins = "gpa-0", "gpa-1";
195 samsung,pin-function = <2>;
196 samsung,pin-pud = <0>;
202 - |
203 #include <dt-bindings/interrupt-controller/arm-gic.h>
206 compatible = "samsung,exynos4210-pinctrl";
210 pinctrl-names = "default";
211 pinctrl-0 = <&sleep0>;
213 /* Pin bank with external GPIO or muxed external wake-up interrupts */
214 gpa0-gpio-bank {
215 gpio-controller;
216 #gpio-cells = <2>;
217 interrupt-controller;
218 #interrupt-cells = <2>;
223 uart0-data-pins {
224 samsung,pins = "gpa0-0", "gpa0-1";
225 samsung,pin-function = <2>;
226 samsung,pin-pud = <0>;
227 samsung,pin-drv = <0>;
232 sleep0: sleep-state {
233 gpa0-0-pin {
234 samsung,pins = "gpa0-0";
235 samsung,pin-con-pdn = <2>;
236 samsung,pin-pud-pdn = <0>;
239 gpa0-1-pin {
240 samsung,pins = "gpa0-1";
241 samsung,pin-con-pdn = <0>;
242 samsung,pin-pud-pdn = <0>;
249 - |
250 #include <dt-bindings/interrupt-controller/arm-gic.h>
253 compatible = "samsung,exynos4210-pinctrl";
257 wakeup-interrupt-controller {
258 compatible = "samsung,exynos4210-wakeup-eint";
259 interrupt-parent = <&gic>;
263 /* Pin bank with external GPIO or muxed external wake-up interrupts */
264 gpj0-gpio-bank {
265 gpio-controller;
266 #gpio-cells = <2>;
267 interrupt-controller;
268 #interrupt-cells = <2>;
272 gpy0-gpio-bank {
273 gpio-controller;
274 #gpio-cells = <2>;
277 /* Pin bank with external direct wake-up interrupts */
278 gpx0-gpio-bank {
279 gpio-controller;
280 #gpio-cells = <2>;
282 interrupt-controller;
283 interrupt-parent = <&gic>;
292 #interrupt-cells = <2>;
297 sd0-clk-pins {
298 samsung,pins = "gpk0-0";
299 samsung,pin-function = <2>;
300 samsung,pin-pud = <0>;
301 samsung,pin-drv = <3>;
304 sd4-bus-width8-pins {
305 part-1-pins {
306 samsung,pins = "gpk0-3", "gpk0-4",
307 "gpk0-5", "gpk0-6";
308 samsung,pin-function = <3>;
309 samsung,pin-pud = <3>;
310 samsung,pin-drv = <3>;
313 part-2-pins {
314 samsung,pins = "gpk1-3", "gpk1-4",
315 "gpk1-5", "gpk1-6";
316 samsung,pin-function = <4>;
317 samsung,pin-pud = <3>;
318 samsung,pin-drv = <3>;
324 otg-gp-pins {
325 samsung,pins = "gpx3-3";
326 samsung,pin-function = <1>;
327 samsung,pin-pud = <0>;
328 samsung,pin-drv = <0>;
329 samsung,pin-val = <0>;
333 - |
334 #include <dt-bindings/interrupt-controller/arm-gic.h>
337 compatible = "samsung,exynos5433-pinctrl";
340 pinctrl-names = "default";
341 pinctrl-0 = <&initial_alive>;
343 wakeup-interrupt-controller {
344 compatible = "samsung,exynos5433-wakeup-eint",
345 "samsung,exynos7-wakeup-eint";
349 /* Pin bank with external direct wake-up interrupts */
350 gpa0-gpio-bank {
351 gpio-controller;
352 #gpio-cells = <2>;
354 interrupt-controller;
355 interrupt-parent = <&gic>;
364 #interrupt-cells = <2>;
369 te-irq-pins {
370 samsung,pins = "gpf1-3";
371 samsung,pin-function = <0xf>;
376 initial_alive: initial-state {
377 gpa0-0-pin {
378 samsung,pins = "gpa0-0";
379 samsung,pin-function = <0>;
380 samsung,pin-pud = <1>;
381 samsung,pin-drv = <0>;
388 - |
389 #include <dt-bindings/interrupt-controller/arm-gic.h>
392 compatible = "samsung,exynos5433-pinctrl";
395 power-domains = <&pd_aud>;
397 /* Pin bank with external GPIO or muxed external wake-up interrupts */
398 gpz0-gpio-bank {
399 gpio-controller;
400 #gpio-cells = <2>;
401 interrupt-controller;
402 #interrupt-cells = <2>;
407 i2s0-bus-pins {
408 samsung,pins = "gpz0-0", "gpz0-1", "gpz0-2", "gpz0-3",
409 "gpz0-4", "gpz0-5", "gpz0-6";
410 samsung,pin-function = <2>;
411 samsung,pin-pud = <0>;
412 samsung,pin-drv = <0>;