aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/boot/dts/at91sam9260.dtsi37
-rw-r--r--arch/arm/boot/dts/at91sam9261.dtsi32
-rw-r--r--arch/arm/boot/dts/at91sam9263.dtsi61
-rw-r--r--arch/arm/boot/dts/at91sam9g45.dtsi35
-rw-r--r--arch/arm/boot/dts/at91sam9n12.dtsi42
-rw-r--r--arch/arm/boot/dts/at91sam9rl.dtsi35
-rw-r--r--arch/arm/boot/dts/at91sam9x5.dtsi42
-rw-r--r--arch/arm/boot/dts/sama5d2.dtsi53
-rw-r--r--arch/arm/boot/dts/sama5d3.dtsi113
-rw-r--r--arch/arm/boot/dts/sama5d4.dtsi160
10 files changed, 610 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/at91sam9260.dtsi b/arch/arm/boot/dts/at91sam9260.dtsi
index 9e035b21e1b6..ab0e73374567 100644
--- a/arch/arm/boot/dts/at91sam9260.dtsi
+++ b/arch/arm/boot/dts/at91sam9260.dtsi
@@ -99,6 +99,16 @@
99 reg = <0xffffea00 0x200>; 99 reg = <0xffffea00 0x200>;
100 }; 100 };
101 101
102 smc: smc@ffffec00 {
103 compatible = "atmel,at91sam9260-smc", "syscon";
104 reg = <0xffffec00 0x200>;
105 };
106
107 matrix: matrix@ffffee00 {
108 compatible = "atmel,at91sam9260-matrix", "syscon";
109 reg = <0xffffee00 0x200>;
110 };
111
102 pmc: pmc@fffffc00 { 112 pmc: pmc@fffffc00 {
103 compatible = "atmel,at91sam9260-pmc", "syscon"; 113 compatible = "atmel,at91sam9260-pmc", "syscon";
104 reg = <0xfffffc00 0x100>; 114 reg = <0xfffffc00 0x100>;
@@ -1011,6 +1021,33 @@
1011 clock-names = "ohci_clk", "hclk", "uhpck"; 1021 clock-names = "ohci_clk", "hclk", "uhpck";
1012 status = "disabled"; 1022 status = "disabled";
1013 }; 1023 };
1024
1025 ebi: ebi@10000000 {
1026 compatible = "atmel,at91sam9260-ebi";
1027 #address-cells = <2>;
1028 #size-cells = <1>;
1029 atmel,smc = <&smc>;
1030 atmel,matrix = <&matrix>;
1031 reg = <0x10000000 0x80000000>;
1032 ranges = <0x0 0x0 0x10000000 0x10000000
1033 0x1 0x0 0x20000000 0x10000000
1034 0x2 0x0 0x30000000 0x10000000
1035 0x3 0x0 0x40000000 0x10000000
1036 0x4 0x0 0x50000000 0x10000000
1037 0x5 0x0 0x60000000 0x10000000
1038 0x6 0x0 0x70000000 0x10000000
1039 0x7 0x0 0x80000000 0x10000000>;
1040 clocks = <&mck>;
1041 status = "disabled";
1042
1043 nand_controller: nand-controller {
1044 compatible = "atmel,at91sam9260-nand-controller";
1045 #address-cells = <2>;
1046 #size-cells = <1>;
1047 ranges;
1048 status = "disabled";
1049 };
1050 };
1014 }; 1051 };
1015 1052
1016 i2c-gpio-0 { 1053 i2c-gpio-0 {
diff --git a/arch/arm/boot/dts/at91sam9261.dtsi b/arch/arm/boot/dts/at91sam9261.dtsi
index 7e80acda8f69..3ab0c21134f1 100644
--- a/arch/arm/boot/dts/at91sam9261.dtsi
+++ b/arch/arm/boot/dts/at91sam9261.dtsi
@@ -91,6 +91,33 @@
91 status = "disabled"; 91 status = "disabled";
92 }; 92 };
93 93
94 ebi: ebi@10000000 {
95 compatible = "atmel,at91sam9261-ebi";
96 #address-cells = <2>;
97 #size-cells = <1>;
98 atmel,smc = <&smc>;
99 atmel,matrix = <&matrix>;
100 reg = <0x10000000 0x80000000>;
101 ranges = <0x0 0x0 0x10000000 0x10000000
102 0x1 0x0 0x20000000 0x10000000
103 0x2 0x0 0x30000000 0x10000000
104 0x3 0x0 0x40000000 0x10000000
105 0x4 0x0 0x50000000 0x10000000
106 0x5 0x0 0x60000000 0x10000000
107 0x6 0x0 0x70000000 0x10000000
108 0x7 0x0 0x80000000 0x10000000>;
109 clocks = <&mck>;
110 status = "disabled";
111
112 nand_controller: nand-controller {
113 compatible = "atmel,at91sam9261-nand-controller";
114 #address-cells = <2>;
115 #size-cells = <1>;
116 ranges;
117 status = "disabled";
118 };
119 };
120
94 nand0: nand@40000000 { 121 nand0: nand@40000000 {
95 compatible = "atmel,at91rm9200-nand"; 122 compatible = "atmel,at91rm9200-nand";
96 #address-cells = <1>; 123 #address-cells = <1>;
@@ -262,6 +289,11 @@
262 reg = <0xffffea00 0x200>; 289 reg = <0xffffea00 0x200>;
263 }; 290 };
264 291
292 smc: smc@ffffec00 {
293 compatible = "atmel,at91sam9260-smc", "syscon";
294 reg = <0xffffec00 0x200>;
295 };
296
265 matrix: matrix@ffffee00 { 297 matrix: matrix@ffffee00 {
266 compatible = "atmel,at91sam9261-matrix", "syscon"; 298 compatible = "atmel,at91sam9261-matrix", "syscon";
267 reg = <0xffffee00 0x200>; 299 reg = <0xffffee00 0x200>;
diff --git a/arch/arm/boot/dts/at91sam9263.dtsi b/arch/arm/boot/dts/at91sam9263.dtsi
index a1888f6d892b..db9f3a02f2fa 100644
--- a/arch/arm/boot/dts/at91sam9263.dtsi
+++ b/arch/arm/boot/dts/at91sam9263.dtsi
@@ -361,11 +361,26 @@
361 reg = <0xffffe200 0x200>; 361 reg = <0xffffe200 0x200>;
362 }; 362 };
363 363
364 smc0: smc@ffffe400 {
365 compatible = "atmel,at91sam9260-smc", "syscon";
366 reg = <0xffffe400 0x200>;
367 };
368
364 ramc1: ramc@ffffe800 { 369 ramc1: ramc@ffffe800 {
365 compatible = "atmel,at91sam9260-sdramc"; 370 compatible = "atmel,at91sam9260-sdramc";
366 reg = <0xffffe800 0x200>; 371 reg = <0xffffe800 0x200>;
367 }; 372 };
368 373
374 smc1: smc@ffffea00 {
375 compatible = "atmel,at91sam9260-smc", "syscon";
376 reg = <0xffffea00 0x200>;
377 };
378
379 matrix: matrix@ffffec00 {
380 compatible = "atmel,at91sam9263-matrix", "syscon";
381 reg = <0xffffec00 0x200>;
382 };
383
369 pit: timer@fffffd30 { 384 pit: timer@fffffd30 {
370 compatible = "atmel,at91sam9260-pit"; 385 compatible = "atmel,at91sam9260-pit";
371 reg = <0xfffffd30 0xf>; 386 reg = <0xfffffd30 0xf>;
@@ -1017,6 +1032,52 @@
1017 clock-names = "ohci_clk", "hclk", "uhpck"; 1032 clock-names = "ohci_clk", "hclk", "uhpck";
1018 status = "disabled"; 1033 status = "disabled";
1019 }; 1034 };
1035
1036 ebi0: ebi@10000000 {
1037 compatible = "atmel,at91sam9263-ebi0";
1038 #address-cells = <2>;
1039 #size-cells = <1>;
1040 atmel,smc = <&smc0>;
1041 atmel,matrix = <&matrix>;
1042 reg = <0x10000000 0x80000000>;
1043 ranges = <0x0 0x0 0x10000000 0x10000000
1044 0x1 0x0 0x20000000 0x10000000
1045 0x2 0x0 0x30000000 0x10000000
1046 0x3 0x0 0x40000000 0x10000000
1047 0x4 0x0 0x50000000 0x10000000
1048 0x5 0x0 0x60000000 0x10000000>;
1049 clocks = <&mck>;
1050 status = "disabled";
1051
1052 nand_controller0: nand-controller {
1053 compatible = "atmel,at91sam9260-nand-controller";
1054 #address-cells = <2>;
1055 #size-cells = <1>;
1056 ranges;
1057 status = "disabled";
1058 };
1059 };
1060
1061 ebi1: ebi@70000000 {
1062 compatible = "atmel,at91sam9263-ebi1";
1063 #address-cells = <2>;
1064 #size-cells = <1>;
1065 atmel,smc = <&smc1>;
1066 atmel,matrix = <&matrix>;
1067 reg = <0x80000000 0x20000000>;
1068 ranges = <0x0 0x0 0x80000000 0x10000000
1069 0x1 0x0 0x90000000 0x10000000>;
1070 clocks = <&mck>;
1071 status = "disabled";
1072
1073 nand_controller1: nand-controller {
1074 compatible = "atmel,at91sam9260-nand-controller";
1075 #address-cells = <2>;
1076 #size-cells = <1>;
1077 ranges;
1078 status = "disabled";
1079 };
1080 };
1020 }; 1081 };
1021 1082
1022 i2c-gpio-0 { 1083 i2c-gpio-0 {
diff --git a/arch/arm/boot/dts/at91sam9g45.dtsi b/arch/arm/boot/dts/at91sam9g45.dtsi
index e567d5fd3f9d..392dcfb79b57 100644
--- a/arch/arm/boot/dts/at91sam9g45.dtsi
+++ b/arch/arm/boot/dts/at91sam9g45.dtsi
@@ -113,6 +113,16 @@
113 clock-names = "ddrck"; 113 clock-names = "ddrck";
114 }; 114 };
115 115
116 smc: smc@ffffe800 {
117 compatible = "atmel,at91sam9260-smc", "syscon";
118 reg = <0xffffe800 0x200>;
119 };
120
121 matrix: matrix@ffffea00 {
122 compatible = "atmel,at91sam9g45-matrix", "syscon";
123 reg = <0xffffea00 0x200>;
124 };
125
116 pmc: pmc@fffffc00 { 126 pmc: pmc@fffffc00 {
117 compatible = "atmel,at91sam9g45-pmc", "syscon"; 127 compatible = "atmel,at91sam9g45-pmc", "syscon";
118 reg = <0xfffffc00 0x100>; 128 reg = <0xfffffc00 0x100>;
@@ -1314,6 +1324,31 @@
1314 clock-names = "usb_clk", "ehci_clk"; 1324 clock-names = "usb_clk", "ehci_clk";
1315 status = "disabled"; 1325 status = "disabled";
1316 }; 1326 };
1327
1328 ebi: ebi@10000000 {
1329 compatible = "atmel,at91sam9g45-ebi";
1330 #address-cells = <2>;
1331 #size-cells = <1>;
1332 atmel,smc = <&smc>;
1333 atmel,matrix = <&matrix>;
1334 reg = <0x10000000 0x80000000>;
1335 ranges = <0x0 0x0 0x10000000 0x10000000
1336 0x1 0x0 0x20000000 0x10000000
1337 0x2 0x0 0x30000000 0x10000000
1338 0x3 0x0 0x40000000 0x10000000
1339 0x4 0x0 0x50000000 0x10000000
1340 0x5 0x0 0x60000000 0x10000000>;
1341 clocks = <&mck>;
1342 status = "disabled";
1343
1344 nand_controller: nand-controller {
1345 compatible = "atmel,at91sam9g45-nand-controller";
1346 #address-cells = <2>;
1347 #size-cells = <1>;
1348 ranges;
1349 status = "disabled";
1350 };
1351 };
1317 }; 1352 };
1318 1353
1319 i2c-gpio-0 { 1354 i2c-gpio-0 {
diff --git a/arch/arm/boot/dts/at91sam9n12.dtsi b/arch/arm/boot/dts/at91sam9n12.dtsi
index f43d7695352d..df06a66ace07 100644
--- a/arch/arm/boot/dts/at91sam9n12.dtsi
+++ b/arch/arm/boot/dts/at91sam9n12.dtsi
@@ -89,6 +89,17 @@
89 atmel,external-irqs = <31>; 89 atmel,external-irqs = <31>;
90 }; 90 };
91 91
92 matrix: matrix@ffffde00 {
93 compatible = "atmel,at91sam9n12-matrix", "syscon";
94 reg = <0xffffde00 0x100>;
95 };
96
97 pmecc: ecc-engine@ffffe000 {
98 compatible = "atmel,at91sam9g45-pmecc";
99 reg = <0xffffe000 0x600>,
100 <0xffffe600 0x200>;
101 };
102
92 ramc0: ramc@ffffe800 { 103 ramc0: ramc@ffffe800 {
93 compatible = "atmel,at91sam9g45-ddramc"; 104 compatible = "atmel,at91sam9g45-ddramc";
94 reg = <0xffffe800 0x200>; 105 reg = <0xffffe800 0x200>;
@@ -96,6 +107,11 @@
96 clock-names = "ddrck"; 107 clock-names = "ddrck";
97 }; 108 };
98 109
110 smc: smc@ffffea00 {
111 compatible = "atmel,at91sam9260-smc", "syscon";
112 reg = <0xffffea00 0x200>;
113 };
114
99 pmc: pmc@fffffc00 { 115 pmc: pmc@fffffc00 {
100 compatible = "atmel,at91sam9n12-pmc", "syscon"; 116 compatible = "atmel,at91sam9n12-pmc", "syscon";
101 reg = <0xfffffc00 0x200>; 117 reg = <0xfffffc00 0x200>;
@@ -1028,6 +1044,32 @@
1028 clock-names = "ohci_clk", "hclk", "uhpck"; 1044 clock-names = "ohci_clk", "hclk", "uhpck";
1029 status = "disabled"; 1045 status = "disabled";
1030 }; 1046 };
1047
1048 ebi: ebi@10000000 {
1049 compatible = "atmel,at91sam9x5-ebi";
1050 #address-cells = <2>;
1051 #size-cells = <1>;
1052 atmel,smc = <&smc>;
1053 atmel,matrix = <&matrix>;
1054 reg = <0x10000000 0x60000000>;
1055 ranges = <0x0 0x0 0x10000000 0x10000000
1056 0x1 0x0 0x20000000 0x10000000
1057 0x2 0x0 0x30000000 0x10000000
1058 0x3 0x0 0x40000000 0x10000000
1059 0x4 0x0 0x50000000 0x10000000
1060 0x5 0x0 0x60000000 0x10000000>;
1061 clocks = <&mck>;
1062 status = "disabled";
1063
1064 nand_controller: nand-controller {
1065 compatible = "atmel,at91sam9g45-nand-controller";
1066 ecc-engine = <&pmecc>;
1067 #address-cells = <2>;
1068 #size-cells = <1>;
1069 ranges;
1070 status = "disabled";
1071 };
1072 };
1031 }; 1073 };
1032 1074
1033 i2c-gpio-0 { 1075 i2c-gpio-0 {
diff --git a/arch/arm/boot/dts/at91sam9rl.dtsi b/arch/arm/boot/dts/at91sam9rl.dtsi
index f4c129a98f17..d373400cddcd 100644
--- a/arch/arm/boot/dts/at91sam9rl.dtsi
+++ b/arch/arm/boot/dts/at91sam9rl.dtsi
@@ -92,6 +92,31 @@
92 status = "disabled"; 92 status = "disabled";
93 }; 93 };
94 94
95 ebi: ebi@10000000 {
96 compatible = "atmel,at91sam9rl-ebi";
97 #address-cells = <2>;
98 #size-cells = <1>;
99 atmel,smc = <&smc>;
100 atmel,matrix = <&matrix>;
101 reg = <0x10000000 0x80000000>;
102 ranges = <0x0 0x0 0x10000000 0x10000000
103 0x1 0x0 0x20000000 0x10000000
104 0x2 0x0 0x30000000 0x10000000
105 0x3 0x0 0x40000000 0x10000000
106 0x4 0x0 0x50000000 0x10000000
107 0x5 0x0 0x60000000 0x10000000>;
108 clocks = <&mck>;
109 status = "disabled";
110
111 nand_controller: nand-controller {
112 compatible = "atmel,at91sam9g45-nand-controller";
113 #address-cells = <2>;
114 #size-cells = <1>;
115 ranges;
116 status = "disabled";
117 };
118 };
119
95 nand0: nand@40000000 { 120 nand0: nand@40000000 {
96 compatible = "atmel,at91rm9200-nand"; 121 compatible = "atmel,at91rm9200-nand";
97 #address-cells = <1>; 122 #address-cells = <1>;
@@ -364,6 +389,16 @@
364 reg = <0xffffea00 0x200>; 389 reg = <0xffffea00 0x200>;
365 }; 390 };
366 391
392 smc: smc@ffffec00 {
393 compatible = "atmel,at91sam9260-smc", "syscon";
394 reg = <0xffffec00 0x200>;
395 };
396
397 matrix: matrix@ffffee00 {
398 compatible = "atmel,at91sam9rl-matrix", "syscon";
399 reg = <0xffffee00 0x200>;
400 };
401
367 aic: interrupt-controller@fffff000 { 402 aic: interrupt-controller@fffff000 {
368 #interrupt-cells = <3>; 403 #interrupt-cells = <3>;
369 compatible = "atmel,at91rm9200-aic"; 404 compatible = "atmel,at91rm9200-aic";
diff --git a/arch/arm/boot/dts/at91sam9x5.dtsi b/arch/arm/boot/dts/at91sam9x5.dtsi
index f66bae925705..7723e8b02880 100644
--- a/arch/arm/boot/dts/at91sam9x5.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5.dtsi
@@ -97,6 +97,17 @@
97 atmel,external-irqs = <31>; 97 atmel,external-irqs = <31>;
98 }; 98 };
99 99
100 matrix: matrix@ffffde00 {
101 compatible = "atmel,at91sam9x5-matrix", "syscon";
102 reg = <0xffffde00 0x100>;
103 };
104
105 pmecc: ecc-engine@ffffe000 {
106 compatible = "atmel,at91sam9g45-pmecc";
107 reg = <0xffffe000 0x600>,
108 <0xffffe600 0x200>;
109 };
110
100 ramc0: ramc@ffffe800 { 111 ramc0: ramc@ffffe800 {
101 compatible = "atmel,at91sam9g45-ddramc"; 112 compatible = "atmel,at91sam9g45-ddramc";
102 reg = <0xffffe800 0x200>; 113 reg = <0xffffe800 0x200>;
@@ -104,6 +115,11 @@
104 clock-names = "ddrck"; 115 clock-names = "ddrck";
105 }; 116 };
106 117
118 smc: smc@ffffea00 {
119 compatible = "atmel,at91sam9260-smc", "syscon";
120 reg = <0xffffea00 0x200>;
121 };
122
107 pmc: pmc@fffffc00 { 123 pmc: pmc@fffffc00 {
108 compatible = "atmel,at91sam9x5-pmc", "syscon"; 124 compatible = "atmel,at91sam9x5-pmc", "syscon";
109 reg = <0xfffffc00 0x200>; 125 reg = <0xfffffc00 0x200>;
@@ -1236,6 +1252,32 @@
1236 clock-names = "usb_clk", "ehci_clk"; 1252 clock-names = "usb_clk", "ehci_clk";
1237 status = "disabled"; 1253 status = "disabled";
1238 }; 1254 };
1255
1256 ebi: ebi@10000000 {
1257 compatible = "atmel,at91sam9x5-ebi";
1258 #address-cells = <2>;
1259 #size-cells = <1>;
1260 atmel,smc = <&smc>;
1261 atmel,matrix = <&matrix>;
1262 reg = <0x10000000 0x60000000>;
1263 ranges = <0x0 0x0 0x10000000 0x10000000
1264 0x1 0x0 0x20000000 0x10000000
1265 0x2 0x0 0x30000000 0x10000000
1266 0x3 0x0 0x40000000 0x10000000
1267 0x4 0x0 0x50000000 0x10000000
1268 0x5 0x0 0x60000000 0x10000000>;
1269 clocks = <&mck>;
1270 status = "disabled";
1271
1272 nand_controller: nand-controller {
1273 compatible = "atmel,at91sam9g45-nand-controller";
1274 ecc-engine = <&pmecc>;
1275 #address-cells = <2>;
1276 #size-cells = <1>;
1277 ranges;
1278 status = "disabled";
1279 };
1280 };
1239 }; 1281 };
1240 1282
1241 i2c-gpio-0 { 1283 i2c-gpio-0 {
diff --git a/arch/arm/boot/dts/sama5d2.dtsi b/arch/arm/boot/dts/sama5d2.dtsi
index ce95dcb8bdf9..e77fa36cb6f1 100644
--- a/arch/arm/boot/dts/sama5d2.dtsi
+++ b/arch/arm/boot/dts/sama5d2.dtsi
@@ -135,6 +135,12 @@
135 #size-cells = <1>; 135 #size-cells = <1>;
136 ranges; 136 ranges;
137 137
138 nfc_sram: sram@00100000 {
139 compatible = "mmio-sram";
140 no-memory-wc;
141 reg = <0x00100000 0x2400>;
142 };
143
138 usb0: gadget@00300000 { 144 usb0: gadget@00300000 {
139 #address-cells = <1>; 145 #address-cells = <1>;
140 #size-cells = <0>; 146 #size-cells = <0>;
@@ -291,6 +297,32 @@
291 cache-level = <2>; 297 cache-level = <2>;
292 }; 298 };
293 299
300 ebi: ebi@10000000 {
301 compatible = "atmel,sama5d3-ebi";
302 #address-cells = <2>;
303 #size-cells = <1>;
304 atmel,smc = <&hsmc>;
305 reg = <0x10000000 0x10000000
306 0x40000000 0x30000000>;
307 ranges = <0x0 0x0 0x10000000 0x10000000
308 0x1 0x0 0x60000000 0x10000000
309 0x2 0x0 0x70000000 0x10000000
310 0x3 0x0 0x80000000 0x10000000>;
311 clocks = <&mck>;
312 status = "disabled";
313
314 nand_controller: nand-controller {
315 compatible = "atmel,sama5d3-nand-controller";
316 atmel,nfc-sram = <&nfc_sram>;
317 atmel,nfc-io = <&nfc_io>;
318 ecc-engine = <&pmecc>;
319 #address-cells = <2>;
320 #size-cells = <1>;
321 ranges;
322 status = "disabled";
323 };
324 };
325
294 nand0: nand@80000000 { 326 nand0: nand@80000000 {
295 compatible = "atmel,sama5d2-nand"; 327 compatible = "atmel,sama5d2-nand";
296 #address-cells = <1>; 328 #address-cells = <1>;
@@ -347,6 +379,11 @@
347 status = "disabled"; 379 status = "disabled";
348 }; 380 };
349 381
382 nfc_io: nfc-io@c0000000 {
383 compatible = "atmel,sama5d3-nfc-io", "syscon";
384 reg = <0xc0000000 0x8000000>;
385 };
386
350 apb { 387 apb {
351 compatible = "simple-bus"; 388 compatible = "simple-bus";
352 #address-cells = <1>; 389 #address-cells = <1>;
@@ -1010,6 +1047,22 @@
1010 clock-names = "t0_clk", "slow_clk"; 1047 clock-names = "t0_clk", "slow_clk";
1011 }; 1048 };
1012 1049
1050 hsmc: hsmc@f8014000 {
1051 compatible = "atmel,sama5d3-smc", "syscon", "simple-mfd";
1052 reg = <0xf8014000 0x1000>;
1053 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 6>;
1054 clocks = <&hsmc_clk>;
1055 #address-cells = <1>;
1056 #size-cells = <1>;
1057 ranges;
1058
1059 pmecc: ecc-engine@ffffc070 {
1060 compatible = "atmel,sama5d2-pmecc";
1061 reg = <0xffffc070 0x490>,
1062 <0xffffc500 0x100>;
1063 };
1064 };
1065
1013 pdmic: pdmic@f8018000 { 1066 pdmic: pdmic@f8018000 {
1014 compatible = "atmel,sama5d2-pdmic"; 1067 compatible = "atmel,sama5d2-pdmic";
1015 reg = <0xf8018000 0x124>; 1068 reg = <0xf8018000 0x124>;
diff --git a/arch/arm/boot/dts/sama5d3.dtsi b/arch/arm/boot/dts/sama5d3.dtsi
index b06448ba6649..3925f83f58a6 100644
--- a/arch/arm/boot/dts/sama5d3.dtsi
+++ b/arch/arm/boot/dts/sama5d3.dtsi
@@ -429,6 +429,22 @@
429 clocks = <&trng_clk>; 429 clocks = <&trng_clk>;
430 }; 430 };
431 431
432 hsmc: hsmc@ffffc000 {
433 compatible = "atmel,sama5d3-smc", "syscon", "simple-mfd";
434 reg = <0xffffc000 0x1000>;
435 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 6>;
436 clocks = <&hsmc_clk>;
437 #address-cells = <1>;
438 #size-cells = <1>;
439 ranges;
440
441 pmecc: ecc-engine@ffffc070 {
442 compatible = "atmel,at91sam9g45-pmecc";
443 reg = <0xffffc070 0x490>,
444 <0xffffc500 0x100>;
445 };
446 };
447
432 dma0: dma-controller@ffffe600 { 448 dma0: dma-controller@ffffe600 {
433 compatible = "atmel,at91sam9g45-dma"; 449 compatible = "atmel,at91sam9g45-dma";
434 reg = <0xffffe600 0x200>; 450 reg = <0xffffe600 0x200>;
@@ -554,6 +570,66 @@
554 }; 570 };
555 }; 571 };
556 572
573 ebi {
574 pinctrl_ebi_addr: ebi-addr-0 {
575 atmel,pins =
576 <AT91_PIOE 1 AT91_PERIPH_A AT91_PINCTRL_NONE
577 AT91_PIOE 2 AT91_PERIPH_A AT91_PINCTRL_NONE
578 AT91_PIOE 3 AT91_PERIPH_A AT91_PINCTRL_NONE
579 AT91_PIOE 4 AT91_PERIPH_A AT91_PINCTRL_NONE
580 AT91_PIOE 5 AT91_PERIPH_A AT91_PINCTRL_NONE
581 AT91_PIOE 6 AT91_PERIPH_A AT91_PINCTRL_NONE
582 AT91_PIOE 7 AT91_PERIPH_A AT91_PINCTRL_NONE
583 AT91_PIOE 8 AT91_PERIPH_A AT91_PINCTRL_NONE
584 AT91_PIOE 9 AT91_PERIPH_A AT91_PINCTRL_NONE
585 AT91_PIOE 10 AT91_PERIPH_A AT91_PINCTRL_NONE
586 AT91_PIOE 11 AT91_PERIPH_A AT91_PINCTRL_NONE
587 AT91_PIOE 12 AT91_PERIPH_A AT91_PINCTRL_NONE
588 AT91_PIOE 13 AT91_PERIPH_A AT91_PINCTRL_NONE
589 AT91_PIOE 14 AT91_PERIPH_A AT91_PINCTRL_NONE
590 AT91_PIOE 15 AT91_PERIPH_A AT91_PINCTRL_NONE
591 AT91_PIOE 16 AT91_PERIPH_A AT91_PINCTRL_NONE
592 AT91_PIOE 17 AT91_PERIPH_A AT91_PINCTRL_NONE
593 AT91_PIOE 18 AT91_PERIPH_A AT91_PINCTRL_NONE
594 AT91_PIOE 19 AT91_PERIPH_A AT91_PINCTRL_NONE
595 AT91_PIOE 20 AT91_PERIPH_A AT91_PINCTRL_NONE
596 AT91_PIOE 21 AT91_PERIPH_A AT91_PINCTRL_NONE
597 AT91_PIOE 22 AT91_PERIPH_A AT91_PINCTRL_NONE
598 AT91_PIOE 23 AT91_PERIPH_A AT91_PINCTRL_NONE>;
599 };
600
601 pinctrl_ebi_nand_addr: ebi-addr-1 {
602 atmel,pins =
603 <AT91_PIOE 21 AT91_PERIPH_A AT91_PINCTRL_NONE
604 AT91_PIOE 22 AT91_PERIPH_A AT91_PINCTRL_NONE>;
605 };
606
607 pinctrl_ebi_cs0: ebi-cs0-0 {
608 atmel,pins =
609 <AT91_PIOE 24 AT91_PERIPH_A AT91_PINCTRL_NONE>;
610 };
611
612 pinctrl_ebi_cs1: ebi-cs1-0 {
613 atmel,pins =
614 <AT91_PIOE 25 AT91_PERIPH_A AT91_PINCTRL_NONE>;
615 };
616
617 pinctrl_ebi_cs2: ebi-cs2-0 {
618 atmel,pins =
619 <AT91_PIOE 26 AT91_PERIPH_A AT91_PINCTRL_NONE>;
620 };
621
622 pinctrl_ebi_nwait: ebi-nwait-0 {
623 atmel,pins =
624 <AT91_PIOE 28 AT91_PERIPH_A AT91_PINCTRL_NONE>;
625 };
626
627 pinctrl_ebi_nwr1_nbs1: ebi-nwr1-nbs1-0 {
628 atmel,pins =
629 <AT91_PIOE 27 AT91_PERIPH_A AT91_PINCTRL_NONE>;
630 };
631 };
632
557 i2c0 { 633 i2c0 {
558 pinctrl_i2c0: i2c0-0 { 634 pinctrl_i2c0: i2c0-0 {
559 atmel,pins = 635 atmel,pins =
@@ -1326,6 +1402,12 @@
1326 }; 1402 };
1327 }; 1403 };
1328 1404
1405 nfc_sram: sram@200000 {
1406 compatible = "mmio-sram";
1407 no-memory-wc;
1408 reg = <0x200000 0x2400>;
1409 };
1410
1329 usb0: gadget@00500000 { 1411 usb0: gadget@00500000 {
1330 #address-cells = <1>; 1412 #address-cells = <1>;
1331 #size-cells = <0>; 1413 #size-cells = <0>;
@@ -1461,6 +1543,32 @@
1461 status = "disabled"; 1543 status = "disabled";
1462 }; 1544 };
1463 1545
1546 ebi: ebi@10000000 {
1547 compatible = "atmel,sama5d3-ebi";
1548 #address-cells = <2>;
1549 #size-cells = <1>;
1550 atmel,smc = <&hsmc>;
1551 reg = <0x10000000 0x10000000
1552 0x40000000 0x30000000>;
1553 ranges = <0x0 0x0 0x10000000 0x10000000
1554 0x1 0x0 0x40000000 0x10000000
1555 0x2 0x0 0x50000000 0x10000000
1556 0x3 0x0 0x60000000 0x10000000>;
1557 clocks = <&mck>;
1558 status = "disabled";
1559
1560 nand_controller: nand-controller {
1561 compatible = "atmel,sama5d3-nand-controller";
1562 atmel,nfc-sram = <&nfc_sram>;
1563 atmel,nfc-io = <&nfc_io>;
1564 ecc-engine = <&pmecc>;
1565 #address-cells = <2>;
1566 #size-cells = <1>;
1567 ranges;
1568 status = "disabled";
1569 };
1570 };
1571
1464 nand0: nand@60000000 { 1572 nand0: nand@60000000 {
1465 compatible = "atmel,at91rm9200-nand"; 1573 compatible = "atmel,at91rm9200-nand";
1466 #address-cells = <1>; 1574 #address-cells = <1>;
@@ -1492,5 +1600,10 @@
1492 clocks = <&hsmc_clk>; 1600 clocks = <&hsmc_clk>;
1493 }; 1601 };
1494 }; 1602 };
1603
1604 nfc_io: nfc-io@70000000 {
1605 compatible = "atmel,sama5d3-nfc-io", "syscon";
1606 reg = <0x70000000 0x8000000>;
1607 };
1495 }; 1608 };
1496}; 1609};
diff --git a/arch/arm/boot/dts/sama5d4.dtsi b/arch/arm/boot/dts/sama5d4.dtsi
index d3889c9d25a9..de6bcff87745 100644
--- a/arch/arm/boot/dts/sama5d4.dtsi
+++ b/arch/arm/boot/dts/sama5d4.dtsi
@@ -124,6 +124,12 @@
124 #size-cells = <1>; 124 #size-cells = <1>;
125 ranges; 125 ranges;
126 126
127 nfc_sram: sram@100000 {
128 compatible = "mmio-sram";
129 no-memory-wc;
130 reg = <0x100000 0x2400>;
131 };
132
127 usb0: gadget@00400000 { 133 usb0: gadget@00400000 {
128 #address-cells = <1>; 134 #address-cells = <1>;
129 #size-cells = <0>; 135 #size-cells = <0>;
@@ -280,6 +286,32 @@
280 cache-level = <2>; 286 cache-level = <2>;
281 }; 287 };
282 288
289 ebi: ebi@10000000 {
290 compatible = "atmel,sama5d3-ebi";
291 #address-cells = <2>;
292 #size-cells = <1>;
293 atmel,smc = <&hsmc>;
294 reg = <0x10000000 0x10000000
295 0x60000000 0x28000000>;
296 ranges = <0x0 0x0 0x10000000 0x10000000
297 0x1 0x0 0x60000000 0x10000000
298 0x2 0x0 0x70000000 0x10000000
299 0x3 0x0 0x80000000 0x8000000>;
300 clocks = <&mck>;
301 status = "disabled";
302
303 nand_controller: nand-controller {
304 compatible = "atmel,sama5d3-nand-controller";
305 atmel,nfc-sram = <&nfc_sram>;
306 atmel,nfc-io = <&nfc_io>;
307 ecc-engine = <&pmecc>;
308 #address-cells = <2>;
309 #size-cells = <1>;
310 ranges;
311 status = "disabled";
312 };
313 };
314
283 nand0: nand@80000000 { 315 nand0: nand@80000000 {
284 compatible = "atmel,sama5d4-nand", "atmel,at91rm9200-nand"; 316 compatible = "atmel,sama5d4-nand", "atmel,at91rm9200-nand";
285 #address-cells = <1>; 317 #address-cells = <1>;
@@ -311,6 +343,11 @@
311 }; 343 };
312 }; 344 };
313 345
346 nfc_io: nfc-io@90000000 {
347 compatible = "atmel,sama5d3-nfc-io", "syscon";
348 reg = <0x90000000 0x8000000>;
349 };
350
314 apb { 351 apb {
315 compatible = "simple-bus"; 352 compatible = "simple-bus";
316 #address-cells = <1>; 353 #address-cells = <1>;
@@ -1287,6 +1324,22 @@
1287 status = "okay"; 1324 status = "okay";
1288 }; 1325 };
1289 1326
1327 hsmc: smc@fc05c000 {
1328 compatible = "atmel,sama5d3-smc", "syscon", "simple-mfd";
1329 reg = <0xfc05c000 0x1000>;
1330 interrupts = <22 IRQ_TYPE_LEVEL_HIGH 6>;
1331 clocks = <&hsmc_clk>;
1332 #address-cells = <1>;
1333 #size-cells = <1>;
1334 ranges;
1335
1336 pmecc: ecc-engine@ffffc070 {
1337 compatible = "atmel,sama5d4-pmecc";
1338 reg = <0xfc05c070 0x490>,
1339 <0xfc05c500 0x100>;
1340 };
1341 };
1342
1290 rstc@fc068600 { 1343 rstc@fc068600 {
1291 compatible = "atmel,sama5d3-rstc", "atmel,at91sam9g45-rstc"; 1344 compatible = "atmel,sama5d3-rstc", "atmel,at91sam9g45-rstc";
1292 reg = <0xfc068600 0x10>; 1345 reg = <0xfc068600 0x10>;
@@ -1447,6 +1500,113 @@
1447 }; 1500 };
1448 }; 1501 };
1449 1502
1503 ebi {
1504 pinctrl_ebi_addr: ebi-addr-0 {
1505 atmel,pins =
1506 <AT91_PIOE 0 AT91_PERIPH_A AT91_PINCTRL_NONE
1507 AT91_PIOE 1 AT91_PERIPH_A AT91_PINCTRL_NONE
1508 AT91_PIOE 2 AT91_PERIPH_A AT91_PINCTRL_NONE
1509 AT91_PIOE 3 AT91_PERIPH_A AT91_PINCTRL_NONE
1510 AT91_PIOE 4 AT91_PERIPH_A AT91_PINCTRL_NONE
1511 AT91_PIOE 5 AT91_PERIPH_A AT91_PINCTRL_NONE
1512 AT91_PIOE 6 AT91_PERIPH_A AT91_PINCTRL_NONE
1513 AT91_PIOE 7 AT91_PERIPH_A AT91_PINCTRL_NONE
1514 AT91_PIOE 8 AT91_PERIPH_A AT91_PINCTRL_NONE
1515 AT91_PIOE 9 AT91_PERIPH_A AT91_PINCTRL_NONE
1516 AT91_PIOE 10 AT91_PERIPH_A AT91_PINCTRL_NONE
1517 AT91_PIOE 11 AT91_PERIPH_A AT91_PINCTRL_NONE
1518 AT91_PIOE 12 AT91_PERIPH_A AT91_PINCTRL_NONE
1519 AT91_PIOE 13 AT91_PERIPH_A AT91_PINCTRL_NONE
1520 AT91_PIOE 14 AT91_PERIPH_A AT91_PINCTRL_NONE
1521 AT91_PIOE 15 AT91_PERIPH_A AT91_PINCTRL_NONE
1522 AT91_PIOE 16 AT91_PERIPH_A AT91_PINCTRL_NONE
1523 AT91_PIOE 17 AT91_PERIPH_A AT91_PINCTRL_NONE
1524 AT91_PIOE 18 AT91_PERIPH_A AT91_PINCTRL_NONE
1525 AT91_PIOE 19 AT91_PERIPH_A AT91_PINCTRL_NONE
1526 AT91_PIOE 20 AT91_PERIPH_A AT91_PINCTRL_NONE
1527 AT91_PIOC 17 AT91_PERIPH_A AT91_PINCTRL_NONE
1528 AT91_PIOC 18 AT91_PERIPH_A AT91_PINCTRL_NONE
1529 AT91_PIOE 21 AT91_PERIPH_A AT91_PINCTRL_NONE
1530 AT91_PIOE 22 AT91_PERIPH_A AT91_PINCTRL_NONE
1531 AT91_PIOE 23 AT91_PERIPH_A AT91_PINCTRL_NONE>;
1532 };
1533
1534 pinctrl_ebi_nand_addr: ebi-addr-1 {
1535 atmel,pins =
1536 <AT91_PIOC 17 AT91_PERIPH_A AT91_PINCTRL_NONE
1537 AT91_PIOC 18 AT91_PERIPH_A AT91_PINCTRL_NONE>;
1538 };
1539
1540 pinctrl_ebi_cs0: ebi-cs0-0 {
1541 atmel,pins =
1542 <AT91_PIOE 26 AT91_PERIPH_A AT91_PINCTRL_NONE>;
1543 };
1544
1545 pinctrl_ebi_cs1: ebi-cs1-0 {
1546 atmel,pins =
1547 <AT91_PIOE 27 AT91_PERIPH_A AT91_PINCTRL_NONE>;
1548 };
1549
1550 pinctrl_ebi_cs2: ebi-cs2-0 {
1551 atmel,pins =
1552 <AT91_PIOE 28 AT91_PERIPH_A AT91_PINCTRL_NONE>;
1553 };
1554
1555 pinctrl_ebi_cs3: ebi-cs3-0 {
1556 atmel,pins =
1557 <AT91_PIOC 15 AT91_PERIPH_A AT91_PINCTRL_NONE>;
1558 };
1559
1560 pinctrl_ebi_data_0_7: ebi-data-lsb-0 {
1561 atmel,pins =
1562 <AT91_PIOC 5 AT91_PERIPH_A AT91_PINCTRL_NONE
1563 AT91_PIOC 6 AT91_PERIPH_A AT91_PINCTRL_NONE
1564 AT91_PIOC 7 AT91_PERIPH_A AT91_PINCTRL_NONE
1565 AT91_PIOC 8 AT91_PERIPH_A AT91_PINCTRL_NONE
1566 AT91_PIOC 9 AT91_PERIPH_A AT91_PINCTRL_NONE
1567 AT91_PIOC 10 AT91_PERIPH_A AT91_PINCTRL_NONE
1568 AT91_PIOC 11 AT91_PERIPH_A AT91_PINCTRL_NONE
1569 AT91_PIOC 12 AT91_PERIPH_A AT91_PINCTRL_NONE>;
1570 };
1571
1572 pinctrl_ebi_data_8_15: ebi-data-msb-0 {
1573 atmel,pins =
1574 <AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_NONE
1575 AT91_PIOB 19 AT91_PERIPH_B AT91_PINCTRL_NONE
1576 AT91_PIOB 20 AT91_PERIPH_B AT91_PINCTRL_NONE
1577 AT91_PIOB 21 AT91_PERIPH_B AT91_PINCTRL_NONE
1578 AT91_PIOB 22 AT91_PERIPH_B AT91_PINCTRL_NONE
1579 AT91_PIOB 23 AT91_PERIPH_B AT91_PINCTRL_NONE
1580 AT91_PIOB 24 AT91_PERIPH_B AT91_PINCTRL_NONE
1581 AT91_PIOB 25 AT91_PERIPH_B AT91_PINCTRL_NONE>;
1582 };
1583
1584 pinctrl_ebi_nandrdy: ebi-nandrdy-0 {
1585 atmel,pins =
1586 <AT91_PIOC 16 AT91_PERIPH_A AT91_PINCTRL_NONE>;
1587 };
1588
1589 pinctrl_ebi_nrd_nandoe: ebi-nrd-nandoe-0 {
1590 atmel,pins =
1591 <AT91_PIOC 13 AT91_PERIPH_A AT91_PINCTRL_NONE>;
1592 };
1593
1594 pinctrl_ebi_nwait: ebi-nwait-0 {
1595 atmel,pins =
1596 <AT91_PIOE 30 AT91_PERIPH_A AT91_PINCTRL_NONE>;
1597 };
1598
1599 pinctrl_ebi_nwe_nandwe: ebi-nwe-nandwe-0 {
1600 atmel,pins =
1601 <AT91_PIOC 14 AT91_PERIPH_A AT91_PINCTRL_NONE>;
1602 };
1603
1604 pinctrl_ebi_nwr1_nbs1: ebi-nwr1-nbs1-0 {
1605 atmel,pins =
1606 <AT91_PIOE 29 AT91_PERIPH_A AT91_PINCTRL_NONE>;
1607 };
1608 };
1609
1450 i2c0 { 1610 i2c0 {
1451 pinctrl_i2c0: i2c0-0 { 1611 pinctrl_i2c0: i2c0-0 {
1452 atmel,pins = 1612 atmel,pins =