aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot
diff options
context:
space:
mode:
authorNicolas Ferre <nicolas.ferre@atmel.com>2012-02-11 09:41:40 -0500
committerNicolas Ferre <nicolas.ferre@atmel.com>2012-03-01 07:29:01 -0500
commit21f81872788b8089ec4214afad8fc6a0a23f70c8 (patch)
treeab105f921cee41ed161e2a21d5ae0a470543572d /arch/arm/boot
parent4340cde57d54db2078d0f1ef070664e21d32711d (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.dtsi30
-rw-r--r--arch/arm/boot/dts/at91sam9g45.dtsi50
-rw-r--r--arch/arm/boot/dts/at91sam9x5.dtsi4
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 {