aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBoris Brezillon <boris.brezillon@free-electrons.com>2017-05-30 05:20:53 -0400
committerAlexandre Belloni <alexandre.belloni@free-electrons.com>2017-05-31 05:55:41 -0400
commit1004a2977bdc7566bca87c565541c3232ed467c4 (patch)
treeff3d3aca77c0e3288c6296263dd0795e60680478
parentd9c41bf30cf8cea379f5947624e76c893791fec0 (diff)
ARM: dts: at91: Switch to the new NAND bindings
Use the new EBI/NAND bindings to declare NAND chips and remove old NAND nodes along the way. Note that we keep using old bindings in at91rm9200.dtsi because this SoC is not supported by the EBI driver. Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> Tested-by: Peter Rosin <peda@axentia.se> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
-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