diff options
author | Nicolas Ferre <nicolas.ferre@atmel.com> | 2012-02-11 09:41:40 -0500 |
---|---|---|
committer | Nicolas Ferre <nicolas.ferre@atmel.com> | 2012-03-01 07:29:01 -0500 |
commit | 21f81872788b8089ec4214afad8fc6a0a23f70c8 (patch) | |
tree | ab105f921cee41ed161e2a21d5ae0a470543572d /arch/arm/boot | |
parent | 4340cde57d54db2078d0f1ef070664e21d32711d (diff) |
ARM: at91/gpio: add irqdomain and DT support
Add "legacy" type of irqdomain to preserve old-style numbering
and allow smooth transition for both DT and non-DT cases.
Original idea and code by Jean-Christophe Plagniol-Villard.
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Diffstat (limited to 'arch/arm/boot')
-rw-r--r-- | arch/arm/boot/dts/at91sam9g20.dtsi | 30 | ||||
-rw-r--r-- | arch/arm/boot/dts/at91sam9g45.dtsi | 50 | ||||
-rw-r--r-- | arch/arm/boot/dts/at91sam9x5.dtsi | 4 |
3 files changed, 84 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/at91sam9g20.dtsi b/arch/arm/boot/dts/at91sam9g20.dtsi index 9a0aee791a40..325989a27a7a 100644 --- a/arch/arm/boot/dts/at91sam9g20.dtsi +++ b/arch/arm/boot/dts/at91sam9g20.dtsi | |||
@@ -23,6 +23,9 @@ | |||
23 | serial4 = &usart3; | 23 | serial4 = &usart3; |
24 | serial5 = &usart4; | 24 | serial5 = &usart4; |
25 | serial6 = &usart5; | 25 | serial6 = &usart5; |
26 | gpio0 = &pioA; | ||
27 | gpio1 = &pioB; | ||
28 | gpio2 = &pioC; | ||
26 | }; | 29 | }; |
27 | cpus { | 30 | cpus { |
28 | cpu@0 { | 31 | cpu@0 { |
@@ -54,6 +57,33 @@ | |||
54 | reg = <0xfffff000 0x200>; | 57 | reg = <0xfffff000 0x200>; |
55 | }; | 58 | }; |
56 | 59 | ||
60 | pioA: gpio@fffff400 { | ||
61 | compatible = "atmel,at91rm9200-gpio"; | ||
62 | reg = <0xfffff400 0x100>; | ||
63 | interrupts = <2 4>; | ||
64 | #gpio-cells = <2>; | ||
65 | gpio-controller; | ||
66 | interrupt-controller; | ||
67 | }; | ||
68 | |||
69 | pioB: gpio@fffff600 { | ||
70 | compatible = "atmel,at91rm9200-gpio"; | ||
71 | reg = <0xfffff600 0x100>; | ||
72 | interrupts = <3 4>; | ||
73 | #gpio-cells = <2>; | ||
74 | gpio-controller; | ||
75 | interrupt-controller; | ||
76 | }; | ||
77 | |||
78 | pioC: gpio@fffff800 { | ||
79 | compatible = "atmel,at91rm9200-gpio"; | ||
80 | reg = <0xfffff800 0x100>; | ||
81 | interrupts = <4 4>; | ||
82 | #gpio-cells = <2>; | ||
83 | gpio-controller; | ||
84 | interrupt-controller; | ||
85 | }; | ||
86 | |||
57 | dbgu: serial@fffff200 { | 87 | dbgu: serial@fffff200 { |
58 | compatible = "atmel,at91sam9260-usart"; | 88 | compatible = "atmel,at91sam9260-usart"; |
59 | reg = <0xfffff200 0x200>; | 89 | reg = <0xfffff200 0x200>; |
diff --git a/arch/arm/boot/dts/at91sam9g45.dtsi b/arch/arm/boot/dts/at91sam9g45.dtsi index 67f94d3698a2..a9dbbb5b86f5 100644 --- a/arch/arm/boot/dts/at91sam9g45.dtsi +++ b/arch/arm/boot/dts/at91sam9g45.dtsi | |||
@@ -22,6 +22,11 @@ | |||
22 | serial2 = &usart1; | 22 | serial2 = &usart1; |
23 | serial3 = &usart2; | 23 | serial3 = &usart2; |
24 | serial4 = &usart3; | 24 | serial4 = &usart3; |
25 | gpio0 = &pioA; | ||
26 | gpio1 = &pioB; | ||
27 | gpio2 = &pioC; | ||
28 | gpio3 = &pioD; | ||
29 | gpio4 = &pioE; | ||
25 | }; | 30 | }; |
26 | cpus { | 31 | cpus { |
27 | cpu@0 { | 32 | cpu@0 { |
@@ -59,6 +64,51 @@ | |||
59 | interrupts = <21 4>; | 64 | interrupts = <21 4>; |
60 | }; | 65 | }; |
61 | 66 | ||
67 | pioA: gpio@fffff200 { | ||
68 | compatible = "atmel,at91rm9200-gpio"; | ||
69 | reg = <0xfffff200 0x100>; | ||
70 | interrupts = <2 4>; | ||
71 | #gpio-cells = <2>; | ||
72 | gpio-controller; | ||
73 | interrupt-controller; | ||
74 | }; | ||
75 | |||
76 | pioB: gpio@fffff400 { | ||
77 | compatible = "atmel,at91rm9200-gpio"; | ||
78 | reg = <0xfffff400 0x100>; | ||
79 | interrupts = <3 4>; | ||
80 | #gpio-cells = <2>; | ||
81 | gpio-controller; | ||
82 | interrupt-controller; | ||
83 | }; | ||
84 | |||
85 | pioC: gpio@fffff600 { | ||
86 | compatible = "atmel,at91rm9200-gpio"; | ||
87 | reg = <0xfffff600 0x100>; | ||
88 | interrupts = <4 4>; | ||
89 | #gpio-cells = <2>; | ||
90 | gpio-controller; | ||
91 | interrupt-controller; | ||
92 | }; | ||
93 | |||
94 | pioD: gpio@fffff800 { | ||
95 | compatible = "atmel,at91rm9200-gpio"; | ||
96 | reg = <0xfffff800 0x100>; | ||
97 | interrupts = <5 4>; | ||
98 | #gpio-cells = <2>; | ||
99 | gpio-controller; | ||
100 | interrupt-controller; | ||
101 | }; | ||
102 | |||
103 | pioE: gpio@fffffa00 { | ||
104 | compatible = "atmel,at91rm9200-gpio"; | ||
105 | reg = <0xfffffa00 0x100>; | ||
106 | interrupts = <5 4>; | ||
107 | #gpio-cells = <2>; | ||
108 | gpio-controller; | ||
109 | interrupt-controller; | ||
110 | }; | ||
111 | |||
62 | dbgu: serial@ffffee00 { | 112 | dbgu: serial@ffffee00 { |
63 | compatible = "atmel,at91sam9260-usart"; | 113 | compatible = "atmel,at91sam9260-usart"; |
64 | reg = <0xffffee00 0x200>; | 114 | reg = <0xffffee00 0x200>; |
diff --git a/arch/arm/boot/dts/at91sam9x5.dtsi b/arch/arm/boot/dts/at91sam9x5.dtsi index e91391f50730..bb0c676b3393 100644 --- a/arch/arm/boot/dts/at91sam9x5.dtsi +++ b/arch/arm/boot/dts/at91sam9x5.dtsi | |||
@@ -94,6 +94,7 @@ | |||
94 | interrupts = <2 4>; | 94 | interrupts = <2 4>; |
95 | #gpio-cells = <2>; | 95 | #gpio-cells = <2>; |
96 | gpio-controller; | 96 | gpio-controller; |
97 | interrupt-controller; | ||
97 | }; | 98 | }; |
98 | 99 | ||
99 | pioB: gpio@fffff600 { | 100 | pioB: gpio@fffff600 { |
@@ -102,6 +103,7 @@ | |||
102 | interrupts = <2 4>; | 103 | interrupts = <2 4>; |
103 | #gpio-cells = <2>; | 104 | #gpio-cells = <2>; |
104 | gpio-controller; | 105 | gpio-controller; |
106 | interrupt-controller; | ||
105 | }; | 107 | }; |
106 | 108 | ||
107 | pioC: gpio@fffff800 { | 109 | pioC: gpio@fffff800 { |
@@ -110,6 +112,7 @@ | |||
110 | interrupts = <3 4>; | 112 | interrupts = <3 4>; |
111 | #gpio-cells = <2>; | 113 | #gpio-cells = <2>; |
112 | gpio-controller; | 114 | gpio-controller; |
115 | interrupt-controller; | ||
113 | }; | 116 | }; |
114 | 117 | ||
115 | pioD: gpio@fffffa00 { | 118 | pioD: gpio@fffffa00 { |
@@ -118,6 +121,7 @@ | |||
118 | interrupts = <3 4>; | 121 | interrupts = <3 4>; |
119 | #gpio-cells = <2>; | 122 | #gpio-cells = <2>; |
120 | gpio-controller; | 123 | gpio-controller; |
124 | interrupt-controller; | ||
121 | }; | 125 | }; |
122 | 126 | ||
123 | dbgu: serial@fffff200 { | 127 | dbgu: serial@fffff200 { |