aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-at91
diff options
context:
space:
mode:
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2011-04-28 08:19:32 -0400
committerJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2011-05-25 11:04:34 -0400
commit1b021a3b23a40be89c4f3fbe6f4696aa15141f26 (patch)
tree09267f2ba276d7e648fd802f10af6b67ea57dc8a /arch/arm/mach-at91
parent1cef3e15721dc9e75f9b661270153e1d6f5e0993 (diff)
at91: fix map_io init usage
switch early init to init_early and introduce soc map_io with this Patch we will not do any more early device setup during the map io tks to Russell to point the new call back Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Cc: Nicolas Ferre <nicolas.ferre@atmel.com> Cc: Patrice Vilchez <patrice.vilchez@atmel.com> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Andrew Victor <linux@maxim.org.za>
Diffstat (limited to 'arch/arm/mach-at91')
-rw-r--r--arch/arm/mach-at91/at572d940hf.c5
-rw-r--r--arch/arm/mach-at91/at91cap9.c5
-rw-r--r--arch/arm/mach-at91/at91rm9200.c5
-rw-r--r--arch/arm/mach-at91/at91sam9260.c9
-rw-r--r--arch/arm/mach-at91/at91sam9261.c6
-rw-r--r--arch/arm/mach-at91/at91sam9263.c5
-rw-r--r--arch/arm/mach-at91/at91sam9g45.c5
-rw-r--r--arch/arm/mach-at91/at91sam9rl.c5
-rw-r--r--arch/arm/mach-at91/board-1arm.c5
-rw-r--r--arch/arm/mach-at91/board-afeb-9260v1.c5
-rw-r--r--arch/arm/mach-at91/board-at572d940hf_ek.c5
-rw-r--r--arch/arm/mach-at91/board-cam60.c5
-rw-r--r--arch/arm/mach-at91/board-cap9adk.c5
-rw-r--r--arch/arm/mach-at91/board-carmeva.c5
-rw-r--r--arch/arm/mach-at91/board-cpu9krea.c5
-rw-r--r--arch/arm/mach-at91/board-cpuat91.c5
-rw-r--r--arch/arm/mach-at91/board-csb337.c5
-rw-r--r--arch/arm/mach-at91/board-csb637.c5
-rw-r--r--arch/arm/mach-at91/board-eb01.c4
-rw-r--r--arch/arm/mach-at91/board-eb9200.c5
-rw-r--r--arch/arm/mach-at91/board-ecbat91.c5
-rw-r--r--arch/arm/mach-at91/board-eco920.c5
-rw-r--r--arch/arm/mach-at91/board-flexibity.c5
-rw-r--r--arch/arm/mach-at91/board-foxg20.c5
-rw-r--r--arch/arm/mach-at91/board-gsia18s.c7
-rw-r--r--arch/arm/mach-at91/board-kafa.c5
-rw-r--r--arch/arm/mach-at91/board-kb9202.c5
-rw-r--r--arch/arm/mach-at91/board-neocore926.c5
-rw-r--r--arch/arm/mach-at91/board-pcontrol-g20.c7
-rw-r--r--arch/arm/mach-at91/board-picotux200.c5
-rw-r--r--arch/arm/mach-at91/board-qil-a9260.c5
-rw-r--r--arch/arm/mach-at91/board-rm9200dk.c5
-rw-r--r--arch/arm/mach-at91/board-rm9200ek.c5
-rw-r--r--arch/arm/mach-at91/board-sam9-l9260.c5
-rw-r--r--arch/arm/mach-at91/board-sam9260ek.c5
-rw-r--r--arch/arm/mach-at91/board-sam9261ek.c5
-rw-r--r--arch/arm/mach-at91/board-sam9263ek.c5
-rw-r--r--arch/arm/mach-at91/board-sam9g20ek.c8
-rw-r--r--arch/arm/mach-at91/board-sam9m10g45ek.c5
-rw-r--r--arch/arm/mach-at91/board-sam9rlek.c5
-rw-r--r--arch/arm/mach-at91/board-snapper9260.c5
-rw-r--r--arch/arm/mach-at91/board-stamp9g20.c16
-rw-r--r--arch/arm/mach-at91/board-usb-a9260.c5
-rw-r--r--arch/arm/mach-at91/board-usb-a9263.c5
-rw-r--r--arch/arm/mach-at91/board-yl-9200.c5
-rw-r--r--arch/arm/mach-at91/generic.h11
-rw-r--r--arch/arm/mach-at91/include/mach/stamp9g20.h2
47 files changed, 166 insertions, 94 deletions
diff --git a/arch/arm/mach-at91/at572d940hf.c b/arch/arm/mach-at91/at572d940hf.c
index a6b9c68c003a..bacd3764b6c5 100644
--- a/arch/arm/mach-at91/at572d940hf.c
+++ b/arch/arm/mach-at91/at572d940hf.c
@@ -302,11 +302,14 @@ static void at572d940hf_reset(void)
302 * AT572D940HF processor initialization 302 * AT572D940HF processor initialization
303 * -------------------------------------------------------------------- */ 303 * -------------------------------------------------------------------- */
304 304
305void __init at572d940hf_initialize(unsigned long main_clock) 305void __init at572d940hf_map_io(void)
306{ 306{
307 /* Map peripherals */ 307 /* Map peripherals */
308 iotable_init(at572d940hf_io_desc, ARRAY_SIZE(at572d940hf_io_desc)); 308 iotable_init(at572d940hf_io_desc, ARRAY_SIZE(at572d940hf_io_desc));
309}
309 310
311void __init at572d940hf_initialize(unsigned long main_clock)
312{
310 at91_arch_reset = at572d940hf_reset; 313 at91_arch_reset = at572d940hf_reset;
311 at91_extern_irq = (1 << AT572D940HF_ID_IRQ0) | (1 << AT572D940HF_ID_IRQ1) 314 at91_extern_irq = (1 << AT572D940HF_ID_IRQ0) | (1 << AT572D940HF_ID_IRQ1)
312 | (1 << AT572D940HF_ID_IRQ2); 315 | (1 << AT572D940HF_ID_IRQ2);
diff --git a/arch/arm/mach-at91/at91cap9.c b/arch/arm/mach-at91/at91cap9.c
index 73376170fb91..69df2bb4a703 100644
--- a/arch/arm/mach-at91/at91cap9.c
+++ b/arch/arm/mach-at91/at91cap9.c
@@ -303,11 +303,14 @@ static void at91cap9_poweroff(void)
303 * AT91CAP9 processor initialization 303 * AT91CAP9 processor initialization
304 * -------------------------------------------------------------------- */ 304 * -------------------------------------------------------------------- */
305 305
306void __init at91cap9_initialize(unsigned long main_clock) 306void __init at91cap9_map_io(void)
307{ 307{
308 /* Map peripherals */ 308 /* Map peripherals */
309 iotable_init(at91cap9_io_desc, ARRAY_SIZE(at91cap9_io_desc)); 309 iotable_init(at91cap9_io_desc, ARRAY_SIZE(at91cap9_io_desc));
310}
310 311
312void __init at91cap9_initialize(unsigned long main_clock)
313{
311 at91_arch_reset = at91cap9_reset; 314 at91_arch_reset = at91cap9_reset;
312 pm_power_off = at91cap9_poweroff; 315 pm_power_off = at91cap9_poweroff;
313 at91_extern_irq = (1 << AT91CAP9_ID_IRQ0) | (1 << AT91CAP9_ID_IRQ1); 316 at91_extern_irq = (1 << AT91CAP9_ID_IRQ0) | (1 << AT91CAP9_ID_IRQ1);
diff --git a/arch/arm/mach-at91/at91rm9200.c b/arch/arm/mach-at91/at91rm9200.c
index 2e9ecad97f3d..164a98ed8888 100644
--- a/arch/arm/mach-at91/at91rm9200.c
+++ b/arch/arm/mach-at91/at91rm9200.c
@@ -270,11 +270,14 @@ static void at91rm9200_reset(void)
270/* -------------------------------------------------------------------- 270/* --------------------------------------------------------------------
271 * AT91RM9200 processor initialization 271 * AT91RM9200 processor initialization
272 * -------------------------------------------------------------------- */ 272 * -------------------------------------------------------------------- */
273void __init at91rm9200_initialize(unsigned long main_clock, unsigned short banks) 273void __init at91rm9200_map_io(void)
274{ 274{
275 /* Map peripherals */ 275 /* Map peripherals */
276 iotable_init(at91rm9200_io_desc, ARRAY_SIZE(at91rm9200_io_desc)); 276 iotable_init(at91rm9200_io_desc, ARRAY_SIZE(at91rm9200_io_desc));
277}
277 278
279void __init at91rm9200_initialize(unsigned long main_clock, unsigned short banks)
280{
278 at91_arch_reset = at91rm9200_reset; 281 at91_arch_reset = at91rm9200_reset;
279 at91_extern_irq = (1 << AT91RM9200_ID_IRQ0) | (1 << AT91RM9200_ID_IRQ1) 282 at91_extern_irq = (1 << AT91RM9200_ID_IRQ0) | (1 << AT91RM9200_ID_IRQ1)
280 | (1 << AT91RM9200_ID_IRQ2) | (1 << AT91RM9200_ID_IRQ3) 283 | (1 << AT91RM9200_ID_IRQ2) | (1 << AT91RM9200_ID_IRQ3)
diff --git a/arch/arm/mach-at91/at91sam9260.c b/arch/arm/mach-at91/at91sam9260.c
index 195208b30024..5430669d7462 100644
--- a/arch/arm/mach-at91/at91sam9260.c
+++ b/arch/arm/mach-at91/at91sam9260.c
@@ -289,7 +289,7 @@ static void at91sam9260_poweroff(void)
289 * AT91SAM9260 processor initialization 289 * AT91SAM9260 processor initialization
290 * -------------------------------------------------------------------- */ 290 * -------------------------------------------------------------------- */
291 291
292static void __init at91sam9xe_initialize(void) 292static void __init at91sam9xe_map_io(void)
293{ 293{
294 unsigned long cidr, sram_size; 294 unsigned long cidr, sram_size;
295 295
@@ -310,18 +310,21 @@ static void __init at91sam9xe_initialize(void)
310 iotable_init(at91sam9xe_sram_desc, ARRAY_SIZE(at91sam9xe_sram_desc)); 310 iotable_init(at91sam9xe_sram_desc, ARRAY_SIZE(at91sam9xe_sram_desc));
311} 311}
312 312
313void __init at91sam9260_initialize(unsigned long main_clock) 313void __init at91sam9260_map_io(void)
314{ 314{
315 /* Map peripherals */ 315 /* Map peripherals */
316 iotable_init(at91sam9260_io_desc, ARRAY_SIZE(at91sam9260_io_desc)); 316 iotable_init(at91sam9260_io_desc, ARRAY_SIZE(at91sam9260_io_desc));
317 317
318 if (cpu_is_at91sam9xe()) 318 if (cpu_is_at91sam9xe())
319 at91sam9xe_initialize(); 319 at91sam9xe_map_io();
320 else if (cpu_is_at91sam9g20()) 320 else if (cpu_is_at91sam9g20())
321 iotable_init(at91sam9g20_sram_desc, ARRAY_SIZE(at91sam9g20_sram_desc)); 321 iotable_init(at91sam9g20_sram_desc, ARRAY_SIZE(at91sam9g20_sram_desc));
322 else 322 else
323 iotable_init(at91sam9260_sram_desc, ARRAY_SIZE(at91sam9260_sram_desc)); 323 iotable_init(at91sam9260_sram_desc, ARRAY_SIZE(at91sam9260_sram_desc));
324}
324 325
326void __init at91sam9260_initialize(unsigned long main_clock)
327{
325 at91_arch_reset = at91sam9_alt_reset; 328 at91_arch_reset = at91sam9_alt_reset;
326 pm_power_off = at91sam9260_poweroff; 329 pm_power_off = at91sam9260_poweroff;
327 at91_extern_irq = (1 << AT91SAM9260_ID_IRQ0) | (1 << AT91SAM9260_ID_IRQ1) 330 at91_extern_irq = (1 << AT91SAM9260_ID_IRQ0) | (1 << AT91SAM9260_ID_IRQ1)
diff --git a/arch/arm/mach-at91/at91sam9261.c b/arch/arm/mach-at91/at91sam9261.c
index fcad88668504..e3bafaebe010 100644
--- a/arch/arm/mach-at91/at91sam9261.c
+++ b/arch/arm/mach-at91/at91sam9261.c
@@ -267,7 +267,7 @@ static void at91sam9261_poweroff(void)
267 * AT91SAM9261 processor initialization 267 * AT91SAM9261 processor initialization
268 * -------------------------------------------------------------------- */ 268 * -------------------------------------------------------------------- */
269 269
270void __init at91sam9261_initialize(unsigned long main_clock) 270void __init at91sam9261_map_io(void)
271{ 271{
272 /* Map peripherals */ 272 /* Map peripherals */
273 iotable_init(at91sam9261_io_desc, ARRAY_SIZE(at91sam9261_io_desc)); 273 iotable_init(at91sam9261_io_desc, ARRAY_SIZE(at91sam9261_io_desc));
@@ -276,8 +276,10 @@ void __init at91sam9261_initialize(unsigned long main_clock)
276 iotable_init(at91sam9g10_sram_desc, ARRAY_SIZE(at91sam9g10_sram_desc)); 276 iotable_init(at91sam9g10_sram_desc, ARRAY_SIZE(at91sam9g10_sram_desc));
277 else 277 else
278 iotable_init(at91sam9261_sram_desc, ARRAY_SIZE(at91sam9261_sram_desc)); 278 iotable_init(at91sam9261_sram_desc, ARRAY_SIZE(at91sam9261_sram_desc));
279}
279 280
280 281void __init at91sam9261_initialize(unsigned long main_clock)
282{
281 at91_arch_reset = at91sam9_alt_reset; 283 at91_arch_reset = at91sam9_alt_reset;
282 pm_power_off = at91sam9261_poweroff; 284 pm_power_off = at91sam9261_poweroff;
283 at91_extern_irq = (1 << AT91SAM9261_ID_IRQ0) | (1 << AT91SAM9261_ID_IRQ1) 285 at91_extern_irq = (1 << AT91SAM9261_ID_IRQ0) | (1 << AT91SAM9261_ID_IRQ1)
diff --git a/arch/arm/mach-at91/at91sam9263.c b/arch/arm/mach-at91/at91sam9263.c
index 249f900954d8..6a085fedf6a3 100644
--- a/arch/arm/mach-at91/at91sam9263.c
+++ b/arch/arm/mach-at91/at91sam9263.c
@@ -279,11 +279,14 @@ static void at91sam9263_poweroff(void)
279 * AT91SAM9263 processor initialization 279 * AT91SAM9263 processor initialization
280 * -------------------------------------------------------------------- */ 280 * -------------------------------------------------------------------- */
281 281
282void __init at91sam9263_initialize(unsigned long main_clock) 282void __init at91sam9263_map_io(void)
283{ 283{
284 /* Map peripherals */ 284 /* Map peripherals */
285 iotable_init(at91sam9263_io_desc, ARRAY_SIZE(at91sam9263_io_desc)); 285 iotable_init(at91sam9263_io_desc, ARRAY_SIZE(at91sam9263_io_desc));
286}
286 287
288void __init at91sam9263_initialize(unsigned long main_clock)
289{
287 at91_arch_reset = at91sam9_alt_reset; 290 at91_arch_reset = at91sam9_alt_reset;
288 pm_power_off = at91sam9263_poweroff; 291 pm_power_off = at91sam9263_poweroff;
289 at91_extern_irq = (1 << AT91SAM9263_ID_IRQ0) | (1 << AT91SAM9263_ID_IRQ1); 292 at91_extern_irq = (1 << AT91SAM9263_ID_IRQ0) | (1 << AT91SAM9263_ID_IRQ1);
diff --git a/arch/arm/mach-at91/at91sam9g45.c b/arch/arm/mach-at91/at91sam9g45.c
index c67b47f1c0fd..024e456b943f 100644
--- a/arch/arm/mach-at91/at91sam9g45.c
+++ b/arch/arm/mach-at91/at91sam9g45.c
@@ -306,11 +306,14 @@ static void at91sam9g45_poweroff(void)
306 * AT91SAM9G45 processor initialization 306 * AT91SAM9G45 processor initialization
307 * -------------------------------------------------------------------- */ 307 * -------------------------------------------------------------------- */
308 308
309void __init at91sam9g45_initialize(unsigned long main_clock) 309void __init at91sam9g45_map_io(void)
310{ 310{
311 /* Map peripherals */ 311 /* Map peripherals */
312 iotable_init(at91sam9g45_io_desc, ARRAY_SIZE(at91sam9g45_io_desc)); 312 iotable_init(at91sam9g45_io_desc, ARRAY_SIZE(at91sam9g45_io_desc));
313}
313 314
315void __init at91sam9g45_initialize(unsigned long main_clock)
316{
314 at91_arch_reset = at91sam9g45_reset; 317 at91_arch_reset = at91sam9g45_reset;
315 pm_power_off = at91sam9g45_poweroff; 318 pm_power_off = at91sam9g45_poweroff;
316 at91_extern_irq = (1 << AT91SAM9G45_ID_IRQ0); 319 at91_extern_irq = (1 << AT91SAM9G45_ID_IRQ0);
diff --git a/arch/arm/mach-at91/at91sam9rl.c b/arch/arm/mach-at91/at91sam9rl.c
index 6a9d24e5ed8e..67c869783c7e 100644
--- a/arch/arm/mach-at91/at91sam9rl.c
+++ b/arch/arm/mach-at91/at91sam9rl.c
@@ -252,7 +252,7 @@ static void at91sam9rl_poweroff(void)
252 * AT91SAM9RL processor initialization 252 * AT91SAM9RL processor initialization
253 * -------------------------------------------------------------------- */ 253 * -------------------------------------------------------------------- */
254 254
255void __init at91sam9rl_initialize(unsigned long main_clock) 255void __init at91sam9rl_map_io(void)
256{ 256{
257 unsigned long cidr, sram_size; 257 unsigned long cidr, sram_size;
258 258
@@ -275,7 +275,10 @@ void __init at91sam9rl_initialize(unsigned long main_clock)
275 275
276 /* Map SRAM */ 276 /* Map SRAM */
277 iotable_init(at91sam9rl_sram_desc, ARRAY_SIZE(at91sam9rl_sram_desc)); 277 iotable_init(at91sam9rl_sram_desc, ARRAY_SIZE(at91sam9rl_sram_desc));
278}
278 279
280void __init at91sam9rl_initialize(unsigned long main_clock)
281{
279 at91_arch_reset = at91sam9_alt_reset; 282 at91_arch_reset = at91sam9_alt_reset;
280 pm_power_off = at91sam9rl_poweroff; 283 pm_power_off = at91sam9rl_poweroff;
281 at91_extern_irq = (1 << AT91SAM9RL_ID_IRQ0); 284 at91_extern_irq = (1 << AT91SAM9RL_ID_IRQ0);
diff --git a/arch/arm/mach-at91/board-1arm.c b/arch/arm/mach-at91/board-1arm.c
index 8a3fc84847c1..672bbd85f952 100644
--- a/arch/arm/mach-at91/board-1arm.c
+++ b/arch/arm/mach-at91/board-1arm.c
@@ -39,7 +39,7 @@
39#include "generic.h" 39#include "generic.h"
40 40
41 41
42static void __init onearm_map_io(void) 42static void __init onearm_init_early(void)
43{ 43{
44 /* Initialize processor: 18.432 MHz crystal */ 44 /* Initialize processor: 18.432 MHz crystal */
45 at91rm9200_initialize(18432000, AT91RM9200_PQFP); 45 at91rm9200_initialize(18432000, AT91RM9200_PQFP);
@@ -94,7 +94,8 @@ MACHINE_START(ONEARM, "Ajeco 1ARM single board computer")
94 /* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */ 94 /* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */
95 .boot_params = AT91_SDRAM_BASE + 0x100, 95 .boot_params = AT91_SDRAM_BASE + 0x100,
96 .timer = &at91rm9200_timer, 96 .timer = &at91rm9200_timer,
97 .map_io = onearm_map_io, 97 .map_io = at91rm9200_map_io,
98 .init_early = onearm_init_early,
98 .init_irq = onearm_init_irq, 99 .init_irq = onearm_init_irq,
99 .init_machine = onearm_board_init, 100 .init_machine = onearm_board_init,
100MACHINE_END 101MACHINE_END
diff --git a/arch/arm/mach-at91/board-afeb-9260v1.c b/arch/arm/mach-at91/board-afeb-9260v1.c
index cba7f7771fee..00a92a55e940 100644
--- a/arch/arm/mach-at91/board-afeb-9260v1.c
+++ b/arch/arm/mach-at91/board-afeb-9260v1.c
@@ -48,7 +48,7 @@
48#include "generic.h" 48#include "generic.h"
49 49
50 50
51static void __init afeb9260_map_io(void) 51static void __init afeb9260_init_early(void)
52{ 52{
53 /* Initialize processor: 18.432 MHz crystal */ 53 /* Initialize processor: 18.432 MHz crystal */
54 at91sam9260_initialize(18432000); 54 at91sam9260_initialize(18432000);
@@ -220,7 +220,8 @@ MACHINE_START(AFEB9260, "Custom afeb9260 board")
220 /* Maintainer: Sergey Lapin <slapin@ossfans.org> */ 220 /* Maintainer: Sergey Lapin <slapin@ossfans.org> */
221 .boot_params = AT91_SDRAM_BASE + 0x100, 221 .boot_params = AT91_SDRAM_BASE + 0x100,
222 .timer = &at91sam926x_timer, 222 .timer = &at91sam926x_timer,
223 .map_io = afeb9260_map_io, 223 .map_io = at91sam9260_map_io,
224 .init_early = afeb9260_init_early,
224 .init_irq = afeb9260_init_irq, 225 .init_irq = afeb9260_init_irq,
225 .init_machine = afeb9260_board_init, 226 .init_machine = afeb9260_board_init,
226MACHINE_END 227MACHINE_END
diff --git a/arch/arm/mach-at91/board-at572d940hf_ek.c b/arch/arm/mach-at91/board-at572d940hf_ek.c
index 096b99f4b1f3..a11d7093a1f9 100644
--- a/arch/arm/mach-at91/board-at572d940hf_ek.c
+++ b/arch/arm/mach-at91/board-at572d940hf_ek.c
@@ -47,7 +47,7 @@
47#include "generic.h" 47#include "generic.h"
48 48
49 49
50static void __init eb_map_io(void) 50static void __init eb_init_early(void)
51{ 51{
52 /* Initialize processor: 12.500 MHz crystal */ 52 /* Initialize processor: 12.500 MHz crystal */
53 at572d940hf_initialize(12000000); 53 at572d940hf_initialize(12000000);
@@ -317,7 +317,8 @@ MACHINE_START(AT572D940HFEB, "Atmel AT91D940HF-EB")
317 /* Maintainer: Atmel <costa.antonior@gmail.com> */ 317 /* Maintainer: Atmel <costa.antonior@gmail.com> */
318 .boot_params = AT91_SDRAM_BASE + 0x100, 318 .boot_params = AT91_SDRAM_BASE + 0x100,
319 .timer = &at91sam926x_timer, 319 .timer = &at91sam926x_timer,
320 .map_io = eb_map_io, 320 .map_io = at572d940hf_map_io,
321 .init_early = eb_init_early,
321 .init_irq = eb_init_irq, 322 .init_irq = eb_init_irq,
322 .init_machine = eb_board_init, 323 .init_machine = eb_board_init,
323MACHINE_END 324MACHINE_END
diff --git a/arch/arm/mach-at91/board-cam60.c b/arch/arm/mach-at91/board-cam60.c
index b54e3e6fceb6..3025b905bc30 100644
--- a/arch/arm/mach-at91/board-cam60.c
+++ b/arch/arm/mach-at91/board-cam60.c
@@ -45,7 +45,7 @@
45#include "generic.h" 45#include "generic.h"
46 46
47 47
48static void __init cam60_map_io(void) 48static void __init cam60_init_early(void)
49{ 49{
50 /* Initialize processor: 10 MHz crystal */ 50 /* Initialize processor: 10 MHz crystal */
51 at91sam9260_initialize(10000000); 51 at91sam9260_initialize(10000000);
@@ -200,7 +200,8 @@ MACHINE_START(CAM60, "KwikByte CAM60")
200 /* Maintainer: KwikByte */ 200 /* Maintainer: KwikByte */
201 .boot_params = AT91_SDRAM_BASE + 0x100, 201 .boot_params = AT91_SDRAM_BASE + 0x100,
202 .timer = &at91sam926x_timer, 202 .timer = &at91sam926x_timer,
203 .map_io = cam60_map_io, 203 .map_io = at91sam9260_map_io,
204 .init_early = cam60_init_early,
204 .init_irq = cam60_init_irq, 205 .init_irq = cam60_init_irq,
205 .init_machine = cam60_board_init, 206 .init_machine = cam60_board_init,
206MACHINE_END 207MACHINE_END
diff --git a/arch/arm/mach-at91/board-cap9adk.c b/arch/arm/mach-at91/board-cap9adk.c
index 96010d4e15af..af90569204a3 100644
--- a/arch/arm/mach-at91/board-cap9adk.c
+++ b/arch/arm/mach-at91/board-cap9adk.c
@@ -50,7 +50,7 @@
50#include "generic.h" 50#include "generic.h"
51 51
52 52
53static void __init cap9adk_map_io(void) 53static void __init cap9adk_init_early(void)
54{ 54{
55 /* Initialize processor: 12 MHz crystal */ 55 /* Initialize processor: 12 MHz crystal */
56 at91cap9_initialize(12000000); 56 at91cap9_initialize(12000000);
@@ -398,7 +398,8 @@ MACHINE_START(AT91CAP9ADK, "Atmel AT91CAP9A-DK")
398 /* Maintainer: Stelian Pop <stelian.pop@leadtechdesign.com> */ 398 /* Maintainer: Stelian Pop <stelian.pop@leadtechdesign.com> */
399 .boot_params = AT91_SDRAM_BASE + 0x100, 399 .boot_params = AT91_SDRAM_BASE + 0x100,
400 .timer = &at91sam926x_timer, 400 .timer = &at91sam926x_timer,
401 .map_io = cap9adk_map_io, 401 .map_io = at91cap9_map_io,
402 .init_early = cap9adk_init_early,
402 .init_irq = cap9adk_init_irq, 403 .init_irq = cap9adk_init_irq,
403 .init_machine = cap9adk_board_init, 404 .init_machine = cap9adk_board_init,
404MACHINE_END 405MACHINE_END
diff --git a/arch/arm/mach-at91/board-carmeva.c b/arch/arm/mach-at91/board-carmeva.c
index 295e1e77fa60..dfa98f34281d 100644
--- a/arch/arm/mach-at91/board-carmeva.c
+++ b/arch/arm/mach-at91/board-carmeva.c
@@ -40,7 +40,7 @@
40#include "generic.h" 40#include "generic.h"
41 41
42 42
43static void __init carmeva_map_io(void) 43static void __init carmeva_init_early(void)
44{ 44{
45 /* Initialize processor: 20.000 MHz crystal */ 45 /* Initialize processor: 20.000 MHz crystal */
46 at91rm9200_initialize(20000000, AT91RM9200_BGA); 46 at91rm9200_initialize(20000000, AT91RM9200_BGA);
@@ -164,7 +164,8 @@ MACHINE_START(CARMEVA, "Carmeva")
164 /* Maintainer: Conitec Datasystems */ 164 /* Maintainer: Conitec Datasystems */
165 .boot_params = AT91_SDRAM_BASE + 0x100, 165 .boot_params = AT91_SDRAM_BASE + 0x100,
166 .timer = &at91rm9200_timer, 166 .timer = &at91rm9200_timer,
167 .map_io = carmeva_map_io, 167 .map_io = at91rm9200_map_io,
168 .init_early = carmeva_init_early,
168 .init_irq = carmeva_init_irq, 169 .init_irq = carmeva_init_irq,
169 .init_machine = carmeva_board_init, 170 .init_machine = carmeva_board_init,
170MACHINE_END 171MACHINE_END
diff --git a/arch/arm/mach-at91/board-cpu9krea.c b/arch/arm/mach-at91/board-cpu9krea.c
index 3838594578f3..34fd892edff4 100644
--- a/arch/arm/mach-at91/board-cpu9krea.c
+++ b/arch/arm/mach-at91/board-cpu9krea.c
@@ -47,7 +47,7 @@
47#include "sam9_smc.h" 47#include "sam9_smc.h"
48#include "generic.h" 48#include "generic.h"
49 49
50static void __init cpu9krea_map_io(void) 50static void __init cpu9krea_init_early(void)
51{ 51{
52 /* Initialize processor: 18.432 MHz crystal */ 52 /* Initialize processor: 18.432 MHz crystal */
53 at91sam9260_initialize(18432000); 53 at91sam9260_initialize(18432000);
@@ -377,7 +377,8 @@ MACHINE_START(CPUAT9G20, "Eukrea CPU9G20")
377 /* Maintainer: Eric Benard - EUKREA Electromatique */ 377 /* Maintainer: Eric Benard - EUKREA Electromatique */
378 .boot_params = AT91_SDRAM_BASE + 0x100, 378 .boot_params = AT91_SDRAM_BASE + 0x100,
379 .timer = &at91sam926x_timer, 379 .timer = &at91sam926x_timer,
380 .map_io = cpu9krea_map_io, 380 .map_io = at91sam9260_map_io,
381 .init_early = cpu9krea_init_early,
381 .init_irq = cpu9krea_init_irq, 382 .init_irq = cpu9krea_init_irq,
382 .init_machine = cpu9krea_board_init, 383 .init_machine = cpu9krea_board_init,
383MACHINE_END 384MACHINE_END
diff --git a/arch/arm/mach-at91/board-cpuat91.c b/arch/arm/mach-at91/board-cpuat91.c
index 2f4dd8cdd484..34c9d0c75e42 100644
--- a/arch/arm/mach-at91/board-cpuat91.c
+++ b/arch/arm/mach-at91/board-cpuat91.c
@@ -50,7 +50,7 @@ static struct gpio_led cpuat91_leds[] = {
50 }, 50 },
51}; 51};
52 52
53static void __init cpuat91_map_io(void) 53static void __init cpuat91_init_early(void)
54{ 54{
55 /* Initialize processor: 18.432 MHz crystal */ 55 /* Initialize processor: 18.432 MHz crystal */
56 at91rm9200_initialize(18432000, AT91RM9200_PQFP); 56 at91rm9200_initialize(18432000, AT91RM9200_PQFP);
@@ -177,7 +177,8 @@ MACHINE_START(CPUAT91, "Eukrea")
177 /* Maintainer: Eric Benard - EUKREA Electromatique */ 177 /* Maintainer: Eric Benard - EUKREA Electromatique */
178 .boot_params = AT91_SDRAM_BASE + 0x100, 178 .boot_params = AT91_SDRAM_BASE + 0x100,
179 .timer = &at91rm9200_timer, 179 .timer = &at91rm9200_timer,
180 .map_io = cpuat91_map_io, 180 .map_io = at91rm9200_map_io,
181 .init_early = cpuat91_init_early,
181 .init_irq = cpuat91_init_irq, 182 .init_irq = cpuat91_init_irq,
182 .init_machine = cpuat91_board_init, 183 .init_machine = cpuat91_board_init,
183MACHINE_END 184MACHINE_END
diff --git a/arch/arm/mach-at91/board-csb337.c b/arch/arm/mach-at91/board-csb337.c
index 464839dc39bd..a48a32ddb049 100644
--- a/arch/arm/mach-at91/board-csb337.c
+++ b/arch/arm/mach-at91/board-csb337.c
@@ -43,7 +43,7 @@
43#include "generic.h" 43#include "generic.h"
44 44
45 45
46static void __init csb337_map_io(void) 46static void __init csb337_init_early(void)
47{ 47{
48 /* Initialize processor: 3.6864 MHz crystal */ 48 /* Initialize processor: 3.6864 MHz crystal */
49 at91rm9200_initialize(3686400, AT91RM9200_BGA); 49 at91rm9200_initialize(3686400, AT91RM9200_BGA);
@@ -259,7 +259,8 @@ MACHINE_START(CSB337, "Cogent CSB337")
259 /* Maintainer: Bill Gatliff */ 259 /* Maintainer: Bill Gatliff */
260 .boot_params = AT91_SDRAM_BASE + 0x100, 260 .boot_params = AT91_SDRAM_BASE + 0x100,
261 .timer = &at91rm9200_timer, 261 .timer = &at91rm9200_timer,
262 .map_io = csb337_map_io, 262 .map_io = at91rm9200_map_io,
263 .init_early = csb337_init_early,
263 .init_irq = csb337_init_irq, 264 .init_irq = csb337_init_irq,
264 .init_machine = csb337_board_init, 265 .init_machine = csb337_board_init,
265MACHINE_END 266MACHINE_END
diff --git a/arch/arm/mach-at91/board-csb637.c b/arch/arm/mach-at91/board-csb637.c
index 431688c61412..7f0ee1cd9e8b 100644
--- a/arch/arm/mach-at91/board-csb637.c
+++ b/arch/arm/mach-at91/board-csb637.c
@@ -40,7 +40,7 @@
40#include "generic.h" 40#include "generic.h"
41 41
42 42
43static void __init csb637_map_io(void) 43static void __init csb637_init_early(void)
44{ 44{
45 /* Initialize processor: 3.6864 MHz crystal */ 45 /* Initialize processor: 3.6864 MHz crystal */
46 at91rm9200_initialize(3686400, AT91RM9200_BGA); 46 at91rm9200_initialize(3686400, AT91RM9200_BGA);
@@ -140,7 +140,8 @@ MACHINE_START(CSB637, "Cogent CSB637")
140 /* Maintainer: Bill Gatliff */ 140 /* Maintainer: Bill Gatliff */
141 .boot_params = AT91_SDRAM_BASE + 0x100, 141 .boot_params = AT91_SDRAM_BASE + 0x100,
142 .timer = &at91rm9200_timer, 142 .timer = &at91rm9200_timer,
143 .map_io = csb637_map_io, 143 .map_io = at91rm9200_map_io,
144 .init_early = csb637_init_early,
144 .init_irq = csb637_init_irq, 145 .init_irq = csb637_init_irq,
145 .init_machine = csb637_board_init, 146 .init_machine = csb637_board_init,
146MACHINE_END 147MACHINE_END
diff --git a/arch/arm/mach-at91/board-eb01.c b/arch/arm/mach-at91/board-eb01.c
index d8df59a3426d..d2023f27c652 100644
--- a/arch/arm/mach-at91/board-eb01.c
+++ b/arch/arm/mach-at91/board-eb01.c
@@ -35,7 +35,7 @@ static void __init at91eb01_init_irq(void)
35 at91x40_init_interrupts(NULL); 35 at91x40_init_interrupts(NULL);
36} 36}
37 37
38static void __init at91eb01_map_io(void) 38static void __init at91eb01_init_early(void)
39{ 39{
40 at91x40_initialize(40000000); 40 at91x40_initialize(40000000);
41} 41}
@@ -43,7 +43,7 @@ static void __init at91eb01_map_io(void)
43MACHINE_START(AT91EB01, "Atmel AT91 EB01") 43MACHINE_START(AT91EB01, "Atmel AT91 EB01")
44 /* Maintainer: Greg Ungerer <gerg@snapgear.com> */ 44 /* Maintainer: Greg Ungerer <gerg@snapgear.com> */
45 .timer = &at91x40_timer, 45 .timer = &at91x40_timer,
46 .init_early = at91eb01_init_early,
46 .init_irq = at91eb01_init_irq, 47 .init_irq = at91eb01_init_irq,
47 .map_io = at91eb01_map_io,
48MACHINE_END 48MACHINE_END
49 49
diff --git a/arch/arm/mach-at91/board-eb9200.c b/arch/arm/mach-at91/board-eb9200.c
index 6cf6566ae346..0de1ba43c755 100644
--- a/arch/arm/mach-at91/board-eb9200.c
+++ b/arch/arm/mach-at91/board-eb9200.c
@@ -40,7 +40,7 @@
40#include "generic.h" 40#include "generic.h"
41 41
42 42
43static void __init eb9200_map_io(void) 43static void __init eb9200_init_early(void)
44{ 44{
45 /* Initialize processor: 18.432 MHz crystal */ 45 /* Initialize processor: 18.432 MHz crystal */
46 at91rm9200_initialize(18432000, AT91RM9200_BGA); 46 at91rm9200_initialize(18432000, AT91RM9200_BGA);
@@ -122,7 +122,8 @@ static void __init eb9200_board_init(void)
122MACHINE_START(ATEB9200, "Embest ATEB9200") 122MACHINE_START(ATEB9200, "Embest ATEB9200")
123 .boot_params = AT91_SDRAM_BASE + 0x100, 123 .boot_params = AT91_SDRAM_BASE + 0x100,
124 .timer = &at91rm9200_timer, 124 .timer = &at91rm9200_timer,
125 .map_io = eb9200_map_io, 125 .map_io = at91rm9200_map_io,
126 .init_early = eb9200_init_early,
126 .init_irq = eb9200_init_irq, 127 .init_irq = eb9200_init_irq,
127 .init_machine = eb9200_board_init, 128 .init_machine = eb9200_board_init,
128MACHINE_END 129MACHINE_END
diff --git a/arch/arm/mach-at91/board-ecbat91.c b/arch/arm/mach-at91/board-ecbat91.c
index de2fd04e7c8a..bd46395aca85 100644
--- a/arch/arm/mach-at91/board-ecbat91.c
+++ b/arch/arm/mach-at91/board-ecbat91.c
@@ -42,7 +42,7 @@
42#include "generic.h" 42#include "generic.h"
43 43
44 44
45static void __init ecb_at91map_io(void) 45static void __init ecb_at91init_early(void)
46{ 46{
47 /* Initialize processor: 18.432 MHz crystal */ 47 /* Initialize processor: 18.432 MHz crystal */
48 at91rm9200_initialize(18432000, AT91RM9200_PQFP); 48 at91rm9200_initialize(18432000, AT91RM9200_PQFP);
@@ -170,7 +170,8 @@ MACHINE_START(ECBAT91, "emQbit's ECB_AT91")
170 /* Maintainer: emQbit.com */ 170 /* Maintainer: emQbit.com */
171 .boot_params = AT91_SDRAM_BASE + 0x100, 171 .boot_params = AT91_SDRAM_BASE + 0x100,
172 .timer = &at91rm9200_timer, 172 .timer = &at91rm9200_timer,
173 .map_io = ecb_at91map_io, 173 .map_io = at91rm9200_map_io,
174 .init_early = ecb_at91init_early,
174 .init_irq = ecb_at91init_irq, 175 .init_irq = ecb_at91init_irq,
175 .init_machine = ecb_at91board_init, 176 .init_machine = ecb_at91board_init,
176MACHINE_END 177MACHINE_END
diff --git a/arch/arm/mach-at91/board-eco920.c b/arch/arm/mach-at91/board-eco920.c
index 87f6f83be2c5..6fff26df723e 100644
--- a/arch/arm/mach-at91/board-eco920.c
+++ b/arch/arm/mach-at91/board-eco920.c
@@ -28,7 +28,7 @@
28#include <mach/at91rm9200_mc.h> 28#include <mach/at91rm9200_mc.h>
29#include "generic.h" 29#include "generic.h"
30 30
31static void __init eco920_map_io(void) 31static void __init eco920_init_early(void)
32{ 32{
33 at91rm9200_initialize(18432000, AT91RM9200_PQFP); 33 at91rm9200_initialize(18432000, AT91RM9200_PQFP);
34 34
@@ -131,7 +131,8 @@ MACHINE_START(ECO920, "eco920")
131 /* Maintainer: Sascha Hauer */ 131 /* Maintainer: Sascha Hauer */
132 .boot_params = AT91_SDRAM_BASE + 0x100, 132 .boot_params = AT91_SDRAM_BASE + 0x100,
133 .timer = &at91rm9200_timer, 133 .timer = &at91rm9200_timer,
134 .map_io = eco920_map_io, 134 .map_io = at91rm9200_map_io,
135 .init_early = eco920_init_early,
135 .init_irq = eco920_init_irq, 136 .init_irq = eco920_init_irq,
136 .init_machine = eco920_board_init, 137 .init_machine = eco920_board_init,
137MACHINE_END 138MACHINE_END
diff --git a/arch/arm/mach-at91/board-flexibity.c b/arch/arm/mach-at91/board-flexibity.c
index c8a62dc8fa65..934542f624b6 100644
--- a/arch/arm/mach-at91/board-flexibity.c
+++ b/arch/arm/mach-at91/board-flexibity.c
@@ -37,7 +37,7 @@
37 37
38#include "generic.h" 38#include "generic.h"
39 39
40static void __init flexibity_map_io(void) 40static void __init flexibity_init_early(void)
41{ 41{
42 /* Initialize processor: 18.432 MHz crystal */ 42 /* Initialize processor: 18.432 MHz crystal */
43 at91sam9260_initialize(18432000); 43 at91sam9260_initialize(18432000);
@@ -156,7 +156,8 @@ MACHINE_START(FLEXIBITY, "Flexibity Connect")
156 /* Maintainer: Maxim Osipov */ 156 /* Maintainer: Maxim Osipov */
157 .boot_params = AT91_SDRAM_BASE + 0x100, 157 .boot_params = AT91_SDRAM_BASE + 0x100,
158 .timer = &at91sam926x_timer, 158 .timer = &at91sam926x_timer,
159 .map_io = flexibity_map_io, 159 .map_io = at91sam9260_map_io,
160 .init_early = flexibity_init_early,
160 .init_irq = flexibity_init_irq, 161 .init_irq = flexibity_init_irq,
161 .init_machine = flexibity_board_init, 162 .init_machine = flexibity_board_init,
162MACHINE_END 163MACHINE_END
diff --git a/arch/arm/mach-at91/board-foxg20.c b/arch/arm/mach-at91/board-foxg20.c
index dfc7dfe738e4..470a66b275ba 100644
--- a/arch/arm/mach-at91/board-foxg20.c
+++ b/arch/arm/mach-at91/board-foxg20.c
@@ -57,7 +57,7 @@
57 */ 57 */
58 58
59 59
60static void __init foxg20_map_io(void) 60static void __init foxg20_init_early(void)
61{ 61{
62 /* Initialize processor: 18.432 MHz crystal */ 62 /* Initialize processor: 18.432 MHz crystal */
63 at91sam9260_initialize(18432000); 63 at91sam9260_initialize(18432000);
@@ -268,7 +268,8 @@ MACHINE_START(ACMENETUSFOXG20, "Acme Systems srl FOX Board G20")
268 /* Maintainer: Sergio Tanzilli */ 268 /* Maintainer: Sergio Tanzilli */
269 .boot_params = AT91_SDRAM_BASE + 0x100, 269 .boot_params = AT91_SDRAM_BASE + 0x100,
270 .timer = &at91sam926x_timer, 270 .timer = &at91sam926x_timer,
271 .map_io = foxg20_map_io, 271 .map_io = at91sam9260_map_io,
272 .init_early = foxg20_init_early,
272 .init_irq = foxg20_init_irq, 273 .init_irq = foxg20_init_irq,
273 .init_machine = foxg20_board_init, 274 .init_machine = foxg20_board_init,
274MACHINE_END 275MACHINE_END
diff --git a/arch/arm/mach-at91/board-gsia18s.c b/arch/arm/mach-at91/board-gsia18s.c
index bc28136ee249..2b409decaae8 100644
--- a/arch/arm/mach-at91/board-gsia18s.c
+++ b/arch/arm/mach-at91/board-gsia18s.c
@@ -38,9 +38,9 @@
38#include "sam9_smc.h" 38#include "sam9_smc.h"
39#include "generic.h" 39#include "generic.h"
40 40
41static void __init gsia18s_map_io(void) 41static void __init gsia18s_init_early(void)
42{ 42{
43 stamp9g20_map_io(); 43 stamp9g20_init_early();
44 44
45 /* 45 /*
46 * USART0 on ttyS1 (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI). 46 * USART0 on ttyS1 (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI).
@@ -578,7 +578,8 @@ static void __init gsia18s_board_init(void)
578MACHINE_START(GSIA18S, "GS_IA18_S") 578MACHINE_START(GSIA18S, "GS_IA18_S")
579 .boot_params = AT91_SDRAM_BASE + 0x100, 579 .boot_params = AT91_SDRAM_BASE + 0x100,
580 .timer = &at91sam926x_timer, 580 .timer = &at91sam926x_timer,
581 .map_io = gsia18s_map_io, 581 .map_io = at91sam9260_map_io,
582 .init_early = gsia18s_init_early,
582 .init_irq = init_irq, 583 .init_irq = init_irq,
583 .init_machine = gsia18s_board_init, 584 .init_machine = gsia18s_board_init,
584MACHINE_END 585MACHINE_END
diff --git a/arch/arm/mach-at91/board-kafa.c b/arch/arm/mach-at91/board-kafa.c
index d2e1f4ec1fcc..49557d3be95b 100644
--- a/arch/arm/mach-at91/board-kafa.c
+++ b/arch/arm/mach-at91/board-kafa.c
@@ -39,7 +39,7 @@
39#include "generic.h" 39#include "generic.h"
40 40
41 41
42static void __init kafa_map_io(void) 42static void __init kafa_init_early(void)
43{ 43{
44 /* Initialize processor: 18.432 MHz crystal */ 44 /* Initialize processor: 18.432 MHz crystal */
45 at91rm9200_initialize(18432000, AT91RM9200_PQFP); 45 at91rm9200_initialize(18432000, AT91RM9200_PQFP);
@@ -96,7 +96,8 @@ MACHINE_START(KAFA, "Sperry-Sun KAFA")
96 /* Maintainer: Sergei Sharonov */ 96 /* Maintainer: Sergei Sharonov */
97 .boot_params = AT91_SDRAM_BASE + 0x100, 97 .boot_params = AT91_SDRAM_BASE + 0x100,
98 .timer = &at91rm9200_timer, 98 .timer = &at91rm9200_timer,
99 .map_io = kafa_map_io, 99 .map_io = at91rm9200_map_io,
100 .init_early = kafa_init_early,
100 .init_irq = kafa_init_irq, 101 .init_irq = kafa_init_irq,
101 .init_machine = kafa_board_init, 102 .init_machine = kafa_board_init,
102MACHINE_END 103MACHINE_END
diff --git a/arch/arm/mach-at91/board-kb9202.c b/arch/arm/mach-at91/board-kb9202.c
index a13d2063faff..fca061a7370f 100644
--- a/arch/arm/mach-at91/board-kb9202.c
+++ b/arch/arm/mach-at91/board-kb9202.c
@@ -42,7 +42,7 @@
42#include "generic.h" 42#include "generic.h"
43 43
44 44
45static void __init kb9202_map_io(void) 45static void __init kb9202_init_early(void)
46{ 46{
47 /* Initialize processor: 10 MHz crystal */ 47 /* Initialize processor: 10 MHz crystal */
48 at91rm9200_initialize(10000000, AT91RM9200_PQFP); 48 at91rm9200_initialize(10000000, AT91RM9200_PQFP);
@@ -138,7 +138,8 @@ MACHINE_START(KB9200, "KB920x")
138 /* Maintainer: KwikByte, Inc. */ 138 /* Maintainer: KwikByte, Inc. */
139 .boot_params = AT91_SDRAM_BASE + 0x100, 139 .boot_params = AT91_SDRAM_BASE + 0x100,
140 .timer = &at91rm9200_timer, 140 .timer = &at91rm9200_timer,
141 .map_io = kb9202_map_io, 141 .map_io = at91rm9200_map_io,
142 .init_early = kb9202_init_early,
142 .init_irq = kb9202_init_irq, 143 .init_irq = kb9202_init_irq,
143 .init_machine = kb9202_board_init, 144 .init_machine = kb9202_board_init,
144MACHINE_END 145MACHINE_END
diff --git a/arch/arm/mach-at91/board-neocore926.c b/arch/arm/mach-at91/board-neocore926.c
index fe5f1d47e6e2..004b76da64f5 100644
--- a/arch/arm/mach-at91/board-neocore926.c
+++ b/arch/arm/mach-at91/board-neocore926.c
@@ -51,7 +51,7 @@
51#include "generic.h" 51#include "generic.h"
52 52
53 53
54static void __init neocore926_map_io(void) 54static void __init neocore926_init_early(void)
55{ 55{
56 /* Initialize processor: 20 MHz crystal */ 56 /* Initialize processor: 20 MHz crystal */
57 at91sam9263_initialize(20000000); 57 at91sam9263_initialize(20000000);
@@ -389,7 +389,8 @@ MACHINE_START(NEOCORE926, "ADENEO NEOCORE 926")
389 /* Maintainer: ADENEO */ 389 /* Maintainer: ADENEO */
390 .boot_params = AT91_SDRAM_BASE + 0x100, 390 .boot_params = AT91_SDRAM_BASE + 0x100,
391 .timer = &at91sam926x_timer, 391 .timer = &at91sam926x_timer,
392 .map_io = neocore926_map_io, 392 .map_io = at91sam9263_map_io,
393 .init_early = neocore926_init_early,
393 .init_irq = neocore926_init_irq, 394 .init_irq = neocore926_init_irq,
394 .init_machine = neocore926_board_init, 395 .init_machine = neocore926_board_init,
395MACHINE_END 396MACHINE_END
diff --git a/arch/arm/mach-at91/board-pcontrol-g20.c b/arch/arm/mach-at91/board-pcontrol-g20.c
index feb65787c30b..df1ed7e2806b 100644
--- a/arch/arm/mach-at91/board-pcontrol-g20.c
+++ b/arch/arm/mach-at91/board-pcontrol-g20.c
@@ -37,9 +37,9 @@
37#include "generic.h" 37#include "generic.h"
38 38
39 39
40static void __init pcontrol_g20_map_io(void) 40static void __init pcontrol_g20_init_early(void)
41{ 41{
42 stamp9g20_map_io(); 42 stamp9g20_init_early();
43 43
44 /* USART0 on ttyS1. (Rx, Tx, CTS, RTS) piggyback A2 */ 44 /* USART0 on ttyS1. (Rx, Tx, CTS, RTS) piggyback A2 */
45 at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS 45 at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS
@@ -224,7 +224,8 @@ MACHINE_START(PCONTROL_G20, "PControl G20")
224 /* Maintainer: pgsellmann@portner-elektronik.at */ 224 /* Maintainer: pgsellmann@portner-elektronik.at */
225 .boot_params = AT91_SDRAM_BASE + 0x100, 225 .boot_params = AT91_SDRAM_BASE + 0x100,
226 .timer = &at91sam926x_timer, 226 .timer = &at91sam926x_timer,
227 .map_io = pcontrol_g20_map_io, 227 .map_io = at91sam9260_map_io,
228 .init_early = pcontrol_g20_init_early,
228 .init_irq = init_irq, 229 .init_irq = init_irq,
229 .init_machine = pcontrol_g20_board_init, 230 .init_machine = pcontrol_g20_board_init,
230MACHINE_END 231MACHINE_END
diff --git a/arch/arm/mach-at91/board-picotux200.c b/arch/arm/mach-at91/board-picotux200.c
index 55dad3a46547..97372f692593 100644
--- a/arch/arm/mach-at91/board-picotux200.c
+++ b/arch/arm/mach-at91/board-picotux200.c
@@ -43,7 +43,7 @@
43#include "generic.h" 43#include "generic.h"
44 44
45 45
46static void __init picotux200_map_io(void) 46static void __init picotux200_init_early(void)
47{ 47{
48 /* Initialize processor: 18.432 MHz crystal */ 48 /* Initialize processor: 18.432 MHz crystal */
49 at91rm9200_initialize(18432000, AT91RM9200_BGA); 49 at91rm9200_initialize(18432000, AT91RM9200_BGA);
@@ -125,7 +125,8 @@ MACHINE_START(PICOTUX2XX, "picotux 200")
125 /* Maintainer: Kleinhenz Elektronik GmbH */ 125 /* Maintainer: Kleinhenz Elektronik GmbH */
126 .boot_params = AT91_SDRAM_BASE + 0x100, 126 .boot_params = AT91_SDRAM_BASE + 0x100,
127 .timer = &at91rm9200_timer, 127 .timer = &at91rm9200_timer,
128 .map_io = picotux200_map_io, 128 .map_io = at91rm9200_map_io,
129 .init_early = picotux200_init_early,
129 .init_irq = picotux200_init_irq, 130 .init_irq = picotux200_init_irq,
130 .init_machine = picotux200_board_init, 131 .init_machine = picotux200_board_init,
131MACHINE_END 132MACHINE_END
diff --git a/arch/arm/mach-at91/board-qil-a9260.c b/arch/arm/mach-at91/board-qil-a9260.c
index 69d15a875b66..5822d8ea4719 100644
--- a/arch/arm/mach-at91/board-qil-a9260.c
+++ b/arch/arm/mach-at91/board-qil-a9260.c
@@ -48,7 +48,7 @@
48#include "generic.h" 48#include "generic.h"
49 49
50 50
51static void __init ek_map_io(void) 51static void __init ek_init_early(void)
52{ 52{
53 /* Initialize processor: 12.000 MHz crystal */ 53 /* Initialize processor: 12.000 MHz crystal */
54 at91sam9260_initialize(12000000); 54 at91sam9260_initialize(12000000);
@@ -270,7 +270,8 @@ MACHINE_START(QIL_A9260, "CALAO QIL_A9260")
270 /* Maintainer: calao-systems */ 270 /* Maintainer: calao-systems */
271 .boot_params = AT91_SDRAM_BASE + 0x100, 271 .boot_params = AT91_SDRAM_BASE + 0x100,
272 .timer = &at91sam926x_timer, 272 .timer = &at91sam926x_timer,
273 .map_io = ek_map_io, 273 .map_io = at91sam9260_map_io,
274 .init_early = ek_init_early,
274 .init_irq = ek_init_irq, 275 .init_irq = ek_init_irq,
275 .init_machine = ek_board_init, 276 .init_machine = ek_board_init,
276MACHINE_END 277MACHINE_END
diff --git a/arch/arm/mach-at91/board-rm9200dk.c b/arch/arm/mach-at91/board-rm9200dk.c
index 4c1047c8200d..4f04f284dcb1 100644
--- a/arch/arm/mach-at91/board-rm9200dk.c
+++ b/arch/arm/mach-at91/board-rm9200dk.c
@@ -45,7 +45,7 @@
45#include "generic.h" 45#include "generic.h"
46 46
47 47
48static void __init dk_map_io(void) 48static void __init dk_init_early(void)
49{ 49{
50 /* Initialize processor: 18.432 MHz crystal */ 50 /* Initialize processor: 18.432 MHz crystal */
51 at91rm9200_initialize(18432000, AT91RM9200_BGA); 51 at91rm9200_initialize(18432000, AT91RM9200_BGA);
@@ -229,7 +229,8 @@ MACHINE_START(AT91RM9200DK, "Atmel AT91RM9200-DK")
229 /* Maintainer: SAN People/Atmel */ 229 /* Maintainer: SAN People/Atmel */
230 .boot_params = AT91_SDRAM_BASE + 0x100, 230 .boot_params = AT91_SDRAM_BASE + 0x100,
231 .timer = &at91rm9200_timer, 231 .timer = &at91rm9200_timer,
232 .map_io = dk_map_io, 232 .map_io = at91rm9200_map_io,
233 .init_early = dk_init_early,
233 .init_irq = dk_init_irq, 234 .init_irq = dk_init_irq,
234 .init_machine = dk_board_init, 235 .init_machine = dk_board_init,
235MACHINE_END 236MACHINE_END
diff --git a/arch/arm/mach-at91/board-rm9200ek.c b/arch/arm/mach-at91/board-rm9200ek.c
index 9df1be8818c0..cf161c54ee07 100644
--- a/arch/arm/mach-at91/board-rm9200ek.c
+++ b/arch/arm/mach-at91/board-rm9200ek.c
@@ -45,7 +45,7 @@
45#include "generic.h" 45#include "generic.h"
46 46
47 47
48static void __init ek_map_io(void) 48static void __init ek_init_early(void)
49{ 49{
50 /* Initialize processor: 18.432 MHz crystal */ 50 /* Initialize processor: 18.432 MHz crystal */
51 at91rm9200_initialize(18432000, AT91RM9200_BGA); 51 at91rm9200_initialize(18432000, AT91RM9200_BGA);
@@ -195,7 +195,8 @@ MACHINE_START(AT91RM9200EK, "Atmel AT91RM9200-EK")
195 /* Maintainer: SAN People/Atmel */ 195 /* Maintainer: SAN People/Atmel */
196 .boot_params = AT91_SDRAM_BASE + 0x100, 196 .boot_params = AT91_SDRAM_BASE + 0x100,
197 .timer = &at91rm9200_timer, 197 .timer = &at91rm9200_timer,
198 .map_io = ek_map_io, 198 .map_io = at91rm9200_map_io,
199 .init_early = ek_init_early,
199 .init_irq = ek_init_irq, 200 .init_irq = ek_init_irq,
200 .init_machine = ek_board_init, 201 .init_machine = ek_board_init,
201MACHINE_END 202MACHINE_END
diff --git a/arch/arm/mach-at91/board-sam9-l9260.c b/arch/arm/mach-at91/board-sam9-l9260.c
index 25a26beaa728..b925ba99abc2 100644
--- a/arch/arm/mach-at91/board-sam9-l9260.c
+++ b/arch/arm/mach-at91/board-sam9-l9260.c
@@ -44,7 +44,7 @@
44#include "generic.h" 44#include "generic.h"
45 45
46 46
47static void __init ek_map_io(void) 47static void __init ek_init_early(void)
48{ 48{
49 /* Initialize processor: 18.432 MHz crystal */ 49 /* Initialize processor: 18.432 MHz crystal */
50 at91sam9260_initialize(18432000); 50 at91sam9260_initialize(18432000);
@@ -214,7 +214,8 @@ MACHINE_START(SAM9_L9260, "Olimex SAM9-L9260")
214 /* Maintainer: Olimex */ 214 /* Maintainer: Olimex */
215 .boot_params = AT91_SDRAM_BASE + 0x100, 215 .boot_params = AT91_SDRAM_BASE + 0x100,
216 .timer = &at91sam926x_timer, 216 .timer = &at91sam926x_timer,
217 .map_io = ek_map_io, 217 .map_io = at91sam9260_map_io,
218 .init_early = ek_init_early,
218 .init_irq = ek_init_irq, 219 .init_irq = ek_init_irq,
219 .init_machine = ek_board_init, 220 .init_machine = ek_board_init,
220MACHINE_END 221MACHINE_END
diff --git a/arch/arm/mach-at91/board-sam9260ek.c b/arch/arm/mach-at91/board-sam9260ek.c
index fdfa144cbe76..b1a358492d88 100644
--- a/arch/arm/mach-at91/board-sam9260ek.c
+++ b/arch/arm/mach-at91/board-sam9260ek.c
@@ -50,7 +50,7 @@
50#include "generic.h" 50#include "generic.h"
51 51
52 52
53static void __init ek_map_io(void) 53static void __init ek_init_early(void)
54{ 54{
55 /* Initialize processor: 18.432 MHz crystal */ 55 /* Initialize processor: 18.432 MHz crystal */
56 at91sam9260_initialize(18432000); 56 at91sam9260_initialize(18432000);
@@ -355,7 +355,8 @@ MACHINE_START(AT91SAM9260EK, "Atmel AT91SAM9260-EK")
355 /* Maintainer: Atmel */ 355 /* Maintainer: Atmel */
356 .boot_params = AT91_SDRAM_BASE + 0x100, 356 .boot_params = AT91_SDRAM_BASE + 0x100,
357 .timer = &at91sam926x_timer, 357 .timer = &at91sam926x_timer,
358 .map_io = ek_map_io, 358 .map_io = at91sam9260_map_io,
359 .init_early = ek_init_early,
359 .init_irq = ek_init_irq, 360 .init_irq = ek_init_irq,
360 .init_machine = ek_board_init, 361 .init_machine = ek_board_init,
361MACHINE_END 362MACHINE_END
diff --git a/arch/arm/mach-at91/board-sam9261ek.c b/arch/arm/mach-at91/board-sam9261ek.c
index c2773b5f2eee..57d243445b53 100644
--- a/arch/arm/mach-at91/board-sam9261ek.c
+++ b/arch/arm/mach-at91/board-sam9261ek.c
@@ -54,7 +54,7 @@
54#include "generic.h" 54#include "generic.h"
55 55
56 56
57static void __init ek_map_io(void) 57static void __init ek_init_early(void)
58{ 58{
59 /* Initialize processor: 18.432 MHz crystal */ 59 /* Initialize processor: 18.432 MHz crystal */
60 at91sam9261_initialize(18432000); 60 at91sam9261_initialize(18432000);
@@ -622,7 +622,8 @@ MACHINE_START(AT91SAM9G10EK, "Atmel AT91SAM9G10-EK")
622 /* Maintainer: Atmel */ 622 /* Maintainer: Atmel */
623 .boot_params = AT91_SDRAM_BASE + 0x100, 623 .boot_params = AT91_SDRAM_BASE + 0x100,
624 .timer = &at91sam926x_timer, 624 .timer = &at91sam926x_timer,
625 .map_io = ek_map_io, 625 .map_io = at91sam9261_map_io,
626 .init_early = ek_init_early,
626 .init_irq = ek_init_irq, 627 .init_irq = ek_init_irq,
627 .init_machine = ek_board_init, 628 .init_machine = ek_board_init,
628MACHINE_END 629MACHINE_END
diff --git a/arch/arm/mach-at91/board-sam9263ek.c b/arch/arm/mach-at91/board-sam9263ek.c
index 1dabc0ae56c9..232634dc17cf 100644
--- a/arch/arm/mach-at91/board-sam9263ek.c
+++ b/arch/arm/mach-at91/board-sam9263ek.c
@@ -53,7 +53,7 @@
53#include "generic.h" 53#include "generic.h"
54 54
55 55
56static void __init ek_map_io(void) 56static void __init ek_init_early(void)
57{ 57{
58 /* Initialize processor: 16.367 MHz crystal */ 58 /* Initialize processor: 16.367 MHz crystal */
59 at91sam9263_initialize(16367660); 59 at91sam9263_initialize(16367660);
@@ -453,7 +453,8 @@ MACHINE_START(AT91SAM9263EK, "Atmel AT91SAM9263-EK")
453 /* Maintainer: Atmel */ 453 /* Maintainer: Atmel */
454 .boot_params = AT91_SDRAM_BASE + 0x100, 454 .boot_params = AT91_SDRAM_BASE + 0x100,
455 .timer = &at91sam926x_timer, 455 .timer = &at91sam926x_timer,
456 .map_io = ek_map_io, 456 .map_io = at91sam9263_map_io,
457 .init_early = ek_init_early,
457 .init_irq = ek_init_irq, 458 .init_irq = ek_init_irq,
458 .init_machine = ek_board_init, 459 .init_machine = ek_board_init,
459MACHINE_END 460MACHINE_END
diff --git a/arch/arm/mach-at91/board-sam9g20ek.c b/arch/arm/mach-at91/board-sam9g20ek.c
index d13acd5c92f2..0a24f3f687c8 100644
--- a/arch/arm/mach-at91/board-sam9g20ek.c
+++ b/arch/arm/mach-at91/board-sam9g20ek.c
@@ -61,7 +61,7 @@ static int inline ek_have_2mmc(void)
61} 61}
62 62
63 63
64static void __init ek_map_io(void) 64static void __init ek_init_early(void)
65{ 65{
66 /* Initialize processor: 18.432 MHz crystal */ 66 /* Initialize processor: 18.432 MHz crystal */
67 at91sam9260_initialize(18432000); 67 at91sam9260_initialize(18432000);
@@ -405,7 +405,8 @@ MACHINE_START(AT91SAM9G20EK, "Atmel AT91SAM9G20-EK")
405 /* Maintainer: Atmel */ 405 /* Maintainer: Atmel */
406 .boot_params = AT91_SDRAM_BASE + 0x100, 406 .boot_params = AT91_SDRAM_BASE + 0x100,
407 .timer = &at91sam926x_timer, 407 .timer = &at91sam926x_timer,
408 .map_io = ek_map_io, 408 .map_io = at91sam9260_map_io,
409 .init_early = ek_init_early,
409 .init_irq = ek_init_irq, 410 .init_irq = ek_init_irq,
410 .init_machine = ek_board_init, 411 .init_machine = ek_board_init,
411MACHINE_END 412MACHINE_END
@@ -414,7 +415,8 @@ MACHINE_START(AT91SAM9G20EK_2MMC, "Atmel AT91SAM9G20-EK 2 MMC Slot Mod")
414 /* Maintainer: Atmel */ 415 /* Maintainer: Atmel */
415 .boot_params = AT91_SDRAM_BASE + 0x100, 416 .boot_params = AT91_SDRAM_BASE + 0x100,
416 .timer = &at91sam926x_timer, 417 .timer = &at91sam926x_timer,
417 .map_io = ek_map_io, 418 .map_io = at91sam9260_map_io,
419 .init_early = ek_init_early,
418 .init_irq = ek_init_irq, 420 .init_irq = ek_init_irq,
419 .init_machine = ek_board_init, 421 .init_machine = ek_board_init,
420MACHINE_END 422MACHINE_END
diff --git a/arch/arm/mach-at91/board-sam9m10g45ek.c b/arch/arm/mach-at91/board-sam9m10g45ek.c
index 49d6849f0ccb..645c97063c7a 100644
--- a/arch/arm/mach-at91/board-sam9m10g45ek.c
+++ b/arch/arm/mach-at91/board-sam9m10g45ek.c
@@ -47,7 +47,7 @@
47#include "generic.h" 47#include "generic.h"
48 48
49 49
50static void __init ek_map_io(void) 50static void __init ek_init_early(void)
51{ 51{
52 /* Initialize processor: 12.000 MHz crystal */ 52 /* Initialize processor: 12.000 MHz crystal */
53 at91sam9g45_initialize(12000000); 53 at91sam9g45_initialize(12000000);
@@ -423,7 +423,8 @@ MACHINE_START(AT91SAM9M10G45EK, "Atmel AT91SAM9M10G45-EK")
423 /* Maintainer: Atmel */ 423 /* Maintainer: Atmel */
424 .boot_params = AT91_SDRAM_BASE + 0x100, 424 .boot_params = AT91_SDRAM_BASE + 0x100,
425 .timer = &at91sam926x_timer, 425 .timer = &at91sam926x_timer,
426 .map_io = ek_map_io, 426 .map_io = at91sam9g45_map_io,
427 .init_early = ek_init_early,
427 .init_irq = ek_init_irq, 428 .init_irq = ek_init_irq,
428 .init_machine = ek_board_init, 429 .init_machine = ek_board_init,
429MACHINE_END 430MACHINE_END
diff --git a/arch/arm/mach-at91/board-sam9rlek.c b/arch/arm/mach-at91/board-sam9rlek.c
index 3bf3408e94c1..102f86210607 100644
--- a/arch/arm/mach-at91/board-sam9rlek.c
+++ b/arch/arm/mach-at91/board-sam9rlek.c
@@ -38,7 +38,7 @@
38#include "generic.h" 38#include "generic.h"
39 39
40 40
41static void __init ek_map_io(void) 41static void __init ek_init_early(void)
42{ 42{
43 /* Initialize processor: 12.000 MHz crystal */ 43 /* Initialize processor: 12.000 MHz crystal */
44 at91sam9rl_initialize(12000000); 44 at91sam9rl_initialize(12000000);
@@ -331,7 +331,8 @@ MACHINE_START(AT91SAM9RLEK, "Atmel AT91SAM9RL-EK")
331 /* Maintainer: Atmel */ 331 /* Maintainer: Atmel */
332 .boot_params = AT91_SDRAM_BASE + 0x100, 332 .boot_params = AT91_SDRAM_BASE + 0x100,
333 .timer = &at91sam926x_timer, 333 .timer = &at91sam926x_timer,
334 .map_io = ek_map_io, 334 .map_io = at91sam9rl_map_io,
335 .init_early = ek_init_early,
335 .init_irq = ek_init_irq, 336 .init_irq = ek_init_irq,
336 .init_machine = ek_board_init, 337 .init_machine = ek_board_init,
337MACHINE_END 338MACHINE_END
diff --git a/arch/arm/mach-at91/board-snapper9260.c b/arch/arm/mach-at91/board-snapper9260.c
index 17f7d9b32142..ad956286aeab 100644
--- a/arch/arm/mach-at91/board-snapper9260.c
+++ b/arch/arm/mach-at91/board-snapper9260.c
@@ -40,7 +40,7 @@
40 40
41#define SNAPPER9260_IO_EXP_GPIO(x) (NR_BUILTIN_GPIO + (x)) 41#define SNAPPER9260_IO_EXP_GPIO(x) (NR_BUILTIN_GPIO + (x))
42 42
43static void __init snapper9260_map_io(void) 43static void __init snapper9260_init_early(void)
44{ 44{
45 at91sam9260_initialize(18432000); 45 at91sam9260_initialize(18432000);
46 46
@@ -180,7 +180,8 @@ static void __init snapper9260_board_init(void)
180MACHINE_START(SNAPPER_9260, "Bluewater Systems Snapper 9260/9G20 module") 180MACHINE_START(SNAPPER_9260, "Bluewater Systems Snapper 9260/9G20 module")
181 .boot_params = AT91_SDRAM_BASE + 0x100, 181 .boot_params = AT91_SDRAM_BASE + 0x100,
182 .timer = &at91sam926x_timer, 182 .timer = &at91sam926x_timer,
183 .map_io = snapper9260_map_io, 183 .map_io = at91sam9260_map_io,
184 .init_early = snapper9260_init_early,
184 .init_irq = snapper9260_init_irq, 185 .init_irq = snapper9260_init_irq,
185 .init_machine = snapper9260_board_init, 186 .init_machine = snapper9260_board_init,
186MACHINE_END 187MACHINE_END
diff --git a/arch/arm/mach-at91/board-stamp9g20.c b/arch/arm/mach-at91/board-stamp9g20.c
index f8902b118960..38515e4d1fb5 100644
--- a/arch/arm/mach-at91/board-stamp9g20.c
+++ b/arch/arm/mach-at91/board-stamp9g20.c
@@ -32,7 +32,7 @@
32#include "generic.h" 32#include "generic.h"
33 33
34 34
35void __init stamp9g20_map_io(void) 35void __init stamp9g20_init_early(void)
36{ 36{
37 /* Initialize processor: 18.432 MHz crystal */ 37 /* Initialize processor: 18.432 MHz crystal */
38 at91sam9260_initialize(18432000); 38 at91sam9260_initialize(18432000);
@@ -44,9 +44,9 @@ void __init stamp9g20_map_io(void)
44 at91_set_serial_console(0); 44 at91_set_serial_console(0);
45} 45}
46 46
47static void __init stamp9g20evb_map_io(void) 47static void __init stamp9g20evb_init_early(void)
48{ 48{
49 stamp9g20_map_io(); 49 stamp9g20_init_early();
50 50
51 /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ 51 /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */
52 at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS 52 at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS
@@ -54,9 +54,9 @@ static void __init stamp9g20evb_map_io(void)
54 | ATMEL_UART_DCD | ATMEL_UART_RI); 54 | ATMEL_UART_DCD | ATMEL_UART_RI);
55} 55}
56 56
57static void __init portuxg20_map_io(void) 57static void __init portuxg20_init_early(void)
58{ 58{
59 stamp9g20_map_io(); 59 stamp9g20_init_early();
60 60
61 /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ 61 /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */
62 at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS 62 at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS
@@ -300,7 +300,8 @@ MACHINE_START(PORTUXG20, "taskit PortuxG20")
300 /* Maintainer: taskit GmbH */ 300 /* Maintainer: taskit GmbH */
301 .boot_params = AT91_SDRAM_BASE + 0x100, 301 .boot_params = AT91_SDRAM_BASE + 0x100,
302 .timer = &at91sam926x_timer, 302 .timer = &at91sam926x_timer,
303 .map_io = portuxg20_map_io, 303 .map_io = at91sam9260_map_io,
304 .init_early = portuxg20_init_early,
304 .init_irq = init_irq, 305 .init_irq = init_irq,
305 .init_machine = portuxg20_board_init, 306 .init_machine = portuxg20_board_init,
306MACHINE_END 307MACHINE_END
@@ -309,7 +310,8 @@ MACHINE_START(STAMP9G20, "taskit Stamp9G20")
309 /* Maintainer: taskit GmbH */ 310 /* Maintainer: taskit GmbH */
310 .boot_params = AT91_SDRAM_BASE + 0x100, 311 .boot_params = AT91_SDRAM_BASE + 0x100,
311 .timer = &at91sam926x_timer, 312 .timer = &at91sam926x_timer,
312 .map_io = stamp9g20evb_map_io, 313 .map_io = at91sam9260_map_io,
314 .init_early = stamp9g20evb_init_early,
313 .init_irq = init_irq, 315 .init_irq = init_irq,
314 .init_machine = stamp9g20evb_board_init, 316 .init_machine = stamp9g20evb_board_init,
315MACHINE_END 317MACHINE_END
diff --git a/arch/arm/mach-at91/board-usb-a9260.c b/arch/arm/mach-at91/board-usb-a9260.c
index 07784baeae84..a0c17d5a6477 100644
--- a/arch/arm/mach-at91/board-usb-a9260.c
+++ b/arch/arm/mach-at91/board-usb-a9260.c
@@ -48,7 +48,7 @@
48#include "generic.h" 48#include "generic.h"
49 49
50 50
51static void __init ek_map_io(void) 51static void __init ek_init_early(void)
52{ 52{
53 /* Initialize processor: 12.000 MHz crystal */ 53 /* Initialize processor: 12.000 MHz crystal */
54 at91sam9260_initialize(12000000); 54 at91sam9260_initialize(12000000);
@@ -230,7 +230,8 @@ MACHINE_START(USB_A9260, "CALAO USB_A9260")
230 /* Maintainer: calao-systems */ 230 /* Maintainer: calao-systems */
231 .boot_params = AT91_SDRAM_BASE + 0x100, 231 .boot_params = AT91_SDRAM_BASE + 0x100,
232 .timer = &at91sam926x_timer, 232 .timer = &at91sam926x_timer,
233 .map_io = ek_map_io, 233 .map_io = at91sam9260_map_io,
234 .init_early = ek_init_early,
234 .init_irq = ek_init_irq, 235 .init_irq = ek_init_irq,
235 .init_machine = ek_board_init, 236 .init_machine = ek_board_init,
236MACHINE_END 237MACHINE_END
diff --git a/arch/arm/mach-at91/board-usb-a9263.c b/arch/arm/mach-at91/board-usb-a9263.c
index b614508931fd..5356af7e87e2 100644
--- a/arch/arm/mach-at91/board-usb-a9263.c
+++ b/arch/arm/mach-at91/board-usb-a9263.c
@@ -47,7 +47,7 @@
47#include "generic.h" 47#include "generic.h"
48 48
49 49
50static void __init ek_map_io(void) 50static void __init ek_init_early(void)
51{ 51{
52 /* Initialize processor: 12.00 MHz crystal */ 52 /* Initialize processor: 12.00 MHz crystal */
53 at91sam9263_initialize(12000000); 53 at91sam9263_initialize(12000000);
@@ -246,7 +246,8 @@ MACHINE_START(USB_A9263, "CALAO USB_A9263")
246 /* Maintainer: calao-systems */ 246 /* Maintainer: calao-systems */
247 .boot_params = AT91_SDRAM_BASE + 0x100, 247 .boot_params = AT91_SDRAM_BASE + 0x100,
248 .timer = &at91sam926x_timer, 248 .timer = &at91sam926x_timer,
249 .map_io = ek_map_io, 249 .map_io = at91sam9263_map_io,
250 .init_early = ek_init_early,
250 .init_irq = ek_init_irq, 251 .init_irq = ek_init_irq,
251 .init_machine = ek_board_init, 252 .init_machine = ek_board_init,
252MACHINE_END 253MACHINE_END
diff --git a/arch/arm/mach-at91/board-yl-9200.c b/arch/arm/mach-at91/board-yl-9200.c
index e0f0080eb639..8f9ea5aa6719 100644
--- a/arch/arm/mach-at91/board-yl-9200.c
+++ b/arch/arm/mach-at91/board-yl-9200.c
@@ -49,7 +49,7 @@
49#include "generic.h" 49#include "generic.h"
50 50
51 51
52static void __init yl9200_map_io(void) 52static void __init yl9200_init_early(void)
53{ 53{
54 /* Initialize processor: 18.432 MHz crystal */ 54 /* Initialize processor: 18.432 MHz crystal */
55 at91rm9200_initialize(18432000, AT91RM9200_PQFP); 55 at91rm9200_initialize(18432000, AT91RM9200_PQFP);
@@ -596,7 +596,8 @@ MACHINE_START(YL9200, "uCdragon YL-9200")
596 /* Maintainer: S.Birtles */ 596 /* Maintainer: S.Birtles */
597 .boot_params = AT91_SDRAM_BASE + 0x100, 597 .boot_params = AT91_SDRAM_BASE + 0x100,
598 .timer = &at91rm9200_timer, 598 .timer = &at91rm9200_timer,
599 .map_io = yl9200_map_io, 599 .map_io = at91rm9200_map_io,
600 .init_early = yl9200_init_early,
600 .init_irq = yl9200_init_irq, 601 .init_irq = yl9200_init_irq,
601 .init_machine = yl9200_board_init, 602 .init_machine = yl9200_board_init,
602MACHINE_END 603MACHINE_END
diff --git a/arch/arm/mach-at91/generic.h b/arch/arm/mach-at91/generic.h
index 0c66deb2db39..50d46fa9ddb6 100644
--- a/arch/arm/mach-at91/generic.h
+++ b/arch/arm/mach-at91/generic.h
@@ -8,6 +8,17 @@
8 * published by the Free Software Foundation. 8 * published by the Free Software Foundation.
9 */ 9 */
10 10
11 /* Map io */
12extern void __init at91rm9200_map_io(void);
13extern void __init at91sam9260_map_io(void);
14extern void __init at91sam9261_map_io(void);
15extern void __init at91sam9263_map_io(void);
16extern void __init at91sam9rl_map_io(void);
17extern void __init at91sam9g45_map_io(void);
18extern void __init at91x40_map_io(void);
19extern void __init at91cap9_map_io(void);
20extern void __init at572d940hf_map_io(void);
21
11 /* Processors */ 22 /* Processors */
12extern void __init at91rm9200_initialize(unsigned long main_clock, unsigned short banks); 23extern void __init at91rm9200_initialize(unsigned long main_clock, unsigned short banks);
13extern void __init at91sam9260_initialize(unsigned long main_clock); 24extern void __init at91sam9260_initialize(unsigned long main_clock);
diff --git a/arch/arm/mach-at91/include/mach/stamp9g20.h b/arch/arm/mach-at91/include/mach/stamp9g20.h
index 6120f9c46d59..f62c0abca4b4 100644
--- a/arch/arm/mach-at91/include/mach/stamp9g20.h
+++ b/arch/arm/mach-at91/include/mach/stamp9g20.h
@@ -1,7 +1,7 @@
1#ifndef __MACH_STAMP9G20_H 1#ifndef __MACH_STAMP9G20_H
2#define __MACH_STAMP9G20_H 2#define __MACH_STAMP9G20_H
3 3
4void stamp9g20_map_io(void); 4void stamp9g20_init_early(void);
5void stamp9g20_board_init(void); 5void stamp9g20_board_init(void);
6 6
7#endif 7#endif