aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/boot/dts/aks-cdu.dts56
-rw-r--r--arch/arm/boot/dts/animeo_ip.dts53
-rw-r--r--arch/arm/boot/dts/at91-cosino.dtsi83
-rw-r--r--arch/arm/boot/dts/at91-kizbox.dts42
-rw-r--r--arch/arm/boot/dts/at91-kizbox2.dts45
-rw-r--r--arch/arm/boot/dts/at91-kizboxmini.dts52
-rw-r--r--arch/arm/boot/dts/at91-linea.dtsi25
-rw-r--r--arch/arm/boot/dts/at91-qil_a9260.dts103
-rw-r--r--arch/arm/boot/dts/at91-sama5d3_xplained.dts97
-rw-r--r--arch/arm/boot/dts/at91-sama5d4_xplained.dts83
-rw-r--r--arch/arm/boot/dts/at91-sama5d4ek.dts83
-rw-r--r--arch/arm/boot/dts/at91-tse850-3.dts70
-rw-r--r--arch/arm/boot/dts/at91sam9260.dtsi28
-rw-r--r--arch/arm/boot/dts/at91sam9261.dtsi24
-rw-r--r--arch/arm/boot/dts/at91sam9261ek.dts83
-rw-r--r--arch/arm/boot/dts/at91sam9263.dtsi28
-rw-r--r--arch/arm/boot/dts/at91sam9263ek.dts103
-rw-r--r--arch/arm/boot/dts/at91sam9g20ek_common.dtsi103
-rw-r--r--arch/arm/boot/dts/at91sam9g45.dtsi29
-rw-r--r--arch/arm/boot/dts/at91sam9m10g45ek.dts49
-rw-r--r--arch/arm/boot/dts/at91sam9n12.dtsi32
-rw-r--r--arch/arm/boot/dts/at91sam9n12ek.dts26
-rw-r--r--arch/arm/boot/dts/at91sam9rl.dtsi42
-rw-r--r--arch/arm/boot/dts/at91sam9rlek.dts85
-rw-r--r--arch/arm/boot/dts/at91sam9x5.dtsi92
-rw-r--r--arch/arm/boot/dts/at91sam9x5cm.dtsi83
-rw-r--r--arch/arm/boot/dts/ethernut5.dts47
-rw-r--r--arch/arm/boot/dts/ge863-pro3.dtsi41
-rw-r--r--arch/arm/boot/dts/pm9g45.dts99
-rw-r--r--arch/arm/boot/dts/sama5d3.dtsi32
-rw-r--r--arch/arm/boot/dts/sama5d3xcm.dtsi76
-rw-r--r--arch/arm/boot/dts/sama5d3xcm_cmp.dtsi77
-rw-r--r--arch/arm/boot/dts/sama5d4.dtsi31
-rw-r--r--arch/arm/boot/dts/tny_a9260_common.dtsi89
-rw-r--r--arch/arm/boot/dts/tny_a9263.dts103
-rw-r--r--arch/arm/boot/dts/usb_a9260_common.dtsi103
-rw-r--r--arch/arm/boot/dts/usb_a9263.dts103
37 files changed, 1368 insertions, 1032 deletions
diff --git a/arch/arm/boot/dts/aks-cdu.dts b/arch/arm/boot/dts/aks-cdu.dts
index 5b1bf92d927c..888bfcd4a402 100644
--- a/arch/arm/boot/dts/aks-cdu.dts
+++ b/arch/arm/boot/dts/aks-cdu.dts
@@ -62,32 +62,36 @@
62 status = "okay"; 62 status = "okay";
63 }; 63 };
64 64
65 nand0: nand@40000000 { 65 ebi: ebi@10000000 {
66 nand-bus-width = <8>; 66 nand_controller: nand-controller {
67 nand-ecc-mode = "soft"; 67 nand: nand@3 {
68 nand-on-flash-bbt; 68 partitions {
69 status = "okay"; 69 bootstrap@0 {
70 70 label = "bootstrap";
71 bootstrap@0 { 71 reg = <0x0 0x40000>;
72 label = "bootstrap"; 72 };
73 reg = <0x0 0x40000>; 73
74 }; 74 uboot@40000 {
75 75 label = "uboot";
76 uboot@40000 { 76 reg = <0x40000 0x80000>;
77 label = "uboot"; 77 };
78 reg = <0x40000 0x80000>; 78
79 }; 79 ubootenv@c0000 {
80 ubootenv@c0000 { 80 label = "ubootenv";
81 label = "ubootenv"; 81 reg = <0xc0000 0x40000>;
82 reg = <0xc0000 0x40000>; 82 };
83 }; 83
84 kernel@100000 { 84 kernel@100000 {
85 label = "kernel"; 85 label = "kernel";
86 reg = <0x100000 0x400000>; 86 reg = <0x100000 0x400000>;
87 }; 87 };
88 rootfs@500000 { 88
89 label = "rootfs"; 89 rootfs@500000 {
90 reg = <0x500000 0x7b00000>; 90 label = "rootfs";
91 reg = <0x500000 0x7b00000>;
92 };
93 };
94 };
91 }; 95 };
92 }; 96 };
93 }; 97 };
diff --git a/arch/arm/boot/dts/animeo_ip.dts b/arch/arm/boot/dts/animeo_ip.dts
index 9cc372b9fb9b..26ade8c0a960 100644
--- a/arch/arm/boot/dts/animeo_ip.dts
+++ b/arch/arm/boot/dts/animeo_ip.dts
@@ -83,25 +83,44 @@
83 }; 83 };
84 }; 84 };
85 85
86 nand0: nand@40000000 { 86 ebi: ebi@10000000 {
87 nand-bus-width = <8>;
88 nand-ecc-mode = "soft";
89 nand-on-flash-bbt;
90 status = "okay"; 87 status = "okay";
91 88
92 barebox@0 { 89 nand_controller: nand-controller {
93 label = "barebox"; 90 status = "okay";
94 reg = <0x0 0x58000>; 91 pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
95 }; 92 pinctrl-names = "default";
96 93
97 u_boot_env@58000 { 94 nand@3 {
98 label = "u_boot_env"; 95 reg = <0x3 0x0 0x800000>;
99 reg = <0x58000 0x8000>; 96 rb-gpios = <&pioC 13 GPIO_ACTIVE_HIGH>;
100 }; 97 cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
101 98 nand-bus-width = <8>;
102 ubi@60000 { 99 nand-ecc-mode = "soft";
103 label = "ubi"; 100 nand-on-flash-bbt;
104 reg = <0x60000 0x1FA0000>; 101 label = "atmel_nand";
102
103 partitions {
104 compatible = "fixed-partitions";
105 #address-cells = <1>;
106 #size-cells = <1>;
107
108 barebox@0 {
109 label = "barebox";
110 reg = <0x0 0x58000>;
111 };
112
113 u_boot_env@58000 {
114 label = "u_boot_env";
115 reg = <0x58000 0x8000>;
116 };
117
118 ubi@60000 {
119 label = "ubi";
120 reg = <0x60000 0x1FA0000>;
121 };
122 };
123 };
105 }; 124 };
106 }; 125 };
107 126
diff --git a/arch/arm/boot/dts/at91-cosino.dtsi b/arch/arm/boot/dts/at91-cosino.dtsi
index 02d8ef43de3a..89cde175154e 100644
--- a/arch/arm/boot/dts/at91-cosino.dtsi
+++ b/arch/arm/boot/dts/at91-cosino.dtsi
@@ -82,38 +82,61 @@
82 }; 82 };
83 }; 83 };
84 84
85 nand0: nand@40000000 { 85 ebi: ebi@10000000 {
86 nand-bus-width = <8>; 86 pinctrl-0 = <&pinctrl_ebi_addr_nand
87 nand-ecc-mode = "hw"; 87 &pinctrl_ebi_data_0_7>;
88 atmel,has-pmecc; /* Enable PMECC */ 88 pinctrl-names = "default";
89 atmel,pmecc-cap = <4>;
90 atmel,pmecc-sector-size = <512>;
91 nand-on-flash-bbt;
92 status = "okay"; 89 status = "okay";
93 90
94 at91bootstrap@0 { 91 nand_controller: nand-controller {
95 label = "at91bootstrap"; 92 status = "okay";
96 reg = <0x0 0x40000>; 93 pinctrl-0 = <&pinctrl_nand_oe_we
97 }; 94 &pinctrl_nand_cs
98 95 &pinctrl_nand_rb>;
99 uboot@40000 { 96 pinctrl-names = "default";
100 label = "u-boot"; 97
101 reg = <0x40000 0x80000>; 98 nand@3 {
102 }; 99 reg = <0x3 0x0 0x800000>;
103 100 rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
104 ubootenv@c0000 { 101 cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
105 label = "U-Boot Env"; 102 nand-bus-width = <8>;
106 reg = <0xc0000 0x140000>; 103 nand-ecc-mode = "hw";
107 }; 104 nand-ecc-strength = <4>;
108 105 nand-ecc-step-size = <512>;
109 kernel@200000 { 106 nand-on-flash-bbt;
110 label = "kernel"; 107 label = "atmel_nand";
111 reg = <0x200000 0x600000>; 108
112 }; 109 partitions {
113 110 compatible = "fixed-partitions";
114 rootfs@800000 { 111 #address-cells = <1>;
115 label = "rootfs"; 112 #size-cells = <1>;
116 reg = <0x800000 0x0f800000>; 113
114 at91bootstrap@0 {
115 label = "at91bootstrap";
116 reg = <0x0 0x40000>;
117 };
118
119 uboot@40000 {
120 label = "u-boot";
121 reg = <0x40000 0x80000>;
122 };
123
124 ubootenv@c0000 {
125 label = "U-Boot Env";
126 reg = <0xc0000 0x140000>;
127 };
128
129 kernel@200000 {
130 label = "kernel";
131 reg = <0x200000 0x600000>;
132 };
133
134 rootfs@800000 {
135 label = "rootfs";
136 reg = <0x800000 0x0f800000>;
137 };
138 };
139 };
117 }; 140 };
118 }; 141 };
119 }; 142 };
diff --git a/arch/arm/boot/dts/at91-kizbox.dts b/arch/arm/boot/dts/at91-kizbox.dts
index b4f147c193fd..1f31df846d61 100644
--- a/arch/arm/boot/dts/at91-kizbox.dts
+++ b/arch/arm/boot/dts/at91-kizbox.dts
@@ -59,19 +59,39 @@
59 status = "okay"; 59 status = "okay";
60 }; 60 };
61 61
62 nand0: nand@40000000 { 62 ebi: ebi@10000000 {
63 nand-bus-width = <8>;
64 nand-ecc-mode = "soft";
65 status = "okay"; 63 status = "okay";
66 64
67 bootstrap@0 { 65 nand_controller: nand-controller {
68 label = "bootstrap"; 66 status = "okay";
69 reg = <0x0 0x20000>; 67 pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
70 }; 68 pinctrl-names = "default";
71 69
72 ubi@20000 { 70 nand@3 {
73 label = "ubi"; 71 reg = <0x3 0x0 0x800000>;
74 reg = <0x20000 0x7fe0000>; 72 rb-gpios = <&pioC 13 GPIO_ACTIVE_HIGH>;
73 cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
74 nand-bus-width = <8>;
75 nand-ecc-mode = "soft";
76 nand-on-flash-bbt;
77 label = "atmel_nand";
78
79 partitions {
80 compatible = "fixed-partitions";
81 #address-cells = <1>;
82 #size-cells = <1>;
83
84 bootstrap@0 {
85 label = "bootstrap";
86 reg = <0x0 0x20000>;
87 };
88
89 ubi@20000 {
90 label = "ubi";
91 reg = <0x20000 0x7fe0000>;
92 };
93 };
94 };
75 }; 95 };
76 }; 96 };
77 }; 97 };
diff --git a/arch/arm/boot/dts/at91-kizbox2.dts b/arch/arm/boot/dts/at91-kizbox2.dts
index 50a14568f094..4372c0287c1c 100644
--- a/arch/arm/boot/dts/at91-kizbox2.dts
+++ b/arch/arm/boot/dts/at91-kizbox2.dts
@@ -141,23 +141,40 @@
141 status = "okay"; 141 status = "okay";
142 }; 142 };
143 143
144 nand0: nand@60000000 { 144 ebi: ebi@10000000 {
145 nand-bus-width = <8>; 145 pinctrl-0 = <&pinctrl_ebi_nand_addr>;
146 nand-ecc-mode = "hw"; 146 pinctrl-names = "default";
147 atmel,has-pmecc;
148 atmel,pmecc-cap = <4>;
149 atmel,pmecc-sector-size = <512>;
150 nand-on-flash-bbt;
151 status = "okay"; 147 status = "okay";
152 148
153 bootstrap@0 { 149 nand_controller: nand-controller {
154 label = "bootstrap"; 150 status = "okay";
155 reg = <0x0 0x20000>; 151
156 }; 152 nand@3 {
153 reg = <0x3 0x0 0x2>;
154 atmel,rb = <0>;
155 nand-bus-width = <8>;
156 nand-ecc-mode = "hw";
157 nand-ecc-strength = <4>;
158 nand-ecc-step-size = <512>;
159 nand-on-flash-bbt;
160 label = "atmel_nand";
161
162 partitions {
163 compatible = "fixed-partitions";
164 #address-cells = <1>;
165 #size-cells = <1>;
166
167 bootstrap@0 {
168 label = "bootstrap";
169 reg = <0x0 0x20000>;
170 };
157 171
158 ubi@20000 { 172 ubi@20000 {
159 label = "ubi"; 173 label = "ubi";
160 reg = <0x20000 0x7fe0000>; 174 reg = <0x20000 0x7fe0000>;
175 };
176 };
177 };
161 }; 178 };
162 }; 179 };
163 }; 180 };
diff --git a/arch/arm/boot/dts/at91-kizboxmini.dts b/arch/arm/boot/dts/at91-kizboxmini.dts
index 9682d105d4d8..33238fcb6d0b 100644
--- a/arch/arm/boot/dts/at91-kizboxmini.dts
+++ b/arch/arm/boot/dts/at91-kizboxmini.dts
@@ -68,6 +68,49 @@
68 status = "okay"; 68 status = "okay";
69 }; 69 };
70 70
71 ebi: ebi@10000000 {
72 pinctrl-0 = <&pinctrl_ebi_addr_nand
73 &pinctrl_ebi_data_0_7>;
74 pinctrl-names = "default";
75 status = "okay";
76
77 nand_controller: nand-controller {
78 status = "okay";
79 pinctrl-0 = <&pinctrl_nand_oe_we
80 &pinctrl_nand_cs
81 &pinctrl_nand_rb>;
82 pinctrl-names = "default";
83
84 nand@3 {
85 reg = <0x3 0x0 0x800000>;
86 rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
87 cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
88 nand-bus-width = <8>;
89 nand-ecc-mode = "hw";
90 nand-ecc-strength = <4>;
91 nand-ecc-step-size = <512>;
92 nand-on-flash-bbt;
93 label = "atmel_nand";
94
95 partitions {
96 compatible = "fixed-partitions";
97 #address-cells = <1>;
98 #size-cells = <1>;
99
100 bootstrap@0 {
101 label = "bootstrap";
102 reg = <0x0 0x20000>;
103 };
104
105 ubi@20000 {
106 label = "ubi";
107 reg = <0x20000 0x7fe0000>;
108 };
109 };
110 };
111 };
112 };
113
71 nand0: nand@40000000 { 114 nand0: nand@40000000 {
72 nand-bus-width = <8>; 115 nand-bus-width = <8>;
73 nand-ecc-mode = "hw"; 116 nand-ecc-mode = "hw";
@@ -77,15 +120,6 @@
77 nand-on-flash-bbt; 120 nand-on-flash-bbt;
78 status = "okay"; 121 status = "okay";
79 122
80 bootstrap@0 {
81 label = "bootstrap";
82 reg = <0x0 0x20000>;
83 };
84
85 ubi@20000 {
86 label = "ubi";
87 reg = <0x20000 0x7fe0000>;
88 };
89 }; 123 };
90 }; 124 };
91 125
diff --git a/arch/arm/boot/dts/at91-linea.dtsi b/arch/arm/boot/dts/at91-linea.dtsi
index 9bf9aaeff3e8..87e5090fb4c4 100644
--- a/arch/arm/boot/dts/at91-linea.dtsi
+++ b/arch/arm/boot/dts/at91-linea.dtsi
@@ -37,13 +37,24 @@
37 }; 37 };
38}; 38};
39 39
40&nand0 { 40&ebi {
41 pinctrl-0 = <&pinctrl_ebi_nand_addr>;
42 pinctrl-names = "default";
41 status = "okay"; 43 status = "okay";
44};
45
42 46
43 nand-bus-width = <8>; 47&nand_controller {
44 nand-ecc-mode = "hw"; 48 status = "okay";
45 atmel,has-pmecc; 49
46 atmel,pmecc-cap = <4>; 50 nand: nand@3 {
47 atmel,pmecc-sector-size = <512>; 51 reg = <0x3 0x0 0x2>;
48 nand-on-flash-bbt; 52 atmel,rb = <0>;
53 nand-bus-width = <8>;
54 nand-ecc-mode = "hw";
55 nand-ecc-strength = <4>;
56 nand-ecc-step-size = <512>;
57 nand-on-flash-bbt;
58 label = "atmel_nand";
59 };
49}; 60};
diff --git a/arch/arm/boot/dts/at91-qil_a9260.dts b/arch/arm/boot/dts/at91-qil_a9260.dts
index 8f019184fccf..f46352790a41 100644
--- a/arch/arm/boot/dts/at91-qil_a9260.dts
+++ b/arch/arm/boot/dts/at91-qil_a9260.dts
@@ -107,50 +107,69 @@
107 status = "okay"; 107 status = "okay";
108 }; 108 };
109 109
110 nand0: nand@40000000 { 110 ebi: ebi@10000000 {
111 nand-bus-width = <8>;
112 nand-ecc-mode = "soft";
113 nand-on-flash-bbt;
114 status = "okay"; 111 status = "okay";
115 112
116 at91bootstrap@0 { 113 nand_controller: nand-controller {
117 label = "at91bootstrap"; 114 status = "okay";
118 reg = <0x0 0x20000>; 115 pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
119 }; 116 pinctrl-names = "default";
120 117
121 barebox@20000 { 118 nand@3 {
122 label = "barebox"; 119 reg = <0x3 0x0 0x800000>;
123 reg = <0x20000 0x40000>; 120 rb-gpios = <&pioC 13 GPIO_ACTIVE_HIGH>;
124 }; 121 cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
125 122 nand-bus-width = <8>;
126 bareboxenv@60000 { 123 nand-ecc-mode = "soft";
127 label = "bareboxenv"; 124 nand-on-flash-bbt;
128 reg = <0x60000 0x20000>; 125 label = "atmel_nand";
129 }; 126
130 127 partitions {
131 bareboxenv2@80000 { 128 compatible = "fixed-partitions";
132 label = "bareboxenv2"; 129 #address-cells = <1>;
133 reg = <0x80000 0x20000>; 130 #size-cells = <1>;
134 }; 131
135 132 at91bootstrap@0 {
136 oftree@a0000 { 133 label = "at91bootstrap";
137 label = "oftree"; 134 reg = <0x0 0x20000>;
138 reg = <0xa0000 0x20000>; 135 };
139 }; 136
140 137 barebox@20000 {
141 kernel@c0000 { 138 label = "barebox";
142 label = "kernel"; 139 reg = <0x20000 0x40000>;
143 reg = <0xc0000 0x400000>; 140 };
144 }; 141
145 142 bareboxenv@60000 {
146 rootfs@4c0000 { 143 label = "bareboxenv";
147 label = "rootfs"; 144 reg = <0x60000 0x20000>;
148 reg = <0x4c0000 0x7800000>; 145 };
149 }; 146
150 147 bareboxenv2@80000 {
151 data@7cc0000 { 148 label = "bareboxenv2";
152 label = "data"; 149 reg = <0x80000 0x20000>;
153 reg = <0x7cc0000 0x8340000>; 150 };
151
152 oftree@a0000 {
153 label = "oftree";
154 reg = <0xa0000 0x20000>;
155 };
156
157 kernel@c0000 {
158 label = "kernel";
159 reg = <0xc0000 0x400000>;
160 };
161
162 rootfs@4c0000 {
163 label = "rootfs";
164 reg = <0x4c0000 0x7800000>;
165 };
166
167 data@7cc0000 {
168 label = "data";
169 reg = <0x7cc0000 0x8340000>;
170 };
171 };
172 };
154 }; 173 };
155 }; 174 };
156 }; 175 };
diff --git a/arch/arm/boot/dts/at91-sama5d3_xplained.dts b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
index 5a53fcf542ab..3af088d2cba7 100644
--- a/arch/arm/boot/dts/at91-sama5d3_xplained.dts
+++ b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
@@ -235,46 +235,6 @@
235 }; 235 };
236 }; 236 };
237 237
238 nand0: nand@60000000 {
239 nand-bus-width = <8>;
240 nand-ecc-mode = "hw";
241 atmel,has-pmecc;
242 atmel,pmecc-cap = <4>;
243 atmel,pmecc-sector-size = <512>;
244 nand-on-flash-bbt;
245 status = "okay";
246
247 at91bootstrap@0 {
248 label = "at91bootstrap";
249 reg = <0x0 0x40000>;
250 };
251
252 bootloader@40000 {
253 label = "bootloader";
254 reg = <0x40000 0x80000>;
255 };
256
257 bootloaderenv@c0000 {
258 label = "bootloader env";
259 reg = <0xc0000 0xc0000>;
260 };
261
262 dtb@180000 {
263 label = "device tree";
264 reg = <0x180000 0x80000>;
265 };
266
267 kernel@200000 {
268 label = "kernel";
269 reg = <0x200000 0x600000>;
270 };
271
272 rootfs@800000 {
273 label = "rootfs";
274 reg = <0x800000 0x0f800000>;
275 };
276 };
277
278 usb0: gadget@00500000 { 238 usb0: gadget@00500000 {
279 atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>; /* PE9, conflicts with A9 */ 239 atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>; /* PE9, conflicts with A9 */
280 pinctrl-names = "default"; 240 pinctrl-names = "default";
@@ -294,6 +254,63 @@
294 usb2: ehci@00700000 { 254 usb2: ehci@00700000 {
295 status = "okay"; 255 status = "okay";
296 }; 256 };
257
258 ebi: ebi@10000000 {
259 pinctrl-0 = <&pinctrl_ebi_nand_addr>;
260 pinctrl-names = "default";
261 status = "okay";
262
263 nand_controller: nand-controller {
264 status = "okay";
265
266 nand@3 {
267 reg = <0x3 0x0 0x2>;
268 atmel,rb = <0>;
269 nand-bus-width = <8>;
270 nand-ecc-mode = "hw";
271 nand-ecc-strength = <4>;
272 nand-ecc-step-size = <512>;
273 nand-on-flash-bbt;
274 label = "atmel_nand";
275
276 partitions {
277 compatible = "fixed-partitions";
278 #address-cells = <1>;
279 #size-cells = <1>;
280
281 at91bootstrap@0 {
282 label = "at91bootstrap";
283 reg = <0x0 0x40000>;
284 };
285
286 bootloader@40000 {
287 label = "bootloader";
288 reg = <0x40000 0x80000>;
289 };
290
291 bootloaderenv@c0000 {
292 label = "bootloader env";
293 reg = <0xc0000 0xc0000>;
294 };
295
296 dtb@180000 {
297 label = "device tree";
298 reg = <0x180000 0x80000>;
299 };
300
301 kernel@200000 {
302 label = "kernel";
303 reg = <0x200000 0x600000>;
304 };
305
306 rootfs@800000 {
307 label = "rootfs";
308 reg = <0x800000 0x0f800000>;
309 };
310 };
311 };
312 };
313 };
297 }; 314 };
298 315
299 vcc_mmc0_reg: fixedregulator_mmc0 { 316 vcc_mmc0_reg: fixedregulator_mmc0 {
diff --git a/arch/arm/boot/dts/at91-sama5d4_xplained.dts b/arch/arm/boot/dts/at91-sama5d4_xplained.dts
index 5ab14cedb1db..cf712444b2c2 100644
--- a/arch/arm/boot/dts/at91-sama5d4_xplained.dts
+++ b/arch/arm/boot/dts/at91-sama5d4_xplained.dts
@@ -190,41 +190,60 @@
190 status = "okay"; 190 status = "okay";
191 }; 191 };
192 192
193 nand0: nand@80000000 { 193 ebi: ebi@10000000 {
194 nand-bus-width = <8>; 194 pinctrl-0 = <&pinctrl_ebi_cs3 &pinctrl_ebi_nrd_nandoe
195 nand-ecc-mode = "hw"; 195 &pinctrl_ebi_nwe_nandwe &pinctrl_ebi_nandrdy
196 nand-on-flash-bbt; 196 &pinctrl_ebi_data_0_7 &pinctrl_ebi_nand_addr>;
197 atmel,has-pmecc; 197 pinctrl-names = "default";
198 status = "okay"; 198 status = "okay";
199 199
200 at91bootstrap@0 { 200 nand_controller: nand-controller {
201 label = "at91bootstrap"; 201 status = "okay";
202 reg = <0x0 0x40000>;
203 };
204
205 bootloader@40000 {
206 label = "bootloader";
207 reg = <0x40000 0x80000>;
208 };
209
210 bootloaderenv@c0000 {
211 label = "bootloader env";
212 reg = <0xc0000 0xc0000>;
213 };
214
215 dtb@180000 {
216 label = "device tree";
217 reg = <0x180000 0x80000>;
218 };
219
220 kernel@200000 {
221 label = "kernel";
222 reg = <0x200000 0x600000>;
223 };
224 202
225 rootfs@800000 { 203 nand@3 {
226 label = "rootfs"; 204 reg = <0x3 0x0 0x2>;
227 reg = <0x800000 0x0f800000>; 205 atmel,rb = <0>;
206 nand-bus-width = <8>;
207 nand-ecc-mode = "hw";
208 nand-on-flash-bbt;
209 label = "atmel_nand";
210
211 partitions {
212 compatible = "fixed-partitions";
213 #address-cells = <1>;
214 #size-cells = <1>;
215
216 at91bootstrap@0 {
217 label = "at91bootstrap";
218 reg = <0x0 0x40000>;
219 };
220
221 bootloader@40000 {
222 label = "bootloader";
223 reg = <0x40000 0x80000>;
224 };
225
226 bootloaderenv@c0000 {
227 label = "bootloader env";
228 reg = <0xc0000 0xc0000>;
229 };
230
231 dtb@180000 {
232 label = "device tree";
233 reg = <0x180000 0x80000>;
234 };
235
236 kernel@200000 {
237 label = "kernel";
238 reg = <0x200000 0x600000>;
239 };
240
241 rootfs@800000 {
242 label = "rootfs";
243 reg = <0x800000 0x0f800000>;
244 };
245 };
246 };
228 }; 247 };
229 }; 248 };
230 }; 249 };
diff --git a/arch/arm/boot/dts/at91-sama5d4ek.dts b/arch/arm/boot/dts/at91-sama5d4ek.dts
index f8b96cef5e1a..bae5248f126e 100644
--- a/arch/arm/boot/dts/at91-sama5d4ek.dts
+++ b/arch/arm/boot/dts/at91-sama5d4ek.dts
@@ -236,41 +236,60 @@
236 status = "okay"; 236 status = "okay";
237 }; 237 };
238 238
239 nand0: nand@80000000 { 239 ebi: ebi@10000000 {
240 nand-bus-width = <8>; 240 pinctrl-0 = <&pinctrl_ebi_cs3 &pinctrl_ebi_nrd_nandoe
241 nand-ecc-mode = "hw"; 241 &pinctrl_ebi_nwe_nandwe &pinctrl_ebi_nandrdy
242 nand-on-flash-bbt; 242 &pinctrl_ebi_data_0_7 &pinctrl_ebi_nand_addr>;
243 atmel,has-pmecc; 243 pinctrl-names = "default";
244 status = "okay"; 244 status = "okay";
245 245
246 at91bootstrap@0 { 246 nand_controller: nand-controller {
247 label = "at91bootstrap"; 247 status = "okay";
248 reg = <0x0 0x40000>;
249 };
250
251 bootloader@40000 {
252 label = "bootloader";
253 reg = <0x40000 0x80000>;
254 };
255
256 bootloaderenv@c0000 {
257 label = "bootloader env";
258 reg = <0xc0000 0xc0000>;
259 };
260
261 dtb@180000 {
262 label = "device tree";
263 reg = <0x180000 0x80000>;
264 };
265
266 kernel@200000 {
267 label = "kernel";
268 reg = <0x200000 0x600000>;
269 };
270 248
271 rootfs@800000 { 249 nand@3 {
272 label = "rootfs"; 250 reg = <0x3 0x0 0x2>;
273 reg = <0x800000 0x0f800000>; 251 atmel,rb = <0>;
252 nand-bus-width = <8>;
253 nand-ecc-mode = "hw";
254 nand-on-flash-bbt;
255 label = "atmel_nand";
256
257 partitions {
258 compatible = "fixed-partitions";
259 #address-cells = <1>;
260 #size-cells = <1>;
261
262 at91bootstrap@0 {
263 label = "at91bootstrap";
264 reg = <0x0 0x40000>;
265 };
266
267 bootloader@40000 {
268 label = "bootloader";
269 reg = <0x40000 0x80000>;
270 };
271
272 bootloaderenv@c0000 {
273 label = "bootloader env";
274 reg = <0xc0000 0xc0000>;
275 };
276
277 dtb@180000 {
278 label = "device tree";
279 reg = <0x180000 0x80000>;
280 };
281
282 kernel@200000 {
283 label = "kernel";
284 reg = <0x200000 0x600000>;
285 };
286
287 rootfs@800000 {
288 label = "rootfs";
289 reg = <0x800000 0x0f800000>;
290 };
291 };
292 };
274 }; 293 };
275 }; 294 };
276 }; 295 };
diff --git a/arch/arm/boot/dts/at91-tse850-3.dts b/arch/arm/boot/dts/at91-tse850-3.dts
index a5c0dd630253..5f29010cdbd8 100644
--- a/arch/arm/boot/dts/at91-tse850-3.dts
+++ b/arch/arm/boot/dts/at91-tse850-3.dts
@@ -161,45 +161,51 @@
161 }; 161 };
162}; 162};
163 163
164&nand0 { 164&nand {
165 at91bootstrap@0 { 165 partitions {
166 label = "at91bootstrap"; 166 compatible = "fixed-partitions";
167 reg = <0x0 0x40000>; 167 #address-cells = <1>;
168 }; 168 #size-cells = <1>;
169
170 at91bootstrap@0 {
171 label = "at91bootstrap";
172 reg = <0x0 0x40000>;
173 };
169 174
170 barebox@40000 { 175 barebox@40000 {
171 label = "bootloader"; 176 label = "bootloader";
172 reg = <0x40000 0x60000>; 177 reg = <0x40000 0x60000>;
173 }; 178 };
174 179
175 bareboxenv@c0000 { 180 bareboxenv@c0000 {
176 label = "bareboxenv"; 181 label = "bareboxenv";
177 reg = <0xc0000 0x40000>; 182 reg = <0xc0000 0x40000>;
178 }; 183 };
179 184
180 bareboxenv2@100000 { 185 bareboxenv2@100000 {
181 label = "bareboxenv2"; 186 label = "bareboxenv2";
182 reg = <0x100000 0x40000>; 187 reg = <0x100000 0x40000>;
183 }; 188 };
184 189
185 oftree@180000 { 190 oftree@180000 {
186 label = "oftree"; 191 label = "oftree";
187 reg = <0x180000 0x20000>; 192 reg = <0x180000 0x20000>;
188 }; 193 };
189 194
190 kernel@200000 { 195 kernel@200000 {
191 label = "kernel"; 196 label = "kernel";
192 reg = <0x200000 0x500000>; 197 reg = <0x200000 0x500000>;
193 }; 198 };
194 199
195 rootfs@800000 { 200 rootfs@800000 {
196 label = "rootfs"; 201 label = "rootfs";
197 reg = <0x800000 0x0f800000>; 202 reg = <0x800000 0x0f800000>;
198 }; 203 };
199 204
200 ovlfs@10000000 { 205 ovlfs@10000000 {
201 label = "ovlfs"; 206 label = "ovlfs";
202 reg = <0x10000000 0x10000000>; 207 reg = <0x10000000 0x10000000>;
208 };
203 }; 209 };
204}; 210};
205 211
diff --git a/arch/arm/boot/dts/at91sam9260.dtsi b/arch/arm/boot/dts/at91sam9260.dtsi
index ab0e73374567..6582f3cca929 100644
--- a/arch/arm/boot/dts/at91sam9260.dtsi
+++ b/arch/arm/boot/dts/at91sam9260.dtsi
@@ -532,10 +532,14 @@
532 }; 532 };
533 533
534 nand { 534 nand {
535 pinctrl_nand: nand-0 { 535 pinctrl_nand_rb: nand-rb-0 {
536 atmel,pins = 536 atmel,pins =
537 <AT91_PIOC 13 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PC13 gpio RDY pin pull_up */ 537 <AT91_PIOC 13 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
538 AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PC14 gpio enable pin pull_up */ 538 };
539
540 pinctrl_nand_cs: nand-cs-0 {
541 atmel,pins =
542 <AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
539 }; 543 };
540 }; 544 };
541 545
@@ -995,24 +999,6 @@
995 }; 999 };
996 }; 1000 };
997 1001
998 nand0: nand@40000000 {
999 compatible = "atmel,at91rm9200-nand";
1000 #address-cells = <1>;
1001 #size-cells = <1>;
1002 reg = <0x40000000 0x10000000
1003 0xffffe800 0x200
1004 >;
1005 atmel,nand-addr-offset = <21>;
1006 atmel,nand-cmd-offset = <22>;
1007 pinctrl-names = "default";
1008 pinctrl-0 = <&pinctrl_nand>;
1009 gpios = <&pioC 13 GPIO_ACTIVE_HIGH
1010 &pioC 14 GPIO_ACTIVE_HIGH
1011 0
1012 >;
1013 status = "disabled";
1014 };
1015
1016 usb0: ohci@500000 { 1002 usb0: ohci@500000 {
1017 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 1003 compatible = "atmel,at91rm9200-ohci", "usb-ohci";
1018 reg = <0x00500000 0x100000>; 1004 reg = <0x00500000 0x100000>;
diff --git a/arch/arm/boot/dts/at91sam9261.dtsi b/arch/arm/boot/dts/at91sam9261.dtsi
index 3ab0c21134f1..a05353f96151 100644
--- a/arch/arm/boot/dts/at91sam9261.dtsi
+++ b/arch/arm/boot/dts/at91sam9261.dtsi
@@ -118,22 +118,6 @@
118 }; 118 };
119 }; 119 };
120 120
121 nand0: nand@40000000 {
122 compatible = "atmel,at91rm9200-nand";
123 #address-cells = <1>;
124 #size-cells = <1>;
125 reg = <0x40000000 0x10000000>;
126 atmel,nand-addr-offset = <22>;
127 atmel,nand-cmd-offset = <21>;
128 pinctrl-names = "default";
129 pinctrl-0 = <&pinctrl_nand>;
130
131 gpios = <&pioC 15 GPIO_ACTIVE_HIGH>,
132 <&pioC 14 GPIO_ACTIVE_HIGH>,
133 <0>;
134 status = "disabled";
135 };
136
137 apb { 121 apb {
138 compatible = "simple-bus"; 122 compatible = "simple-bus";
139 #address-cells = <1>; 123 #address-cells = <1>;
@@ -394,9 +378,13 @@
394 }; 378 };
395 379
396 nand { 380 nand {
397 pinctrl_nand: nand-0 { 381 pinctrl_nand_rb: nand-rb-0 {
382 atmel,pins =
383 <AT91_PIOC 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
384 };
385
386 pinctrl_nand_cs: nand-cs-0 {
398 atmel,pins = 387 atmel,pins =
399 <AT91_PIOC 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>,
400 <AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; 388 <AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
401 }; 389 };
402 }; 390 };
diff --git a/arch/arm/boot/dts/at91sam9261ek.dts b/arch/arm/boot/dts/at91sam9261ek.dts
index 55bd51f07fa6..157e1493e6eb 100644
--- a/arch/arm/boot/dts/at91sam9261ek.dts
+++ b/arch/arm/boot/dts/at91sam9261ek.dts
@@ -68,40 +68,59 @@
68 }; 68 };
69 }; 69 };
70 70
71 nand0: nand@40000000 { 71 ebi: ebi@10000000 {
72 nand-bus-width = <8>;
73 nand-ecc-mode = "soft";
74 nand-on-flash-bbt;
75 status = "okay"; 72 status = "okay";
76 73
77 at91bootstrap@0 { 74 nand_controller: nand-controller {
78 label = "at91bootstrap"; 75 status = "okay";
79 reg = <0x0 0x40000>; 76 pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
80 }; 77 pinctrl-names = "default";
81 78
82 bootloader@40000 { 79 nand@3 {
83 label = "bootloader"; 80 reg = <0x3 0x0 0x800000>;
84 reg = <0x40000 0x80000>; 81 rb-gpios = <&pioC 15 GPIO_ACTIVE_HIGH>;
85 }; 82 cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
86 83 nand-bus-width = <8>;
87 bootloaderenv@c0000 { 84 nand-ecc-mode = "soft";
88 label = "bootloader env"; 85 nand-on-flash-bbt;
89 reg = <0xc0000 0xc0000>; 86 label = "atmel_nand";
90 }; 87
91 88 partitions {
92 dtb@180000 { 89 compatible = "fixed-partitions";
93 label = "device tree"; 90 #address-cells = <1>;
94 reg = <0x180000 0x80000>; 91 #size-cells = <1>;
95 }; 92
96 93 at91bootstrap@0 {
97 kernel@200000 { 94 label = "at91bootstrap";
98 label = "kernel"; 95 reg = <0x0 0x40000>;
99 reg = <0x200000 0x600000>; 96 };
100 }; 97
101 98 bootloader@40000 {
102 rootfs@800000 { 99 label = "bootloader";
103 label = "rootfs"; 100 reg = <0x40000 0x80000>;
104 reg = <0x800000 0x0f800000>; 101 };
102
103 bootloaderenv@c0000 {
104 label = "bootloader env";
105 reg = <0xc0000 0xc0000>;
106 };
107
108 dtb@180000 {
109 label = "device tree";
110 reg = <0x180000 0x80000>;
111 };
112
113 kernel@200000 {
114 label = "kernel";
115 reg = <0x200000 0x600000>;
116 };
117
118 rootfs@800000 {
119 label = "rootfs";
120 reg = <0x800000 0x0f800000>;
121 };
122 };
123 };
105 }; 124 };
106 }; 125 };
107 126
diff --git a/arch/arm/boot/dts/at91sam9263.dtsi b/arch/arm/boot/dts/at91sam9263.dtsi
index db9f3a02f2fa..ed4b564f8de5 100644
--- a/arch/arm/boot/dts/at91sam9263.dtsi
+++ b/arch/arm/boot/dts/at91sam9263.dtsi
@@ -487,10 +487,14 @@
487 }; 487 };
488 488
489 nand { 489 nand {
490 pinctrl_nand: nand-0 { 490 pinctrl_nand_rb: nand-rb-0 {
491 atmel,pins = 491 atmel,pins =
492 <AT91_PIOA 22 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PA22 gpio RDY pin pull_up*/ 492 <AT91_PIOA 22 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
493 AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PD15 gpio enable pin pull_up */ 493 };
494
495 pinctrl_nand_cs: nand-cs-0 {
496 atmel,pins =
497 <AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
494 }; 498 };
495 }; 499 };
496 500
@@ -1006,24 +1010,6 @@
1006 status = "disabled"; 1010 status = "disabled";
1007 }; 1011 };
1008 1012
1009 nand0: nand@40000000 {
1010 compatible = "atmel,at91rm9200-nand";
1011 #address-cells = <1>;
1012 #size-cells = <1>;
1013 reg = <0x40000000 0x10000000
1014 0xffffe000 0x200
1015 >;
1016 atmel,nand-addr-offset = <21>;
1017 atmel,nand-cmd-offset = <22>;
1018 pinctrl-names = "default";
1019 pinctrl-0 = <&pinctrl_nand>;
1020 gpios = <&pioA 22 GPIO_ACTIVE_HIGH
1021 &pioD 15 GPIO_ACTIVE_HIGH
1022 0
1023 >;
1024 status = "disabled";
1025 };
1026
1027 usb0: ohci@00a00000 { 1013 usb0: ohci@00a00000 {
1028 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 1014 compatible = "atmel,at91rm9200-ohci", "usb-ohci";
1029 reg = <0x00a00000 0x100000>; 1015 reg = <0x00a00000 0x100000>;
diff --git a/arch/arm/boot/dts/at91sam9263ek.dts b/arch/arm/boot/dts/at91sam9263ek.dts
index 127cc42e9e29..10a0925da10e 100644
--- a/arch/arm/boot/dts/at91sam9263ek.dts
+++ b/arch/arm/boot/dts/at91sam9263ek.dts
@@ -125,50 +125,69 @@
125 }; 125 };
126 }; 126 };
127 127
128 nand0: nand@40000000 { 128 ebi0: ebi@10000000 {
129 nand-bus-width = <8>;
130 nand-ecc-mode = "soft";
131 nand-on-flash-bbt = <1>;
132 status = "okay"; 129 status = "okay";
133 130
134 at91bootstrap@0 { 131 nand_controller: nand-controller {
135 label = "at91bootstrap"; 132 status = "okay";
136 reg = <0x0 0x20000>; 133 pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
137 }; 134 pinctrl-names = "default";
138 135
139 barebox@20000 { 136 nand@3 {
140 label = "barebox"; 137 reg = <0x3 0x0 0x800000>;
141 reg = <0x20000 0x40000>; 138 rb-gpios = <&pioA 22 GPIO_ACTIVE_HIGH>;
142 }; 139 cs-gpios = <&pioA 15 GPIO_ACTIVE_HIGH>;
143 140 nand-bus-width = <8>;
144 bareboxenv@60000 { 141 nand-ecc-mode = "soft";
145 label = "bareboxenv"; 142 nand-on-flash-bbt;
146 reg = <0x60000 0x20000>; 143 label = "atmel_nand";
147 }; 144
148 145 partitions {
149 bareboxenv2@80000 { 146 compatible = "fixed-partitions";
150 label = "bareboxenv2"; 147 #address-cells = <1>;
151 reg = <0x80000 0x20000>; 148 #size-cells = <1>;
152 }; 149
153 150 at91bootstrap@0 {
154 oftree@80000 { 151 label = "at91bootstrap";
155 label = "oftree"; 152 reg = <0x0 0x20000>;
156 reg = <0xa0000 0x20000>; 153 };
157 }; 154
158 155 barebox@20000 {
159 kernel@a0000 { 156 label = "barebox";
160 label = "kernel"; 157 reg = <0x20000 0x40000>;
161 reg = <0xc0000 0x400000>; 158 };
162 }; 159
163 160 bareboxenv@60000 {
164 rootfs@4a0000 { 161 label = "bareboxenv";
165 label = "rootfs"; 162 reg = <0x60000 0x20000>;
166 reg = <0x4c0000 0x7800000>; 163 };
167 }; 164
168 165 bareboxenv2@80000 {
169 data@7ca0000 { 166 label = "bareboxenv2";
170 label = "data"; 167 reg = <0x80000 0x20000>;
171 reg = <0x7cc0000 0x8340000>; 168 };
169
170 oftree@80000 {
171 label = "oftree";
172 reg = <0xa0000 0x20000>;
173 };
174
175 kernel@a0000 {
176 label = "kernel";
177 reg = <0xc0000 0x400000>;
178 };
179
180 rootfs@4a0000 {
181 label = "rootfs";
182 reg = <0x4c0000 0x7800000>;
183 };
184
185 data@7ca0000 {
186 label = "data";
187 reg = <0x7cc0000 0x8340000>;
188 };
189 };
190 };
172 }; 191 };
173 }; 192 };
174 193
diff --git a/arch/arm/boot/dts/at91sam9g20ek_common.dtsi b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
index 27847a47c108..ac9a1511e239 100644
--- a/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
+++ b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
@@ -123,50 +123,69 @@
123 }; 123 };
124 }; 124 };
125 125
126 nand0: nand@40000000 { 126 ebi: ebi@10000000 {
127 nand-bus-width = <8>;
128 nand-ecc-mode = "soft";
129 nand-on-flash-bbt;
130 status = "okay"; 127 status = "okay";
131 128
132 at91bootstrap@0 { 129 nand_controller: nand-controller {
133 label = "at91bootstrap"; 130 status = "okay";
134 reg = <0x0 0x20000>; 131 pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
135 }; 132 pinctrl-names = "default";
136 133
137 barebox@20000 { 134 nand@3 {
138 label = "barebox"; 135 reg = <0x3 0x0 0x800000>;
139 reg = <0x20000 0x40000>; 136 rb-gpios = <&pioC 13 GPIO_ACTIVE_HIGH>;
140 }; 137 cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
141 138 nand-bus-width = <8>;
142 bareboxenv@60000 { 139 nand-ecc-mode = "soft";
143 label = "bareboxenv"; 140 nand-on-flash-bbt;
144 reg = <0x60000 0x20000>; 141 label = "atmel_nand";
145 }; 142
146 143 partitions {
147 bareboxenv2@80000 { 144 compatible = "fixed-partitions";
148 label = "bareboxenv2"; 145 #address-cells = <1>;
149 reg = <0x80000 0x20000>; 146 #size-cells = <1>;
150 }; 147
151 148 at91bootstrap@0 {
152 oftree@80000 { 149 label = "at91bootstrap";
153 label = "oftree"; 150 reg = <0x0 0x20000>;
154 reg = <0xa0000 0x20000>; 151 };
155 }; 152
156 153 barebox@20000 {
157 kernel@a0000 { 154 label = "barebox";
158 label = "kernel"; 155 reg = <0x20000 0x40000>;
159 reg = <0xc0000 0x400000>; 156 };
160 }; 157
161 158 bareboxenv@60000 {
162 rootfs@4a0000 { 159 label = "bareboxenv";
163 label = "rootfs"; 160 reg = <0x60000 0x20000>;
164 reg = <0x4c0000 0x7800000>; 161 };
165 }; 162
166 163 bareboxenv2@80000 {
167 data@7ca0000 { 164 label = "bareboxenv2";
168 label = "data"; 165 reg = <0x80000 0x20000>;
169 reg = <0x7cc0000 0x8340000>; 166 };
167
168 oftree@80000 {
169 label = "oftree";
170 reg = <0xa0000 0x20000>;
171 };
172
173 kernel@a0000 {
174 label = "kernel";
175 reg = <0xc0000 0x400000>;
176 };
177
178 rootfs@4a0000 {
179 label = "rootfs";
180 reg = <0x4c0000 0x7800000>;
181 };
182
183 data@7ca0000 {
184 label = "data";
185 reg = <0x7cc0000 0x8340000>;
186 };
187 };
188 };
170 }; 189 };
171 }; 190 };
172 191
diff --git a/arch/arm/boot/dts/at91sam9g45.dtsi b/arch/arm/boot/dts/at91sam9g45.dtsi
index 392dcfb79b57..a4808c4fbc05 100644
--- a/arch/arm/boot/dts/at91sam9g45.dtsi
+++ b/arch/arm/boot/dts/at91sam9g45.dtsi
@@ -611,10 +611,14 @@
611 }; 611 };
612 612
613 nand { 613 nand {
614 pinctrl_nand: nand-0 { 614 pinctrl_nand_rb: nand-rb-0 {
615 atmel,pins = 615 atmel,pins =
616 <AT91_PIOC 8 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PC8 gpio RDY pin pull_up*/ 616 <AT91_PIOC 8 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
617 AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PC14 gpio enable pin pull_up */ 617 };
618
619 pinctrl_nand_cs: nand-cs-0 {
620 atmel,pins =
621 <AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
618 }; 622 };
619 }; 623 };
620 624
@@ -1288,25 +1292,6 @@
1288 status = "disabled"; 1292 status = "disabled";
1289 }; 1293 };
1290 1294
1291 nand0: nand@40000000 {
1292 compatible = "atmel,at91rm9200-nand";
1293 #address-cells = <1>;
1294 #size-cells = <1>;
1295 reg = <0x40000000 0x10000000
1296 0xffffe200 0x200
1297 >;
1298 atmel,nand-addr-offset = <21>;
1299 atmel,nand-cmd-offset = <22>;
1300 atmel,nand-has-dma;
1301 pinctrl-names = "default";
1302 pinctrl-0 = <&pinctrl_nand>;
1303 gpios = <&pioC 8 GPIO_ACTIVE_HIGH
1304 &pioC 14 GPIO_ACTIVE_HIGH
1305 0
1306 >;
1307 status = "disabled";
1308 };
1309
1310 usb0: ohci@00700000 { 1295 usb0: ohci@00700000 {
1311 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 1296 compatible = "atmel,at91rm9200-ohci", "usb-ohci";
1312 reg = <0x00700000 0x100000>; 1297 reg = <0x00700000 0x100000>;
diff --git a/arch/arm/boot/dts/at91sam9m10g45ek.dts b/arch/arm/boot/dts/at91sam9m10g45ek.dts
index 2400c99134f7..2522c3308305 100644
--- a/arch/arm/boot/dts/at91sam9m10g45ek.dts
+++ b/arch/arm/boot/dts/at91sam9m10g45ek.dts
@@ -245,25 +245,44 @@
245 }; 245 };
246 }; 246 };
247 247
248 nand0: nand@40000000 { 248 ebi: ebi@10000000 {
249 nand-bus-width = <8>;
250 nand-ecc-mode = "soft";
251 nand-on-flash-bbt;
252 status = "okay"; 249 status = "okay";
253 250
254 boot@0 { 251 nand_controller: nand-controller {
255 label = "bootstrap/uboot/kernel"; 252 status = "okay";
256 reg = <0x0 0x400000>; 253 pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
257 }; 254 pinctrl-names = "default";
258 255
259 rootfs@400000 { 256 nand@3 {
260 label = "rootfs"; 257 reg = <0x3 0x0 0x800000>;
261 reg = <0x400000 0x3C00000>; 258 rb-gpios = <&pioC 8 GPIO_ACTIVE_HIGH>;
262 }; 259 cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
260 nand-bus-width = <8>;
261 nand-ecc-mode = "soft";
262 nand-on-flash-bbt;
263 label = "atmel_nand";
264
265 partitions {
266 compatible = "fixed-partitions";
267 #address-cells = <1>;
268 #size-cells = <1>;
269
270 boot@0 {
271 label = "bootstrap/uboot/kernel";
272 reg = <0x0 0x400000>;
273 };
263 274
264 data@4000000 { 275 rootfs@400000 {
265 label = "data"; 276 label = "rootfs";
266 reg = <0x4000000 0xC000000>; 277 reg = <0x400000 0x3C00000>;
278 };
279
280 data@4000000 {
281 label = "data";
282 reg = <0x4000000 0xC000000>;
283 };
284 };
285 };
267 }; 286 };
268 }; 287 };
269 288
diff --git a/arch/arm/boot/dts/at91sam9n12.dtsi b/arch/arm/boot/dts/at91sam9n12.dtsi
index df06a66ace07..06516d02d351 100644
--- a/arch/arm/boot/dts/at91sam9n12.dtsi
+++ b/arch/arm/boot/dts/at91sam9n12.dtsi
@@ -643,10 +643,14 @@
643 }; 643 };
644 644
645 nand { 645 nand {
646 pinctrl_nand: nand-0 { 646 pinctrl_nand_rb: nand-rb-0 {
647 atmel,pins = 647 atmel,pins =
648 <AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PD5 gpio RDY pin pull_up*/ 648 <AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
649 AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PD4 gpio enable pin pull_up */ 649 };
650
651 pinctrl_nand_cs: nand-cs-0 {
652 atmel,pins =
653 <AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
650 }; 654 };
651 }; 655 };
652 656
@@ -1014,28 +1018,6 @@
1014 }; 1018 };
1015 }; 1019 };
1016 1020
1017 nand0: nand@40000000 {
1018 compatible = "atmel,at91rm9200-nand";
1019 #address-cells = <1>;
1020 #size-cells = <1>;
1021 reg = < 0x40000000 0x10000000
1022 0xffffe000 0x00000600
1023 0xffffe600 0x00000200
1024 0x00108000 0x00018000
1025 >;
1026 atmel,pmecc-lookup-table-offset = <0x0 0x8000>;
1027 atmel,nand-addr-offset = <21>;
1028 atmel,nand-cmd-offset = <22>;
1029 atmel,nand-has-dma;
1030 pinctrl-names = "default";
1031 pinctrl-0 = <&pinctrl_nand>;
1032 gpios = <&pioD 5 GPIO_ACTIVE_HIGH
1033 &pioD 4 GPIO_ACTIVE_HIGH
1034 0
1035 >;
1036 status = "disabled";
1037 };
1038
1039 usb0: ohci@00500000 { 1021 usb0: ohci@00500000 {
1040 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 1022 compatible = "atmel,at91rm9200-ohci", "usb-ohci";
1041 reg = <0x00500000 0x00100000>; 1023 reg = <0x00500000 0x00100000>;
diff --git a/arch/arm/boot/dts/at91sam9n12ek.dts b/arch/arm/boot/dts/at91sam9n12ek.dts
index 626c67d66626..5bea8c59b115 100644
--- a/arch/arm/boot/dts/at91sam9n12ek.dts
+++ b/arch/arm/boot/dts/at91sam9n12ek.dts
@@ -147,14 +147,26 @@
147 }; 147 };
148 }; 148 };
149 149
150 nand0: nand@40000000 { 150 ebi: ebi@10000000 {
151 nand-bus-width = <8>;
152 nand-ecc-mode = "hw";
153 atmel,has-pmecc;
154 atmel,pmecc-cap = <2>;
155 atmel,pmecc-sector-size = <512>;
156 nand-on-flash-bbt;
157 status = "okay"; 151 status = "okay";
152
153 nand_controller: nand-controller {
154 status = "okay";
155 pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
156 pinctrl-names = "default";
157
158 nand@3 {
159 reg = <0x3 0x0 0x800000>;
160 rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
161 cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
162 nand-bus-width = <8>;
163 nand-ecc-mode = "soft";
164 nand-ecc-strength = <2>;
165 nand-ecc-step-size = <512>;
166 nand-on-flash-bbt;
167 label = "atmel_nand";
168 };
169 };
158 }; 170 };
159 171
160 usb0: ohci@00500000 { 172 usb0: ohci@00500000 {
diff --git a/arch/arm/boot/dts/at91sam9rl.dtsi b/arch/arm/boot/dts/at91sam9rl.dtsi
index d373400cddcd..7768342a6638 100644
--- a/arch/arm/boot/dts/at91sam9rl.dtsi
+++ b/arch/arm/boot/dts/at91sam9rl.dtsi
@@ -117,23 +117,6 @@
117 }; 117 };
118 }; 118 };
119 119
120 nand0: nand@40000000 {
121 compatible = "atmel,at91rm9200-nand";
122 #address-cells = <1>;
123 #size-cells = <1>;
124 reg = <0x40000000 0x10000000>,
125 <0xffffe800 0x200>;
126 atmel,nand-addr-offset = <21>;
127 atmel,nand-cmd-offset = <22>;
128 atmel,nand-has-dma;
129 pinctrl-names = "default";
130 pinctrl-0 = <&pinctrl_nand>;
131 gpios = <&pioD 17 GPIO_ACTIVE_HIGH>,
132 <&pioB 6 GPIO_ACTIVE_HIGH>,
133 <0>;
134 status = "disabled";
135 };
136
137 apb { 120 apb {
138 compatible = "simple-bus"; 121 compatible = "simple-bus";
139 #address-cells = <1>; 122 #address-cells = <1>;
@@ -478,6 +461,14 @@
478 }; 461 };
479 }; 462 };
480 463
464 ebi {
465 pinctrl_ebi_addr_nand: ebi-addr-0 {
466 atmel,pins =
467 <AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE>,
468 <AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE>;
469 };
470 };
471
481 fb { 472 fb {
482 pinctrl_fb: fb-0 { 473 pinctrl_fb: fb-0 {
483 atmel,pins = 474 atmel,pins =
@@ -542,28 +533,21 @@
542 }; 533 };
543 534
544 nand { 535 nand {
545 pinctrl_nand: nand-0 { 536 pinctrl_nand_rb: nand-rb-0 {
546 atmel,pins = 537 atmel,pins =
547 <AT91_PIOD 17 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>, 538 <AT91_PIOD 17 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
548 <AT91_PIOB 6 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
549 }; 539 };
550 540
551 pinctrl_nand0_ale_cle: nand_ale_cle-0 { 541 pinctrl_nand_cs: nand-cs-0 {
552 atmel,pins = 542 atmel,pins =
553 <AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE>, 543 <AT91_PIOB 6 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
554 <AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE>;
555 }; 544 };
556 545
557 pinctrl_nand0_oe_we: nand_oe_we-0 { 546 pinctrl_nand_oe_we: nand-oe-we-0 {
558 atmel,pins = 547 atmel,pins =
559 <AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE>, 548 <AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE>,
560 <AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE>; 549 <AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE>;
561 }; 550 };
562
563 pinctrl_nand0_cs: nand_cs-0 {
564 atmel,pins =
565 <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE>;
566 };
567 }; 551 };
568 552
569 pwm0 { 553 pwm0 {
diff --git a/arch/arm/boot/dts/at91sam9rlek.dts b/arch/arm/boot/dts/at91sam9rlek.dts
index 2e567d90fba8..9047c168298a 100644
--- a/arch/arm/boot/dts/at91sam9rlek.dts
+++ b/arch/arm/boot/dts/at91sam9rlek.dts
@@ -63,40 +63,63 @@
63 }; 63 };
64 }; 64 };
65 65
66 nand0: nand@40000000 { 66 ebi: ebi@10000000 {
67 nand-bus-width = <8>; 67 pinctrl-0 = <&pinctrl_ebi_addr_nand>;
68 nand-ecc-mode = "soft"; 68 pinctrl-names = "default";
69 nand-on-flash-bbt = <1>;
70 status = "okay"; 69 status = "okay";
71 70
72 at91bootstrap@0 { 71 nand_controller: nand-controller {
73 label = "at91bootstrap"; 72 status = "okay";
74 reg = <0x0 0x40000>; 73 pinctrl-0 = <&pinctrl_nand_oe_we
75 }; 74 &pinctrl_nand_cs
76 75 &pinctrl_nand_rb>;
77 bootloader@40000 { 76 pinctrl-names = "default";
78 label = "bootloader";
79 reg = <0x40000 0x80000>;
80 };
81
82 bootloaderenv@c0000 {
83 label = "bootloader env";
84 reg = <0xc0000 0xc0000>;
85 };
86
87 dtb@180000 {
88 label = "device tree";
89 reg = <0x180000 0x80000>;
90 };
91
92 kernel@200000 {
93 label = "kernel";
94 reg = <0x200000 0x600000>;
95 };
96 77
97 rootfs@800000 { 78 nand@3 {
98 label = "rootfs"; 79 reg = <0x3 0x0 0x800000>;
99 reg = <0x800000 0x0f800000>; 80 rb-gpios = <&pioD 17 GPIO_ACTIVE_HIGH>;
81 cs-gpios = <&pioB 6 GPIO_ACTIVE_HIGH>;
82 nand-bus-width = <8>;
83 nand-ecc-mode = "soft";
84 nand-on-flash-bbt;
85 label = "atmel_nand";
86
87 partitions {
88 compatible = "fixed-partitions";
89 #address-cells = <1>;
90 #size-cells = <1>;
91
92 at91bootstrap@0 {
93 label = "at91bootstrap";
94 reg = <0x0 0x40000>;
95 };
96
97 bootloader@40000 {
98 label = "bootloader";
99 reg = <0x40000 0x80000>;
100 };
101
102 bootloaderenv@c0000 {
103 label = "bootloader env";
104 reg = <0xc0000 0xc0000>;
105 };
106
107 dtb@180000 {
108 label = "device tree";
109 reg = <0x180000 0x80000>;
110 };
111
112 kernel@200000 {
113 label = "kernel";
114 reg = <0x200000 0x600000>;
115 };
116
117 rootfs@800000 {
118 label = "rootfs";
119 reg = <0x800000 0x0f800000>;
120 };
121 };
122 };
100 }; 123 };
101 }; 124 };
102 125
diff --git a/arch/arm/boot/dts/at91sam9x5.dtsi b/arch/arm/boot/dts/at91sam9x5.dtsi
index 7723e8b02880..57f307541d2e 100644
--- a/arch/arm/boot/dts/at91sam9x5.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5.dtsi
@@ -481,6 +481,38 @@
481 }; 481 };
482 }; 482 };
483 483
484 ebi {
485 pinctrl_ebi_data_0_7: ebi-data-lsb-0 {
486 atmel,pins =
487 <AT91_PIOD 6 AT91_PERIPH_A AT91_PINCTRL_NONE
488 AT91_PIOD 7 AT91_PERIPH_A AT91_PINCTRL_NONE
489 AT91_PIOD 8 AT91_PERIPH_A AT91_PINCTRL_NONE
490 AT91_PIOD 9 AT91_PERIPH_A AT91_PINCTRL_NONE
491 AT91_PIOD 10 AT91_PERIPH_A AT91_PINCTRL_NONE
492 AT91_PIOD 11 AT91_PERIPH_A AT91_PINCTRL_NONE
493 AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_NONE
494 AT91_PIOD 13 AT91_PERIPH_A AT91_PINCTRL_NONE>;
495 };
496
497 pinctrl_ebi_data_8_15: ebi-data-msb-0 {
498 atmel,pins =
499 <AT91_PIOD 14 AT91_PERIPH_A AT91_PINCTRL_NONE
500 AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_NONE
501 AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_NONE
502 AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE
503 AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_NONE
504 AT91_PIOD 19 AT91_PERIPH_A AT91_PINCTRL_NONE
505 AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_NONE
506 AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_NONE>;
507 };
508
509 pinctrl_ebi_addr_nand: ebi-addr-0 {
510 atmel,pins =
511 <AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_NONE
512 AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_NONE>;
513 };
514 };
515
484 usart0 { 516 usart0 {
485 pinctrl_usart0: usart0-0 { 517 pinctrl_usart0: usart0-0 {
486 atmel,pins = 518 atmel,pins =
@@ -567,34 +599,20 @@
567 }; 599 };
568 600
569 nand { 601 nand {
570 pinctrl_nand: nand-0 { 602 pinctrl_nand_oe_we: nand-oe-we-0 {
571 atmel,pins = 603 atmel,pins =
572 <AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD0 periph A Read Enable */ 604 <AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_NONE
573 AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD1 periph A Write Enable */ 605 AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_NONE>;
574 AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD2 periph A Address Latch Enable */ 606 };
575 AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD3 periph A Command Latch Enable */ 607
576 AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PD4 gpio Chip Enable pin pull_up */ 608 pinctrl_nand_rb: nand-rb-0 {
577 AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PD5 gpio RDY/BUSY pin pull_up */ 609 atmel,pins =
578 AT91_PIOD 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD6 periph A Data bit 0 */ 610 <AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
579 AT91_PIOD 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD7 periph A Data bit 1 */ 611 };
580 AT91_PIOD 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD8 periph A Data bit 2 */ 612
581 AT91_PIOD 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD9 periph A Data bit 3 */ 613 pinctrl_nand_cs: nand-cs-0 {
582 AT91_PIOD 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD10 periph A Data bit 4 */
583 AT91_PIOD 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD11 periph A Data bit 5 */
584 AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD12 periph A Data bit 6 */
585 AT91_PIOD 13 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD13 periph A Data bit 7 */
586 };
587
588 pinctrl_nand_16bits: nand_16bits-0 {
589 atmel,pins = 614 atmel,pins =
590 <AT91_PIOD 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD14 periph A Data bit 8 */ 615 <AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
591 AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD15 periph A Data bit 9 */
592 AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD16 periph A Data bit 10 */
593 AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD17 periph A Data bit 11 */
594 AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD18 periph A Data bit 12 */
595 AT91_PIOD 19 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD19 periph A Data bit 13 */
596 AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD20 periph A Data bit 14 */
597 AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD21 periph A Data bit 15 */
598 }; 616 };
599 }; 617 };
600 618
@@ -1213,28 +1231,6 @@
1213 }; 1231 };
1214 }; 1232 };
1215 1233
1216 nand0: nand@40000000 {
1217 compatible = "atmel,at91rm9200-nand";
1218 #address-cells = <1>;
1219 #size-cells = <1>;
1220 reg = <0x40000000 0x10000000
1221 0xffffe000 0x600 /* PMECC Registers */
1222 0xffffe600 0x200 /* PMECC Error Location Registers */
1223 0x00108000 0x18000 /* PMECC looup table in ROM code */
1224 >;
1225 atmel,pmecc-lookup-table-offset = <0x0 0x8000>;
1226 atmel,nand-addr-offset = <21>;
1227 atmel,nand-cmd-offset = <22>;
1228 atmel,nand-has-dma;
1229 pinctrl-names = "default";
1230 pinctrl-0 = <&pinctrl_nand>;
1231 gpios = <&pioD 5 GPIO_ACTIVE_HIGH
1232 &pioD 4 GPIO_ACTIVE_HIGH
1233 0
1234 >;
1235 status = "disabled";
1236 };
1237
1238 usb0: ohci@00600000 { 1234 usb0: ohci@00600000 {
1239 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 1235 compatible = "atmel,at91rm9200-ohci", "usb-ohci";
1240 reg = <0x00600000 0x100000>; 1236 reg = <0x00600000 0x100000>;
diff --git a/arch/arm/boot/dts/at91sam9x5cm.dtsi b/arch/arm/boot/dts/at91sam9x5cm.dtsi
index b098ad8cd93a..bdeaa0b64a5b 100644
--- a/arch/arm/boot/dts/at91sam9x5cm.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5cm.dtsi
@@ -37,38 +37,61 @@
37 }; 37 };
38 }; 38 };
39 39
40 nand0: nand@40000000 { 40 ebi: ebi@10000000 {
41 nand-bus-width = <8>; 41 pinctrl-0 = <&pinctrl_ebi_addr_nand
42 nand-ecc-mode = "hw"; 42 &pinctrl_ebi_data_0_7>;
43 atmel,has-pmecc; /* Enable PMECC */ 43 pinctrl-names = "default";
44 atmel,pmecc-cap = <2>;
45 atmel,pmecc-sector-size = <512>;
46 nand-on-flash-bbt;
47 status = "okay"; 44 status = "okay";
48 45
49 at91bootstrap@0 { 46 nand_controller: nand-controller {
50 label = "at91bootstrap"; 47 status = "okay";
51 reg = <0x0 0x40000>; 48 pinctrl-0 = <&pinctrl_nand_oe_we
52 }; 49 &pinctrl_nand_cs
53 50 &pinctrl_nand_rb>;
54 uboot@40000 { 51 pinctrl-names = "default";
55 label = "u-boot"; 52
56 reg = <0x40000 0x80000>; 53 nand@3 {
57 }; 54 reg = <0x3 0x0 0x800000>;
58 55 rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
59 ubootenv@c0000 { 56 cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
60 label = "U-Boot Env"; 57 nand-bus-width = <8>;
61 reg = <0xc0000 0x140000>; 58 nand-ecc-mode = "hw";
62 }; 59 nand-ecc-strength = <2>;
63 60 nand-ecc-step-size = <512>;
64 kernel@200000 { 61 nand-on-flash-bbt;
65 label = "kernel"; 62 label = "atmel_nand";
66 reg = <0x200000 0x600000>; 63
67 }; 64 partitions {
68 65 compatible = "fixed-partitions";
69 rootfs@800000 { 66 #address-cells = <1>;
70 label = "rootfs"; 67 #size-cells = <1>;
71 reg = <0x800000 0x1f800000>; 68
69 at91bootstrap@0 {
70 label = "at91bootstrap";
71 reg = <0x0 0x40000>;
72 };
73
74 uboot@40000 {
75 label = "u-boot";
76 reg = <0x40000 0x80000>;
77 };
78
79 ubootenv@c0000 {
80 label = "U-Boot Env";
81 reg = <0xc0000 0x140000>;
82 };
83
84 kernel@200000 {
85 label = "kernel";
86 reg = <0x200000 0x600000>;
87 };
88
89 rootfs@800000 {
90 label = "rootfs";
91 reg = <0x800000 0x1f800000>;
92 };
93 };
94 };
72 }; 95 };
73 }; 96 };
74 }; 97 };
diff --git a/arch/arm/boot/dts/ethernut5.dts b/arch/arm/boot/dts/ethernut5.dts
index 4687229a3ab9..123b203be06c 100644
--- a/arch/arm/boot/dts/ethernut5.dts
+++ b/arch/arm/boot/dts/ethernut5.dts
@@ -55,25 +55,38 @@
55 }; 55 };
56 }; 56 };
57 57
58 nand0: nand@40000000 { 58 ebi: ebi@10000000 {
59 nand-bus-width = <8>;
60 nand-ecc-mode = "soft";
61 nand-on-flash-bbt;
62 status = "okay"; 59 status = "okay";
63 60
64 gpios = <0 61 nand_controller: nand-controller {
65 &pioC 14 GPIO_ACTIVE_HIGH 62 status = "okay";
66 0 63 pinctrl-0 = <&pinctrl_nand_cs>;
67 >; 64 pinctrl-names = "default";
68 65
69 root@0 { 66 nand: nand@3 {
70 label = "root"; 67 reg = <0x3 0x0 0x800000>;
71 reg = <0x0 0x08000000>; 68 cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
72 }; 69 nand-bus-width = <8>;
73 70 nand-ecc-mode = "soft";
74 data@20000 { 71 nand-on-flash-bbt;
75 label = "data"; 72 label = "atmel_nand";
76 reg = <0x08000000 0x38000000>; 73
74 partitions {
75 compatible = "fixed-partitions";
76 #address-cells = <1>;
77 #size-cells = <1>;
78
79 root@0 {
80 label = "root";
81 reg = <0x0 0x08000000>;
82 };
83
84 data@20000 {
85 label = "data";
86 reg = <0x08000000 0x38000000>;
87 };
88 };
89 };
77 }; 90 };
78 }; 91 };
79 92
diff --git a/arch/arm/boot/dts/ge863-pro3.dtsi b/arch/arm/boot/dts/ge863-pro3.dtsi
index 4aee5cc75fa4..8613944ea5c5 100644
--- a/arch/arm/boot/dts/ge863-pro3.dtsi
+++ b/arch/arm/boot/dts/ge863-pro3.dtsi
@@ -23,20 +23,39 @@
23 }; 23 };
24 }; 24 };
25 25
26 nand0: nand@40000000 { 26 ebi: ebi@10000000 {
27 nand-bus-width = <8>;
28 nand-ecc-mode = "soft";
29 nand-on-flash-bbt;
30 status = "okay"; 27 status = "okay";
31 28
32 boot@0 { 29 nand_controller: nand-controller {
33 label = "boot"; 30 status = "okay";
34 reg = <0x0 0x7c0000>; 31 pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
35 }; 32 pinctrl-names = "default";
33
34 nand@3 {
35 reg = <0x3 0x0 0x800000>;
36 rb-gpios = <&pioC 13 GPIO_ACTIVE_HIGH>;
37 cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
38 nand-bus-width = <8>;
39 nand-ecc-mode = "soft";
40 nand-on-flash-bbt;
41 label = "atmel_nand";
42
43 partitions {
44 compatible = "fixed-partitions";
45 #address-cells = <1>;
46 #size-cells = <1>;
47
48 boot@0 {
49 label = "boot";
50 reg = <0x0 0x7c0000>;
51 };
36 52
37 root@07c0000 { 53 root@07c0000 {
38 label = "root"; 54 label = "root";
39 reg = <0x7c0000 0x7840000>; 55 reg = <0x7c0000 0x7840000>;
56 };
57 };
58 };
40 }; 59 };
41 }; 60 };
42 }; 61 };
diff --git a/arch/arm/boot/dts/pm9g45.dts b/arch/arm/boot/dts/pm9g45.dts
index 0abd7bf17568..3139221737ee 100644
--- a/arch/arm/boot/dts/pm9g45.dts
+++ b/arch/arm/boot/dts/pm9g45.dts
@@ -37,12 +37,10 @@
37 }; 37 };
38 38
39 pinctrl@fffff200 { 39 pinctrl@fffff200 {
40 40 nand {
41 board { 41 pinctrl_nand_rb: nand-rb-0 {
42 pinctrl_board_nand: nand0-board {
43 atmel,pins = 42 atmel,pins =
44 <AT91_PIOD 3 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PD3 gpio RDY pin pull_up*/ 43 <AT91_PIOD 3 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
45 AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PC14 gpio enable pin pull_up */
46 }; 44 };
47 }; 45 };
48 46
@@ -71,50 +69,61 @@
71 phy-mode = "rmii"; 69 phy-mode = "rmii";
72 status = "okay"; 70 status = "okay";
73 }; 71 };
74
75 }; 72 };
76 73
77 nand0: nand@40000000 { 74 ebi: ebi@10000000 {
78 nand-bus-width = <8>;
79 nand-ecc-mode = "soft";
80 nand-on-flash-bbt;
81 pinctrl-0 = <&pinctrl_board_nand>;
82
83 gpios = <&pioD 3 GPIO_ACTIVE_HIGH
84 &pioC 14 GPIO_ACTIVE_HIGH
85 0
86 >;
87
88 status = "okay"; 75 status = "okay";
89 76
90 at91bootstrap@0 { 77 nand_controller: nand-controller {
91 label = "at91bootstrap"; 78 status = "okay";
92 reg = <0x0 0x20000>; 79 pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
93 }; 80 pinctrl-names = "default";
94 81
95 barebox@20000 { 82 nand@3 {
96 label = "barebox"; 83 reg = <0x3 0x0 0x800000>;
97 reg = <0x20000 0x40000>; 84 rb-gpios = <&pioD 3 GPIO_ACTIVE_HIGH>;
98 }; 85 cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
99 86 nand-bus-width = <8>;
100 bareboxenv@60000 { 87 nand-ecc-mode = "soft";
101 label = "bareboxenv"; 88 nand-on-flash-bbt;
102 reg = <0x60000 0x1A0000>; 89 label = "atmel_nand";
103 }; 90
104 91 partitions {
105 kernel@200000 { 92 compatible = "fixed-partitions";
106 label = "bareboxenv2"; 93 #address-cells = <1>;
107 reg = <0x200000 0x300000>; 94 #size-cells = <1>;
108 }; 95
109 96 at91bootstrap@0 {
110 kernel@500000 { 97 label = "at91bootstrap";
111 label = "root"; 98 reg = <0x0 0x20000>;
112 reg = <0x500000 0x400000>; 99 };
113 }; 100
114 101 barebox@20000 {
115 data@900000 { 102 label = "barebox";
116 label = "data"; 103 reg = <0x20000 0x40000>;
117 reg = <0x900000 0x8340000>; 104 };
105
106 bareboxenv@60000 {
107 label = "bareboxenv";
108 reg = <0x60000 0x1A0000>;
109 };
110
111 kernel@200000 {
112 label = "bareboxenv2";
113 reg = <0x200000 0x300000>;
114 };
115
116 kernel@500000 {
117 label = "root";
118 reg = <0x500000 0x400000>;
119 };
120
121 data@900000 {
122 label = "data";
123 reg = <0x900000 0x8340000>;
124 };
125 };
126 };
118 }; 127 };
119 }; 128 };
120 129
diff --git a/arch/arm/boot/dts/sama5d3.dtsi b/arch/arm/boot/dts/sama5d3.dtsi
index 3925f83f58a6..554d0bdedc7a 100644
--- a/arch/arm/boot/dts/sama5d3.dtsi
+++ b/arch/arm/boot/dts/sama5d3.dtsi
@@ -1569,38 +1569,6 @@
1569 }; 1569 };
1570 }; 1570 };
1571 1571
1572 nand0: nand@60000000 {
1573 compatible = "atmel,at91rm9200-nand";
1574 #address-cells = <1>;
1575 #size-cells = <1>;
1576 ranges;
1577 reg = < 0x60000000 0x01000000 /* EBI CS3 */
1578 0xffffc070 0x00000490 /* SMC PMECC regs */
1579 0xffffc500 0x00000100 /* SMC PMECC Error Location regs */
1580 0x00110000 0x00018000 /* ROM code */
1581 >;
1582 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 6>;
1583 atmel,nand-addr-offset = <21>;
1584 atmel,nand-cmd-offset = <22>;
1585 atmel,nand-has-dma;
1586 pinctrl-names = "default";
1587 pinctrl-0 = <&pinctrl_nand0_ale_cle>;
1588 atmel,pmecc-lookup-table-offset = <0x0 0x8000>;
1589 status = "disabled";
1590
1591 nfc@70000000 {
1592 compatible = "atmel,sama5d3-nfc";
1593 #address-cells = <1>;
1594 #size-cells = <1>;
1595 reg = <
1596 0x70000000 0x08000000 /* NFC Command Registers */
1597 0xffffc000 0x00000070 /* NFC HSMC regs */
1598 0x00200000 0x00100000 /* NFC SRAM banks */
1599 >;
1600 clocks = <&hsmc_clk>;
1601 };
1602 };
1603
1604 nfc_io: nfc-io@70000000 { 1572 nfc_io: nfc-io@70000000 {
1605 compatible = "atmel,sama5d3-nfc-io", "syscon"; 1573 compatible = "atmel,sama5d3-nfc-io", "syscon";
1606 reg = <0x70000000 0x8000000>; 1574 reg = <0x70000000 0x8000000>;
diff --git a/arch/arm/boot/dts/sama5d3xcm.dtsi b/arch/arm/boot/dts/sama5d3xcm.dtsi
index b5e111b29da1..4606e1d7e6f2 100644
--- a/arch/arm/boot/dts/sama5d3xcm.dtsi
+++ b/arch/arm/boot/dts/sama5d3xcm.dtsi
@@ -36,43 +36,59 @@
36 }; 36 };
37 }; 37 };
38 38
39 nand0: nand@60000000 { 39 ebi@10000000 {
40 nand-bus-width = <8>; 40 pinctrl-0 = <&pinctrl_ebi_nand_addr>;
41 nand-ecc-mode = "hw"; 41 pinctrl-names = "default";
42 atmel,has-pmecc;
43 atmel,pmecc-cap = <4>;
44 atmel,pmecc-sector-size = <512>;
45 nand-on-flash-bbt;
46 status = "okay"; 42 status = "okay";
47 43
48 at91bootstrap@0 { 44 nand_controller: nand-controller {
49 label = "at91bootstrap"; 45 status = "okay";
50 reg = <0x0 0x40000>;
51 };
52 46
53 bootloader@40000 { 47 nand@3 {
54 label = "bootloader"; 48 reg = <0x3 0x0 0x2>;
55 reg = <0x40000 0x80000>; 49 atmel,rb = <0>;
56 }; 50 nand-ecc-mode = "hw";
51 nand-ecc-strength = <4>;
52 nand-ecc-step-size = <512>;
53 nand-on-flash-bbt;
54 label = "atmel_nand";
57 55
58 bootloaderenv@c0000 { 56 partitions {
59 label = "bootloader env"; 57 compatible = "fixed-partitions";
60 reg = <0xc0000 0xc0000>; 58 #address-cells = <1>;
61 }; 59 #size-cells = <1>;
62 60
63 dtb@180000 { 61 at91bootstrap@0 {
64 label = "device tree"; 62 label = "at91bootstrap";
65 reg = <0x180000 0x80000>; 63 reg = <0x0 0x40000>;
66 }; 64 };
67 65
68 kernel@200000 { 66 bootloader@40000 {
69 label = "kernel"; 67 label = "bootloader";
70 reg = <0x200000 0x600000>; 68 reg = <0x40000 0x80000>;
71 }; 69 };
70
71 bootloaderenv@c0000 {
72 label = "bootloader env";
73 reg = <0xc0000 0xc0000>;
74 };
75
76 dtb@180000 {
77 label = "device tree";
78 reg = <0x180000 0x80000>;
79 };
80
81 kernel@200000 {
82 label = "kernel";
83 reg = <0x200000 0x600000>;
84 };
72 85
73 rootfs@800000 { 86 rootfs@800000 {
74 label = "rootfs"; 87 label = "rootfs";
75 reg = <0x800000 0x0f800000>; 88 reg = <0x800000 0x0f800000>;
89 };
90 };
91 };
76 }; 92 };
77 }; 93 };
78 }; 94 };
diff --git a/arch/arm/boot/dts/sama5d3xcm_cmp.dtsi b/arch/arm/boot/dts/sama5d3xcm_cmp.dtsi
index dc7572bc7ff0..75cbf4d4ab1a 100644
--- a/arch/arm/boot/dts/sama5d3xcm_cmp.dtsi
+++ b/arch/arm/boot/dts/sama5d3xcm_cmp.dtsi
@@ -148,43 +148,60 @@
148 }; 148 };
149 }; 149 };
150 150
151 nand0: nand@60000000 { 151 ebi: ebi@10000000 {
152 nand-bus-width = <8>; 152 pinctrl-0 = <&pinctrl_ebi_nand_addr>;
153 nand-ecc-mode = "hw"; 153 pinctrl-names = "default";
154 atmel,has-pmecc;
155 atmel,pmecc-cap = <4>;
156 atmel,pmecc-sector-size = <512>;
157 nand-on-flash-bbt;
158 status = "okay"; 154 status = "okay";
159 155
160 at91bootstrap@0 { 156 nand_controller: nand-controller {
161 label = "at91bootstrap"; 157 status = "okay";
162 reg = <0x0 0x40000>; 158
163 }; 159 nand@3 {
160 reg = <0x3 0x0 0x2>;
161 atmel,rb = <0>;
162 nand-bus-width = <8>;
163 nand-ecc-mode = "hw";
164 nand-ecc-strength = <4>;
165 nand-ecc-step-size = <512>;
166 nand-on-flash-bbt;
167 label = "atmel_nand";
168
169 partitions {
170 compatible = "fixed-partitions";
171 #address-cells = <1>;
172 #size-cells = <1>;
173
174 at91bootstrap@0 {
175 label = "at91bootstrap";
176 reg = <0x0 0x40000>;
177 };
164 178
165 bootloader@40000 { 179 bootloader@40000 {
166 label = "bootloader"; 180 label = "bootloader";
167 reg = <0x40000 0x80000>; 181 reg = <0x40000 0x80000>;
168 }; 182 };
169 183
170 bootloaderenv@c0000 { 184 bootloaderenv@c0000 {
171 label = "bootloader env"; 185 label = "bootloader env";
172 reg = <0xc0000 0xc0000>; 186 reg = <0xc0000 0xc0000>;
173 }; 187 };
174 188
175 dtb@180000 { 189 dtb@180000 {
176 label = "device tree"; 190 label = "device tree";
177 reg = <0x180000 0x80000>; 191 reg = <0x180000 0x80000>;
178 }; 192 };
179 193
180 kernel@200000 { 194 kernel@200000 {
181 label = "kernel"; 195 label = "kernel";
182 reg = <0x200000 0x600000>; 196 reg = <0x200000 0x600000>;
183 }; 197 };
184 198
185 rootfs@800000 { 199 rootfs@800000 {
186 label = "rootfs"; 200 label = "rootfs";
187 reg = <0x800000 0x0f800000>; 201 reg = <0x800000 0x0f800000>;
202 };
203 };
204 };
188 }; 205 };
189 }; 206 };
190 }; 207 };
diff --git a/arch/arm/boot/dts/sama5d4.dtsi b/arch/arm/boot/dts/sama5d4.dtsi
index de6bcff87745..2fa36c525957 100644
--- a/arch/arm/boot/dts/sama5d4.dtsi
+++ b/arch/arm/boot/dts/sama5d4.dtsi
@@ -312,37 +312,6 @@
312 }; 312 };
313 }; 313 };
314 314
315 nand0: nand@80000000 {
316 compatible = "atmel,sama5d4-nand", "atmel,at91rm9200-nand";
317 #address-cells = <1>;
318 #size-cells = <1>;
319 ranges;
320 reg = < 0x80000000 0x08000000 /* EBI CS3 */
321 0xfc05c070 0x00000490 /* SMC PMECC regs */
322 0xfc05c500 0x00000100 /* SMC PMECC Error Location regs */
323 >;
324 interrupts = <22 IRQ_TYPE_LEVEL_HIGH 6>;
325 atmel,nand-addr-offset = <21>;
326 atmel,nand-cmd-offset = <22>;
327 atmel,nand-has-dma;
328 pinctrl-names = "default";
329 pinctrl-0 = <&pinctrl_nand>;
330 status = "disabled";
331
332 nfc@90000000 {
333 compatible = "atmel,sama5d3-nfc";
334 #address-cells = <1>;
335 #size-cells = <1>;
336 reg = <
337 0x90000000 0x08000000 /* NFC Command Registers */
338 0xfc05c000 0x00000070 /* NFC HSMC regs */
339 0x00100000 0x00100000 /* NFC SRAM banks */
340 >;
341 clocks = <&hsmc_clk>;
342 atmel,write-by-sram;
343 };
344 };
345
346 nfc_io: nfc-io@90000000 { 315 nfc_io: nfc-io@90000000 {
347 compatible = "atmel,sama5d3-nfc-io", "syscon"; 316 compatible = "atmel,sama5d3-nfc-io", "syscon";
348 reg = <0x90000000 0x8000000>; 317 reg = <0x90000000 0x8000000>;
diff --git a/arch/arm/boot/dts/tny_a9260_common.dtsi b/arch/arm/boot/dts/tny_a9260_common.dtsi
index f9dc463b9e48..5d83df4675a1 100644
--- a/arch/arm/boot/dts/tny_a9260_common.dtsi
+++ b/arch/arm/boot/dts/tny_a9260_common.dtsi
@@ -32,50 +32,69 @@
32 }; 32 };
33 }; 33 };
34 34
35 nand0: nand@40000000 { 35 ebi: ebi@10000000 {
36 nand-bus-width = <8>;
37 nand-ecc-mode = "soft";
38 nand-on-flash-bbt;
39 status = "okay"; 36 status = "okay";
40 37
41 at91bootstrap@0 { 38 nand_controller: nand-controller {
42 label = "at91bootstrap"; 39 status = "okay";
43 reg = <0x0 0x20000>; 40 pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
44 }; 41 pinctrl-names = "default";
45 42
46 barebox@20000 { 43 nand@3 {
47 label = "barebox"; 44 reg = <0x3 0x0 0x800000>;
48 reg = <0x20000 0x40000>; 45 rb-gpios = <&pioC 13 GPIO_ACTIVE_HIGH>;
49 }; 46 cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
47 nand-bus-width = <8>;
48 nand-ecc-mode = "soft";
49 nand-on-flash-bbt;
50 label = "atmel_nand";
50 51
51 bareboxenv@60000 { 52 partitions {
52 label = "bareboxenv"; 53 compatible = "fixed-partitions";
53 reg = <0x60000 0x20000>; 54 #address-cells = <1>;
54 }; 55 #size-cells = <1>;
55 56
56 bareboxenv2@80000 { 57 at91bootstrap@0 {
57 label = "bareboxenv2"; 58 label = "at91bootstrap";
58 reg = <0x80000 0x20000>; 59 reg = <0x0 0x20000>;
59 }; 60 };
60 61
61 oftree@80000 { 62 barebox@20000 {
62 label = "oftree"; 63 label = "barebox";
63 reg = <0xa0000 0x20000>; 64 reg = <0x20000 0x40000>;
64 }; 65 };
65 66
66 kernel@a0000 { 67 bareboxenv@60000 {
67 label = "kernel"; 68 label = "bareboxenv";
68 reg = <0xc0000 0x400000>; 69 reg = <0x60000 0x20000>;
69 }; 70 };
70 71
71 rootfs@4a0000 { 72 bareboxenv2@80000 {
72 label = "rootfs"; 73 label = "bareboxenv2";
73 reg = <0x4c0000 0x7800000>; 74 reg = <0x80000 0x20000>;
74 }; 75 };
76
77 oftree@80000 {
78 label = "oftree";
79 reg = <0xa0000 0x20000>;
80 };
81
82 kernel@a0000 {
83 label = "kernel";
84 reg = <0xc0000 0x400000>;
85 };
86
87 rootfs@4a0000 {
88 label = "rootfs";
89 reg = <0x4c0000 0x7800000>;
90 };
75 91
76 data@7ca0000 { 92 data@7ca0000 {
77 label = "data"; 93 label = "data";
78 reg = <0x7cc0000 0x8340000>; 94 reg = <0x7cc0000 0x8340000>;
95 };
96 };
97 };
79 }; 98 };
80 }; 99 };
81 }; 100 };
diff --git a/arch/arm/boot/dts/tny_a9263.dts b/arch/arm/boot/dts/tny_a9263.dts
index 9161cd9889b4..8cf0a9e08571 100644
--- a/arch/arm/boot/dts/tny_a9263.dts
+++ b/arch/arm/boot/dts/tny_a9263.dts
@@ -42,50 +42,69 @@
42 }; 42 };
43 }; 43 };
44 44
45 nand0: nand@40000000 { 45 ebi0: ebi@10000000 {
46 nand-bus-width = <8>;
47 nand-ecc-mode = "soft";
48 nand-on-flash-bbt;
49 status = "okay"; 46 status = "okay";
50 47
51 at91bootstrap@0 { 48 nand_controller: nand-controller {
52 label = "at91bootstrap"; 49 status = "okay";
53 reg = <0x0 0x20000>; 50 pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
54 }; 51 pinctrl-names = "default";
55 52
56 barebox@20000 { 53 nand@3 {
57 label = "barebox"; 54 reg = <0x3 0x0 0x800000>;
58 reg = <0x20000 0x40000>; 55 rb-gpios = <&pioA 22 GPIO_ACTIVE_HIGH>;
59 }; 56 cs-gpios = <&pioA 15 GPIO_ACTIVE_HIGH>;
60 57 nand-bus-width = <8>;
61 bareboxenv@60000 { 58 nand-ecc-mode = "soft";
62 label = "bareboxenv"; 59 nand-on-flash-bbt;
63 reg = <0x60000 0x20000>; 60 label = "atmel_nand";
64 }; 61
65 62 partitions {
66 bareboxenv2@80000 { 63 compatible = "fixed-partitions";
67 label = "bareboxenv2"; 64 #address-cells = <1>;
68 reg = <0x80000 0x20000>; 65 #size-cells = <1>;
69 }; 66
70 67 at91bootstrap@0 {
71 oftree@80000 { 68 label = "at91bootstrap";
72 label = "oftree"; 69 reg = <0x0 0x20000>;
73 reg = <0xa0000 0x20000>; 70 };
74 }; 71
75 72 barebox@20000 {
76 kernel@a0000 { 73 label = "barebox";
77 label = "kernel"; 74 reg = <0x20000 0x40000>;
78 reg = <0xc0000 0x400000>; 75 };
79 }; 76
80 77 bareboxenv@60000 {
81 rootfs@4a0000 { 78 label = "bareboxenv";
82 label = "rootfs"; 79 reg = <0x60000 0x20000>;
83 reg = <0x4c0000 0x7800000>; 80 };
84 }; 81
85 82 bareboxenv2@80000 {
86 data@7ca0000 { 83 label = "bareboxenv2";
87 label = "data"; 84 reg = <0x80000 0x20000>;
88 reg = <0x7cc0000 0x8340000>; 85 };
86
87 oftree@80000 {
88 label = "oftree";
89 reg = <0xa0000 0x20000>;
90 };
91
92 kernel@a0000 {
93 label = "kernel";
94 reg = <0xc0000 0x400000>;
95 };
96
97 rootfs@4a0000 {
98 label = "rootfs";
99 reg = <0x4c0000 0x7800000>;
100 };
101
102 data@7ca0000 {
103 label = "data";
104 reg = <0x7cc0000 0x8340000>;
105 };
106 };
107 };
89 }; 108 };
90 }; 109 };
91 }; 110 };
diff --git a/arch/arm/boot/dts/usb_a9260_common.dtsi b/arch/arm/boot/dts/usb_a9260_common.dtsi
index 7514b347cdd2..34a49995eda3 100644
--- a/arch/arm/boot/dts/usb_a9260_common.dtsi
+++ b/arch/arm/boot/dts/usb_a9260_common.dtsi
@@ -34,50 +34,69 @@
34 }; 34 };
35 }; 35 };
36 36
37 nand0: nand@40000000 { 37 ebi: ebi@10000000 {
38 nand-bus-width = <8>;
39 nand-ecc-mode = "soft";
40 nand-on-flash-bbt;
41 status = "okay"; 38 status = "okay";
42 39
43 at91bootstrap@0 { 40 nand_controller: nand-controller {
44 label = "at91bootstrap"; 41 status = "okay";
45 reg = <0x0 0x20000>; 42 pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
46 }; 43 pinctrl-names = "default";
47 44
48 barebox@20000 { 45 nand@3 {
49 label = "barebox"; 46 reg = <0x3 0x0 0x800000>;
50 reg = <0x20000 0x40000>; 47 rb-gpios = <&pioC 13 GPIO_ACTIVE_HIGH>;
51 }; 48 cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
52 49 nand-bus-width = <8>;
53 bareboxenv@60000 { 50 nand-ecc-mode = "soft";
54 label = "bareboxenv"; 51 nand-on-flash-bbt;
55 reg = <0x60000 0x20000>; 52 label = "atmel_nand";
56 }; 53
57 54 partitions {
58 bareboxenv2@80000 { 55 compatible = "fixed-partitions";
59 label = "bareboxenv2"; 56 #address-cells = <1>;
60 reg = <0x80000 0x20000>; 57 #size-cells = <1>;
61 }; 58
62 59 at91bootstrap@0 {
63 oftree@80000 { 60 label = "at91bootstrap";
64 label = "oftree"; 61 reg = <0x0 0x20000>;
65 reg = <0xa0000 0x20000>; 62 };
66 }; 63
67 64 barebox@20000 {
68 kernel@a0000 { 65 label = "barebox";
69 label = "kernel"; 66 reg = <0x20000 0x40000>;
70 reg = <0xc0000 0x400000>; 67 };
71 }; 68
72 69 bareboxenv@60000 {
73 rootfs@4a0000 { 70 label = "bareboxenv";
74 label = "rootfs"; 71 reg = <0x60000 0x20000>;
75 reg = <0x4c0000 0x7800000>; 72 };
76 }; 73
77 74 bareboxenv2@80000 {
78 data@7ca0000 { 75 label = "bareboxenv2";
79 label = "data"; 76 reg = <0x80000 0x20000>;
80 reg = <0x7cc0000 0x8340000>; 77 };
78
79 oftree@80000 {
80 label = "oftree";
81 reg = <0xa0000 0x20000>;
82 };
83
84 kernel@a0000 {
85 label = "kernel";
86 reg = <0xc0000 0x400000>;
87 };
88
89 rootfs@4a0000 {
90 label = "rootfs";
91 reg = <0x4c0000 0x7800000>;
92 };
93
94 data@7ca0000 {
95 label = "data";
96 reg = <0x7cc0000 0x8340000>;
97 };
98 };
99 };
81 }; 100 };
82 }; 101 };
83 102
diff --git a/arch/arm/boot/dts/usb_a9263.dts b/arch/arm/boot/dts/usb_a9263.dts
index bfc48a272417..482381c1c962 100644
--- a/arch/arm/boot/dts/usb_a9263.dts
+++ b/arch/arm/boot/dts/usb_a9263.dts
@@ -62,50 +62,69 @@
62 }; 62 };
63 }; 63 };
64 64
65 nand0: nand@40000000 { 65 ebi0: ebi@10000000 {
66 nand-bus-width = <8>;
67 nand-ecc-mode = "soft";
68 nand-on-flash-bbt;
69 status = "okay"; 66 status = "okay";
70 67
71 at91bootstrap@0 { 68 nand_controller: nand-controller {
72 label = "at91bootstrap"; 69 status = "okay";
73 reg = <0x0 0x20000>; 70 pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
74 }; 71 pinctrl-names = "default";
75 72
76 barebox@20000 { 73 nand@3 {
77 label = "barebox"; 74 reg = <0x3 0x0 0x800000>;
78 reg = <0x20000 0x40000>; 75 rb-gpios = <&pioA 22 GPIO_ACTIVE_HIGH>;
79 }; 76 cs-gpios = <&pioA 15 GPIO_ACTIVE_HIGH>;
80 77 nand-bus-width = <8>;
81 bareboxenv@60000 { 78 nand-ecc-mode = "soft";
82 label = "bareboxenv"; 79 nand-on-flash-bbt;
83 reg = <0x60000 0x20000>; 80 label = "atmel_nand";
84 }; 81
85 82 partitions {
86 bareboxenv2@80000 { 83 compatible = "fixed-partitions";
87 label = "bareboxenv2"; 84 #address-cells = <1>;
88 reg = <0x80000 0x20000>; 85 #size-cells = <1>;
89 }; 86
90 87 at91bootstrap@0 {
91 oftree@80000 { 88 label = "at91bootstrap";
92 label = "oftree"; 89 reg = <0x0 0x20000>;
93 reg = <0xa0000 0x20000>; 90 };
94 }; 91
95 92 barebox@20000 {
96 kernel@a0000 { 93 label = "barebox";
97 label = "kernel"; 94 reg = <0x20000 0x40000>;
98 reg = <0xc0000 0x400000>; 95 };
99 }; 96
100 97 bareboxenv@60000 {
101 rootfs@4a0000 { 98 label = "bareboxenv";
102 label = "rootfs"; 99 reg = <0x60000 0x20000>;
103 reg = <0x4c0000 0x7800000>; 100 };
104 }; 101
105 102 bareboxenv2@80000 {
106 data@7ca0000 { 103 label = "bareboxenv2";
107 label = "data"; 104 reg = <0x80000 0x20000>;
108 reg = <0x7cc0000 0x8340000>; 105 };
106
107 oftree@80000 {
108 label = "oftree";
109 reg = <0xa0000 0x20000>;
110 };
111
112 kernel@a0000 {
113 label = "kernel";
114 reg = <0xc0000 0x400000>;
115 };
116
117 rootfs@4a0000 {
118 label = "rootfs";
119 reg = <0x4c0000 0x7800000>;
120 };
121
122 data@7ca0000 {
123 label = "data";
124 reg = <0x7cc0000 0x8340000>;
125 };
126 };
127 };
109 }; 128 };
110 }; 129 };
111 130