diff options
Diffstat (limited to 'arch/arm')
54 files changed, 232 insertions, 173 deletions
diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile index 96966231920c..bf57e8b1c9d0 100644 --- a/arch/arm/mach-at91/Makefile +++ b/arch/arm/mach-at91/Makefile | |||
@@ -2,7 +2,7 @@ | |||
2 | # Makefile for the linux kernel. | 2 | # Makefile for the linux kernel. |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y := irq.o gpio.o | 5 | obj-y := irq.o gpio.o setup.o |
6 | obj-m := | 6 | obj-m := |
7 | obj-n := | 7 | obj-n := |
8 | obj- := | 8 | obj- := |
diff --git a/arch/arm/mach-at91/at91cap9.c b/arch/arm/mach-at91/at91cap9.c index f1013d08bb57..7ec9eeb64286 100644 --- a/arch/arm/mach-at91/at91cap9.c +++ b/arch/arm/mach-at91/at91cap9.c | |||
@@ -25,16 +25,12 @@ | |||
25 | #include <mach/at91_rstc.h> | 25 | #include <mach/at91_rstc.h> |
26 | #include <mach/at91_shdwc.h> | 26 | #include <mach/at91_shdwc.h> |
27 | 27 | ||
28 | #include "soc.h" | ||
28 | #include "generic.h" | 29 | #include "generic.h" |
29 | #include "clock.h" | 30 | #include "clock.h" |
30 | 31 | ||
31 | static struct map_desc at91cap9_io_desc[] __initdata = { | 32 | static struct map_desc at91cap9_sram_desc[] __initdata = { |
32 | { | 33 | { |
33 | .virtual = AT91_VA_BASE_SYS, | ||
34 | .pfn = __phys_to_pfn(AT91_BASE_SYS), | ||
35 | .length = SZ_16K, | ||
36 | .type = MT_DEVICE, | ||
37 | }, { | ||
38 | .virtual = AT91_IO_VIRT_BASE - AT91CAP9_SRAM_SIZE, | 34 | .virtual = AT91_IO_VIRT_BASE - AT91CAP9_SRAM_SIZE, |
39 | .pfn = __phys_to_pfn(AT91CAP9_SRAM_BASE), | 35 | .pfn = __phys_to_pfn(AT91CAP9_SRAM_BASE), |
40 | .length = AT91CAP9_SRAM_SIZE, | 36 | .length = AT91CAP9_SRAM_SIZE, |
@@ -339,14 +335,12 @@ static void at91cap9_poweroff(void) | |||
339 | * AT91CAP9 processor initialization | 335 | * AT91CAP9 processor initialization |
340 | * -------------------------------------------------------------------- */ | 336 | * -------------------------------------------------------------------- */ |
341 | 337 | ||
342 | void __init at91cap9_map_io(void) | 338 | static void __init at91cap9_map_io(void) |
343 | { | 339 | { |
344 | /* Map peripherals */ | 340 | iotable_init(at91cap9_sram_desc, ARRAY_SIZE(at91cap9_sram_desc)); |
345 | iotable_init(at91cap9_io_desc, ARRAY_SIZE(at91cap9_io_desc)); | ||
346 | } | 341 | } |
347 | 342 | ||
348 | void __init at91cap9_initialize(unsigned long main_clock) | 343 | static void __init at91cap9_initialize(unsigned long main_clock) |
349 | { | ||
350 | at91_arch_reset = at91cap9_reset; | 344 | at91_arch_reset = at91cap9_reset; |
351 | pm_power_off = at91cap9_poweroff; | 345 | pm_power_off = at91cap9_poweroff; |
352 | at91_extern_irq = (1 << AT91CAP9_ID_IRQ0) | (1 << AT91CAP9_ID_IRQ1); | 346 | at91_extern_irq = (1 << AT91CAP9_ID_IRQ0) | (1 << AT91CAP9_ID_IRQ1); |
@@ -420,3 +414,8 @@ void __init at91cap9_init_interrupts(unsigned int priority[NR_AIC_IRQS]) | |||
420 | /* Enable GPIO interrupts */ | 414 | /* Enable GPIO interrupts */ |
421 | at91_gpio_irq_setup(); | 415 | at91_gpio_irq_setup(); |
422 | } | 416 | } |
417 | |||
418 | struct at91_soc __initdata at91cap9_soc = { | ||
419 | .map_io = at91cap9_map_io, | ||
420 | .init = at91cap9_initialize, | ||
421 | }; | ||
diff --git a/arch/arm/mach-at91/at91rm9200.c b/arch/arm/mach-at91/at91rm9200.c index 83a1a3fee554..489f4d90f274 100644 --- a/arch/arm/mach-at91/at91rm9200.c +++ b/arch/arm/mach-at91/at91rm9200.c | |||
@@ -20,16 +20,12 @@ | |||
20 | #include <mach/at91_st.h> | 20 | #include <mach/at91_st.h> |
21 | #include <mach/cpu.h> | 21 | #include <mach/cpu.h> |
22 | 22 | ||
23 | #include "soc.h" | ||
23 | #include "generic.h" | 24 | #include "generic.h" |
24 | #include "clock.h" | 25 | #include "clock.h" |
25 | 26 | ||
26 | static struct map_desc at91rm9200_io_desc[] __initdata = { | 27 | static struct map_desc at91rm9200_io_desc[] __initdata = { |
27 | { | 28 | { |
28 | .virtual = AT91_VA_BASE_SYS, | ||
29 | .pfn = __phys_to_pfn(AT91_BASE_SYS), | ||
30 | .length = SZ_4K, | ||
31 | .type = MT_DEVICE, | ||
32 | }, { | ||
33 | .virtual = AT91_VA_BASE_EMAC, | 29 | .virtual = AT91_VA_BASE_EMAC, |
34 | .pfn = __phys_to_pfn(AT91RM9200_BASE_EMAC), | 30 | .pfn = __phys_to_pfn(AT91RM9200_BASE_EMAC), |
35 | .length = SZ_16K, | 31 | .length = SZ_16K, |
@@ -315,13 +311,13 @@ void __init at91rm9200_set_type(int type) | |||
315 | /* -------------------------------------------------------------------- | 311 | /* -------------------------------------------------------------------- |
316 | * AT91RM9200 processor initialization | 312 | * AT91RM9200 processor initialization |
317 | * -------------------------------------------------------------------- */ | 313 | * -------------------------------------------------------------------- */ |
318 | void __init at91rm9200_map_io(void) | 314 | static void __init at91rm9200_map_io(void) |
319 | { | 315 | { |
320 | /* Map peripherals */ | 316 | /* Map peripherals */ |
321 | iotable_init(at91rm9200_io_desc, ARRAY_SIZE(at91rm9200_io_desc)); | 317 | iotable_init(at91rm9200_io_desc, ARRAY_SIZE(at91rm9200_io_desc)); |
322 | } | 318 | } |
323 | 319 | ||
324 | void __init at91rm9200_initialize(unsigned long main_clock) | 320 | static void __init at91rm9200_initialize(unsigned long main_clock) |
325 | { | 321 | { |
326 | at91_arch_reset = at91rm9200_reset; | 322 | at91_arch_reset = at91rm9200_reset; |
327 | at91_extern_irq = (1 << AT91RM9200_ID_IRQ0) | (1 << AT91RM9200_ID_IRQ1) | 323 | at91_extern_irq = (1 << AT91RM9200_ID_IRQ0) | (1 << AT91RM9200_ID_IRQ1) |
@@ -394,3 +390,8 @@ void __init at91rm9200_init_interrupts(unsigned int priority[NR_AIC_IRQS]) | |||
394 | /* Enable GPIO interrupts */ | 390 | /* Enable GPIO interrupts */ |
395 | at91_gpio_irq_setup(); | 391 | at91_gpio_irq_setup(); |
396 | } | 392 | } |
393 | |||
394 | struct at91_soc __initdata at91rm9200_soc = { | ||
395 | .map_io = at91rm9200_map_io, | ||
396 | .init = at91rm9200_initialize, | ||
397 | }; | ||
diff --git a/arch/arm/mach-at91/at91sam9260.c b/arch/arm/mach-at91/at91sam9260.c index 7d606b04d313..366c5d69393b 100644 --- a/arch/arm/mach-at91/at91sam9260.c +++ b/arch/arm/mach-at91/at91sam9260.c | |||
@@ -22,18 +22,10 @@ | |||
22 | #include <mach/at91_rstc.h> | 22 | #include <mach/at91_rstc.h> |
23 | #include <mach/at91_shdwc.h> | 23 | #include <mach/at91_shdwc.h> |
24 | 24 | ||
25 | #include "soc.h" | ||
25 | #include "generic.h" | 26 | #include "generic.h" |
26 | #include "clock.h" | 27 | #include "clock.h" |
27 | 28 | ||
28 | static struct map_desc at91sam9260_io_desc[] __initdata = { | ||
29 | { | ||
30 | .virtual = AT91_VA_BASE_SYS, | ||
31 | .pfn = __phys_to_pfn(AT91_BASE_SYS), | ||
32 | .length = SZ_16K, | ||
33 | .type = MT_DEVICE, | ||
34 | } | ||
35 | }; | ||
36 | |||
37 | static struct map_desc at91sam9260_sram_desc[] __initdata = { | 29 | static struct map_desc at91sam9260_sram_desc[] __initdata = { |
38 | { | 30 | { |
39 | .virtual = AT91_IO_VIRT_BASE - AT91SAM9260_SRAM0_SIZE, | 31 | .virtual = AT91_IO_VIRT_BASE - AT91SAM9260_SRAM0_SIZE, |
@@ -349,11 +341,8 @@ static void __init at91sam9xe_map_io(void) | |||
349 | iotable_init(at91sam9xe_sram_desc, ARRAY_SIZE(at91sam9xe_sram_desc)); | 341 | iotable_init(at91sam9xe_sram_desc, ARRAY_SIZE(at91sam9xe_sram_desc)); |
350 | } | 342 | } |
351 | 343 | ||
352 | void __init at91sam9260_map_io(void) | 344 | static void __init at91sam9260_map_io(void) |
353 | { | 345 | { |
354 | /* Map peripherals */ | ||
355 | iotable_init(at91sam9260_io_desc, ARRAY_SIZE(at91sam9260_io_desc)); | ||
356 | |||
357 | if (cpu_is_at91sam9xe()) | 346 | if (cpu_is_at91sam9xe()) |
358 | at91sam9xe_map_io(); | 347 | at91sam9xe_map_io(); |
359 | else if (cpu_is_at91sam9g20()) | 348 | else if (cpu_is_at91sam9g20()) |
@@ -362,7 +351,7 @@ void __init at91sam9260_map_io(void) | |||
362 | iotable_init(at91sam9260_sram_desc, ARRAY_SIZE(at91sam9260_sram_desc)); | 351 | iotable_init(at91sam9260_sram_desc, ARRAY_SIZE(at91sam9260_sram_desc)); |
363 | } | 352 | } |
364 | 353 | ||
365 | void __init at91sam9260_initialize(unsigned long main_clock) | 354 | static void __init at91sam9260_initialize(unsigned long main_clock) |
366 | { | 355 | { |
367 | at91_arch_reset = at91sam9_alt_reset; | 356 | at91_arch_reset = at91sam9_alt_reset; |
368 | pm_power_off = at91sam9260_poweroff; | 357 | pm_power_off = at91sam9260_poweroff; |
@@ -432,3 +421,8 @@ void __init at91sam9260_init_interrupts(unsigned int priority[NR_AIC_IRQS]) | |||
432 | /* Enable GPIO interrupts */ | 421 | /* Enable GPIO interrupts */ |
433 | at91_gpio_irq_setup(); | 422 | at91_gpio_irq_setup(); |
434 | } | 423 | } |
424 | |||
425 | struct at91_soc __initdata at91sam9260_soc = { | ||
426 | .map_io = at91sam9260_map_io, | ||
427 | .init = at91sam9260_initialize, | ||
428 | }; | ||
diff --git a/arch/arm/mach-at91/at91sam9261.c b/arch/arm/mach-at91/at91sam9261.c index c1483168c97a..a0081c081c32 100644 --- a/arch/arm/mach-at91/at91sam9261.c +++ b/arch/arm/mach-at91/at91sam9261.c | |||
@@ -22,18 +22,10 @@ | |||
22 | #include <mach/at91_rstc.h> | 22 | #include <mach/at91_rstc.h> |
23 | #include <mach/at91_shdwc.h> | 23 | #include <mach/at91_shdwc.h> |
24 | 24 | ||
25 | #include "soc.h" | ||
25 | #include "generic.h" | 26 | #include "generic.h" |
26 | #include "clock.h" | 27 | #include "clock.h" |
27 | 28 | ||
28 | static struct map_desc at91sam9261_io_desc[] __initdata = { | ||
29 | { | ||
30 | .virtual = AT91_VA_BASE_SYS, | ||
31 | .pfn = __phys_to_pfn(AT91_BASE_SYS), | ||
32 | .length = SZ_16K, | ||
33 | .type = MT_DEVICE, | ||
34 | }, | ||
35 | }; | ||
36 | |||
37 | static struct map_desc at91sam9261_sram_desc[] __initdata = { | 29 | static struct map_desc at91sam9261_sram_desc[] __initdata = { |
38 | { | 30 | { |
39 | .virtual = AT91_IO_VIRT_BASE - AT91SAM9261_SRAM_SIZE, | 31 | .virtual = AT91_IO_VIRT_BASE - AT91SAM9261_SRAM_SIZE, |
@@ -302,18 +294,15 @@ static void at91sam9261_poweroff(void) | |||
302 | * AT91SAM9261 processor initialization | 294 | * AT91SAM9261 processor initialization |
303 | * -------------------------------------------------------------------- */ | 295 | * -------------------------------------------------------------------- */ |
304 | 296 | ||
305 | void __init at91sam9261_map_io(void) | 297 | static void __init at91sam9261_map_io(void) |
306 | { | 298 | { |
307 | /* Map peripherals */ | ||
308 | iotable_init(at91sam9261_io_desc, ARRAY_SIZE(at91sam9261_io_desc)); | ||
309 | |||
310 | if (cpu_is_at91sam9g10()) | 299 | if (cpu_is_at91sam9g10()) |
311 | iotable_init(at91sam9g10_sram_desc, ARRAY_SIZE(at91sam9g10_sram_desc)); | 300 | iotable_init(at91sam9g10_sram_desc, ARRAY_SIZE(at91sam9g10_sram_desc)); |
312 | else | 301 | else |
313 | iotable_init(at91sam9261_sram_desc, ARRAY_SIZE(at91sam9261_sram_desc)); | 302 | iotable_init(at91sam9261_sram_desc, ARRAY_SIZE(at91sam9261_sram_desc)); |
314 | } | 303 | } |
315 | 304 | ||
316 | void __init at91sam9261_initialize(unsigned long main_clock) | 305 | static void __init at91sam9261_initialize(unsigned long main_clock) |
317 | { | 306 | { |
318 | at91_arch_reset = at91sam9_alt_reset; | 307 | at91_arch_reset = at91sam9_alt_reset; |
319 | pm_power_off = at91sam9261_poweroff; | 308 | pm_power_off = at91sam9261_poweroff; |
@@ -383,3 +372,8 @@ void __init at91sam9261_init_interrupts(unsigned int priority[NR_AIC_IRQS]) | |||
383 | /* Enable GPIO interrupts */ | 372 | /* Enable GPIO interrupts */ |
384 | at91_gpio_irq_setup(); | 373 | at91_gpio_irq_setup(); |
385 | } | 374 | } |
375 | |||
376 | struct at91_soc __initdata at91sam9261_soc = { | ||
377 | .map_io = at91sam9261_map_io, | ||
378 | .init = at91sam9261_initialize, | ||
379 | }; | ||
diff --git a/arch/arm/mach-at91/at91sam9263.c b/arch/arm/mach-at91/at91sam9263.c index dc28477d14ff..49f83dffd2aa 100644 --- a/arch/arm/mach-at91/at91sam9263.c +++ b/arch/arm/mach-at91/at91sam9263.c | |||
@@ -21,16 +21,12 @@ | |||
21 | #include <mach/at91_rstc.h> | 21 | #include <mach/at91_rstc.h> |
22 | #include <mach/at91_shdwc.h> | 22 | #include <mach/at91_shdwc.h> |
23 | 23 | ||
24 | #include "soc.h" | ||
24 | #include "generic.h" | 25 | #include "generic.h" |
25 | #include "clock.h" | 26 | #include "clock.h" |
26 | 27 | ||
27 | static struct map_desc at91sam9263_io_desc[] __initdata = { | 28 | static struct map_desc at91sam9263_sram_desc[] __initdata = { |
28 | { | 29 | { |
29 | .virtual = AT91_VA_BASE_SYS, | ||
30 | .pfn = __phys_to_pfn(AT91_BASE_SYS), | ||
31 | .length = SZ_16K, | ||
32 | .type = MT_DEVICE, | ||
33 | }, { | ||
34 | .virtual = AT91_IO_VIRT_BASE - AT91SAM9263_SRAM0_SIZE, | 30 | .virtual = AT91_IO_VIRT_BASE - AT91SAM9263_SRAM0_SIZE, |
35 | .pfn = __phys_to_pfn(AT91SAM9263_SRAM0_BASE), | 31 | .pfn = __phys_to_pfn(AT91SAM9263_SRAM0_BASE), |
36 | .length = AT91SAM9263_SRAM0_SIZE, | 32 | .length = AT91SAM9263_SRAM0_SIZE, |
@@ -313,13 +309,12 @@ static void at91sam9263_poweroff(void) | |||
313 | * AT91SAM9263 processor initialization | 309 | * AT91SAM9263 processor initialization |
314 | * -------------------------------------------------------------------- */ | 310 | * -------------------------------------------------------------------- */ |
315 | 311 | ||
316 | void __init at91sam9263_map_io(void) | 312 | static void __init at91sam9263_map_io(void) |
317 | { | 313 | { |
318 | /* Map peripherals */ | 314 | iotable_init(at91sam9263_sram_desc, ARRAY_SIZE(at91sam9263_sram_desc)); |
319 | iotable_init(at91sam9263_io_desc, ARRAY_SIZE(at91sam9263_io_desc)); | ||
320 | } | 315 | } |
321 | 316 | ||
322 | void __init at91sam9263_initialize(unsigned long main_clock) | 317 | static void __init at91sam9263_initialize(unsigned long main_clock) |
323 | { | 318 | { |
324 | at91_arch_reset = at91sam9_alt_reset; | 319 | at91_arch_reset = at91sam9_alt_reset; |
325 | pm_power_off = at91sam9263_poweroff; | 320 | pm_power_off = at91sam9263_poweroff; |
@@ -388,3 +383,8 @@ void __init at91sam9263_init_interrupts(unsigned int priority[NR_AIC_IRQS]) | |||
388 | /* Enable GPIO interrupts */ | 383 | /* Enable GPIO interrupts */ |
389 | at91_gpio_irq_setup(); | 384 | at91_gpio_irq_setup(); |
390 | } | 385 | } |
386 | |||
387 | struct at91_soc __initdata at91sam9263_soc = { | ||
388 | .map_io = at91sam9263_map_io, | ||
389 | .init = at91sam9263_initialize, | ||
390 | }; | ||
diff --git a/arch/arm/mach-at91/at91sam9g45.c b/arch/arm/mach-at91/at91sam9g45.c index 11e214121b23..877c320fce2b 100644 --- a/arch/arm/mach-at91/at91sam9g45.c +++ b/arch/arm/mach-at91/at91sam9g45.c | |||
@@ -22,16 +22,12 @@ | |||
22 | #include <mach/at91_shdwc.h> | 22 | #include <mach/at91_shdwc.h> |
23 | #include <mach/cpu.h> | 23 | #include <mach/cpu.h> |
24 | 24 | ||
25 | #include "soc.h" | ||
25 | #include "generic.h" | 26 | #include "generic.h" |
26 | #include "clock.h" | 27 | #include "clock.h" |
27 | 28 | ||
28 | static struct map_desc at91sam9g45_io_desc[] __initdata = { | 29 | static struct map_desc at91sam9g45_sram_desc[] __initdata = { |
29 | { | 30 | { |
30 | .virtual = AT91_VA_BASE_SYS, | ||
31 | .pfn = __phys_to_pfn(AT91_BASE_SYS), | ||
32 | .length = SZ_16K, | ||
33 | .type = MT_DEVICE, | ||
34 | }, { | ||
35 | .virtual = AT91_IO_VIRT_BASE - AT91SAM9G45_SRAM_SIZE, | 31 | .virtual = AT91_IO_VIRT_BASE - AT91SAM9G45_SRAM_SIZE, |
36 | .pfn = __phys_to_pfn(AT91SAM9G45_SRAM_BASE), | 32 | .pfn = __phys_to_pfn(AT91SAM9G45_SRAM_BASE), |
37 | .length = AT91SAM9G45_SRAM_SIZE, | 33 | .length = AT91SAM9G45_SRAM_SIZE, |
@@ -329,13 +325,12 @@ static void at91sam9g45_poweroff(void) | |||
329 | * AT91SAM9G45 processor initialization | 325 | * AT91SAM9G45 processor initialization |
330 | * -------------------------------------------------------------------- */ | 326 | * -------------------------------------------------------------------- */ |
331 | 327 | ||
332 | void __init at91sam9g45_map_io(void) | 328 | static void __init at91sam9g45_map_io(void) |
333 | { | 329 | { |
334 | /* Map peripherals */ | 330 | iotable_init(at91sam9g45_sram_desc, ARRAY_SIZE(at91sam9g45_sram_desc)); |
335 | iotable_init(at91sam9g45_io_desc, ARRAY_SIZE(at91sam9g45_io_desc)); | ||
336 | } | 331 | } |
337 | 332 | ||
338 | void __init at91sam9g45_initialize(unsigned long main_clock) | 333 | static void __init at91sam9g45_initialize(unsigned long main_clock) |
339 | { | 334 | { |
340 | at91_arch_reset = at91sam9g45_reset; | 335 | at91_arch_reset = at91sam9g45_reset; |
341 | pm_power_off = at91sam9g45_poweroff; | 336 | pm_power_off = at91sam9g45_poweroff; |
@@ -404,3 +399,8 @@ void __init at91sam9g45_init_interrupts(unsigned int priority[NR_AIC_IRQS]) | |||
404 | /* Enable GPIO interrupts */ | 399 | /* Enable GPIO interrupts */ |
405 | at91_gpio_irq_setup(); | 400 | at91_gpio_irq_setup(); |
406 | } | 401 | } |
402 | |||
403 | struct at91_soc __initdata at91sam9g45_soc = { | ||
404 | .map_io = at91sam9g45_map_io, | ||
405 | .init = at91sam9g45_initialize, | ||
406 | }; | ||
diff --git a/arch/arm/mach-at91/at91sam9rl.c b/arch/arm/mach-at91/at91sam9rl.c index 29dff18ed130..8ff7720b3e4a 100644 --- a/arch/arm/mach-at91/at91sam9rl.c +++ b/arch/arm/mach-at91/at91sam9rl.c | |||
@@ -21,18 +21,10 @@ | |||
21 | #include <mach/at91_rstc.h> | 21 | #include <mach/at91_rstc.h> |
22 | #include <mach/at91_shdwc.h> | 22 | #include <mach/at91_shdwc.h> |
23 | 23 | ||
24 | #include "soc.h" | ||
24 | #include "generic.h" | 25 | #include "generic.h" |
25 | #include "clock.h" | 26 | #include "clock.h" |
26 | 27 | ||
27 | static struct map_desc at91sam9rl_io_desc[] __initdata = { | ||
28 | { | ||
29 | .virtual = AT91_VA_BASE_SYS, | ||
30 | .pfn = __phys_to_pfn(AT91_BASE_SYS), | ||
31 | .length = SZ_16K, | ||
32 | .type = MT_DEVICE, | ||
33 | }, | ||
34 | }; | ||
35 | |||
36 | static struct map_desc at91sam9rl_sram_desc[] __initdata = { | 28 | static struct map_desc at91sam9rl_sram_desc[] __initdata = { |
37 | { | 29 | { |
38 | .pfn = __phys_to_pfn(AT91SAM9RL_SRAM_BASE), | 30 | .pfn = __phys_to_pfn(AT91SAM9RL_SRAM_BASE), |
@@ -287,13 +279,10 @@ static void at91sam9rl_poweroff(void) | |||
287 | * AT91SAM9RL processor initialization | 279 | * AT91SAM9RL processor initialization |
288 | * -------------------------------------------------------------------- */ | 280 | * -------------------------------------------------------------------- */ |
289 | 281 | ||
290 | void __init at91sam9rl_map_io(void) | 282 | static void __init at91sam9rl_map_io(void) |
291 | { | 283 | { |
292 | unsigned long cidr, sram_size; | 284 | unsigned long cidr, sram_size; |
293 | 285 | ||
294 | /* Map peripherals */ | ||
295 | iotable_init(at91sam9rl_io_desc, ARRAY_SIZE(at91sam9rl_io_desc)); | ||
296 | |||
297 | cidr = at91_sys_read(AT91_DBGU_CIDR); | 286 | cidr = at91_sys_read(AT91_DBGU_CIDR); |
298 | 287 | ||
299 | switch (cidr & AT91_CIDR_SRAMSIZ) { | 288 | switch (cidr & AT91_CIDR_SRAMSIZ) { |
@@ -312,7 +301,7 @@ void __init at91sam9rl_map_io(void) | |||
312 | iotable_init(at91sam9rl_sram_desc, ARRAY_SIZE(at91sam9rl_sram_desc)); | 301 | iotable_init(at91sam9rl_sram_desc, ARRAY_SIZE(at91sam9rl_sram_desc)); |
313 | } | 302 | } |
314 | 303 | ||
315 | void __init at91sam9rl_initialize(unsigned long main_clock) | 304 | static void __init at91sam9rl_initialize(unsigned long main_clock) |
316 | { | 305 | { |
317 | at91_arch_reset = at91sam9_alt_reset; | 306 | at91_arch_reset = at91sam9_alt_reset; |
318 | pm_power_off = at91sam9rl_poweroff; | 307 | pm_power_off = at91sam9rl_poweroff; |
@@ -381,3 +370,8 @@ void __init at91sam9rl_init_interrupts(unsigned int priority[NR_AIC_IRQS]) | |||
381 | /* Enable GPIO interrupts */ | 370 | /* Enable GPIO interrupts */ |
382 | at91_gpio_irq_setup(); | 371 | at91_gpio_irq_setup(); |
383 | } | 372 | } |
373 | |||
374 | struct at91_soc __initdata at91sam9rl_soc = { | ||
375 | .map_io = at91sam9rl_map_io, | ||
376 | .init = at91sam9rl_initialize, | ||
377 | }; | ||
diff --git a/arch/arm/mach-at91/board-1arm.c b/arch/arm/mach-at91/board-1arm.c index ab1d463aa47d..e588a9e15e79 100644 --- a/arch/arm/mach-at91/board-1arm.c +++ b/arch/arm/mach-at91/board-1arm.c | |||
@@ -46,7 +46,7 @@ static void __init onearm_init_early(void) | |||
46 | at91rm9200_set_type(ARCH_REVISON_9200_PQFP); | 46 | at91rm9200_set_type(ARCH_REVISON_9200_PQFP); |
47 | 47 | ||
48 | /* Initialize processor: 18.432 MHz crystal */ | 48 | /* Initialize processor: 18.432 MHz crystal */ |
49 | at91rm9200_initialize(18432000); | 49 | at91_initialize(18432000); |
50 | 50 | ||
51 | /* DBGU on ttyS0. (Rx & Tx only) */ | 51 | /* DBGU on ttyS0. (Rx & Tx only) */ |
52 | at91_register_uart(0, 0, 0); | 52 | at91_register_uart(0, 0, 0); |
@@ -97,7 +97,7 @@ static void __init onearm_board_init(void) | |||
97 | MACHINE_START(ONEARM, "Ajeco 1ARM single board computer") | 97 | MACHINE_START(ONEARM, "Ajeco 1ARM single board computer") |
98 | /* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */ | 98 | /* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */ |
99 | .timer = &at91rm9200_timer, | 99 | .timer = &at91rm9200_timer, |
100 | .map_io = at91rm9200_map_io, | 100 | .map_io = at91_map_io, |
101 | .init_early = onearm_init_early, | 101 | .init_early = onearm_init_early, |
102 | .init_irq = onearm_init_irq, | 102 | .init_irq = onearm_init_irq, |
103 | .init_machine = onearm_board_init, | 103 | .init_machine = onearm_board_init, |
diff --git a/arch/arm/mach-at91/board-afeb-9260v1.c b/arch/arm/mach-at91/board-afeb-9260v1.c index a4924de48c36..7cd1cb2f0103 100644 --- a/arch/arm/mach-at91/board-afeb-9260v1.c +++ b/arch/arm/mach-at91/board-afeb-9260v1.c | |||
@@ -51,7 +51,7 @@ | |||
51 | static void __init afeb9260_init_early(void) | 51 | static 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 | at91_initialize(18432000); |
55 | 55 | ||
56 | /* DBGU on ttyS0. (Rx & Tx only) */ | 56 | /* DBGU on ttyS0. (Rx & Tx only) */ |
57 | at91_register_uart(0, 0, 0); | 57 | at91_register_uart(0, 0, 0); |
@@ -219,7 +219,7 @@ static void __init afeb9260_board_init(void) | |||
219 | MACHINE_START(AFEB9260, "Custom afeb9260 board") | 219 | MACHINE_START(AFEB9260, "Custom afeb9260 board") |
220 | /* Maintainer: Sergey Lapin <slapin@ossfans.org> */ | 220 | /* Maintainer: Sergey Lapin <slapin@ossfans.org> */ |
221 | .timer = &at91sam926x_timer, | 221 | .timer = &at91sam926x_timer, |
222 | .map_io = at91sam9260_map_io, | 222 | .map_io = at91_map_io, |
223 | .init_early = afeb9260_init_early, | 223 | .init_early = afeb9260_init_early, |
224 | .init_irq = afeb9260_init_irq, | 224 | .init_irq = afeb9260_init_irq, |
225 | .init_machine = afeb9260_board_init, | 225 | .init_machine = afeb9260_board_init, |
diff --git a/arch/arm/mach-at91/board-cam60.c b/arch/arm/mach-at91/board-cam60.c index 148fccb9a25a..bdc52e641e6d 100644 --- a/arch/arm/mach-at91/board-cam60.c +++ b/arch/arm/mach-at91/board-cam60.c | |||
@@ -48,7 +48,7 @@ | |||
48 | static void __init cam60_init_early(void) | 48 | static 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 | at91_initialize(10000000); |
52 | 52 | ||
53 | /* DBGU on ttyS0. (Rx & Tx only) */ | 53 | /* DBGU on ttyS0. (Rx & Tx only) */ |
54 | at91_register_uart(0, 0, 0); | 54 | at91_register_uart(0, 0, 0); |
@@ -199,7 +199,7 @@ static void __init cam60_board_init(void) | |||
199 | MACHINE_START(CAM60, "KwikByte CAM60") | 199 | MACHINE_START(CAM60, "KwikByte CAM60") |
200 | /* Maintainer: KwikByte */ | 200 | /* Maintainer: KwikByte */ |
201 | .timer = &at91sam926x_timer, | 201 | .timer = &at91sam926x_timer, |
202 | .map_io = at91sam9260_map_io, | 202 | .map_io = at91_map_io, |
203 | .init_early = cam60_init_early, | 203 | .init_early = cam60_init_early, |
204 | .init_irq = cam60_init_irq, | 204 | .init_irq = cam60_init_irq, |
205 | .init_machine = cam60_board_init, | 205 | .init_machine = cam60_board_init, |
diff --git a/arch/arm/mach-at91/board-cap9adk.c b/arch/arm/mach-at91/board-cap9adk.c index cdb65d483250..d04a6a0f3dd8 100644 --- a/arch/arm/mach-at91/board-cap9adk.c +++ b/arch/arm/mach-at91/board-cap9adk.c | |||
@@ -53,7 +53,7 @@ | |||
53 | static void __init cap9adk_init_early(void) | 53 | static 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 | at91_initialize(12000000); |
57 | 57 | ||
58 | /* Setup the LEDs: USER1 and USER2 LED for cpu/timer... */ | 58 | /* Setup the LEDs: USER1 and USER2 LED for cpu/timer... */ |
59 | at91_init_leds(AT91_PIN_PA10, AT91_PIN_PA11); | 59 | at91_init_leds(AT91_PIN_PA10, AT91_PIN_PA11); |
@@ -397,7 +397,7 @@ static void __init cap9adk_board_init(void) | |||
397 | MACHINE_START(AT91CAP9ADK, "Atmel AT91CAP9A-DK") | 397 | MACHINE_START(AT91CAP9ADK, "Atmel AT91CAP9A-DK") |
398 | /* Maintainer: Stelian Pop <stelian.pop@leadtechdesign.com> */ | 398 | /* Maintainer: Stelian Pop <stelian.pop@leadtechdesign.com> */ |
399 | .timer = &at91sam926x_timer, | 399 | .timer = &at91sam926x_timer, |
400 | .map_io = at91cap9_map_io, | 400 | .map_io = at91_map_io, |
401 | .init_early = cap9adk_init_early, | 401 | .init_early = cap9adk_init_early, |
402 | .init_irq = cap9adk_init_irq, | 402 | .init_irq = cap9adk_init_irq, |
403 | .init_machine = cap9adk_board_init, | 403 | .init_machine = cap9adk_board_init, |
diff --git a/arch/arm/mach-at91/board-carmeva.c b/arch/arm/mach-at91/board-carmeva.c index f36b18687494..0a92b7a7c217 100644 --- a/arch/arm/mach-at91/board-carmeva.c +++ b/arch/arm/mach-at91/board-carmeva.c | |||
@@ -43,7 +43,7 @@ | |||
43 | static void __init carmeva_init_early(void) | 43 | static 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); | 46 | at91_initialize(20000000); |
47 | 47 | ||
48 | /* DBGU on ttyS0. (Rx & Tx only) */ | 48 | /* DBGU on ttyS0. (Rx & Tx only) */ |
49 | at91_register_uart(0, 0, 0); | 49 | at91_register_uart(0, 0, 0); |
@@ -163,7 +163,7 @@ static void __init carmeva_board_init(void) | |||
163 | MACHINE_START(CARMEVA, "Carmeva") | 163 | MACHINE_START(CARMEVA, "Carmeva") |
164 | /* Maintainer: Conitec Datasystems */ | 164 | /* Maintainer: Conitec Datasystems */ |
165 | .timer = &at91rm9200_timer, | 165 | .timer = &at91rm9200_timer, |
166 | .map_io = at91rm9200_map_io, | 166 | .map_io = at91_map_io, |
167 | .init_early = carmeva_init_early, | 167 | .init_early = carmeva_init_early, |
168 | .init_irq = carmeva_init_irq, | 168 | .init_irq = carmeva_init_irq, |
169 | .init_machine = carmeva_board_init, | 169 | .init_machine = carmeva_board_init, |
diff --git a/arch/arm/mach-at91/board-cpu9krea.c b/arch/arm/mach-at91/board-cpu9krea.c index 980511084fe4..01128f9a0597 100644 --- a/arch/arm/mach-at91/board-cpu9krea.c +++ b/arch/arm/mach-at91/board-cpu9krea.c | |||
@@ -50,7 +50,7 @@ | |||
50 | static void __init cpu9krea_init_early(void) | 50 | static 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 | at91_initialize(18432000); |
54 | 54 | ||
55 | /* DGBU on ttyS0. (Rx & Tx only) */ | 55 | /* DGBU on ttyS0. (Rx & Tx only) */ |
56 | at91_register_uart(0, 0, 0); | 56 | at91_register_uart(0, 0, 0); |
@@ -376,7 +376,7 @@ MACHINE_START(CPUAT9G20, "Eukrea CPU9G20") | |||
376 | #endif | 376 | #endif |
377 | /* Maintainer: Eric Benard - EUKREA Electromatique */ | 377 | /* Maintainer: Eric Benard - EUKREA Electromatique */ |
378 | .timer = &at91sam926x_timer, | 378 | .timer = &at91sam926x_timer, |
379 | .map_io = at91sam9260_map_io, | 379 | .map_io = at91_map_io, |
380 | .init_early = cpu9krea_init_early, | 380 | .init_early = cpu9krea_init_early, |
381 | .init_irq = cpu9krea_init_irq, | 381 | .init_irq = cpu9krea_init_irq, |
382 | .init_machine = cpu9krea_board_init, | 382 | .init_machine = cpu9krea_board_init, |
diff --git a/arch/arm/mach-at91/board-cpuat91.c b/arch/arm/mach-at91/board-cpuat91.c index 6daabe3907a1..0692606b9fee 100644 --- a/arch/arm/mach-at91/board-cpuat91.c +++ b/arch/arm/mach-at91/board-cpuat91.c | |||
@@ -57,7 +57,7 @@ static void __init cpuat91_init_early(void) | |||
57 | at91rm9200_set_type(ARCH_REVISON_9200_PQFP); | 57 | at91rm9200_set_type(ARCH_REVISON_9200_PQFP); |
58 | 58 | ||
59 | /* Initialize processor: 18.432 MHz crystal */ | 59 | /* Initialize processor: 18.432 MHz crystal */ |
60 | at91rm9200_initialize(18432000); | 60 | at91_initialize(18432000); |
61 | 61 | ||
62 | /* DBGU on ttyS0. (Rx & Tx only) */ | 62 | /* DBGU on ttyS0. (Rx & Tx only) */ |
63 | at91_register_uart(0, 0, 0); | 63 | at91_register_uart(0, 0, 0); |
@@ -180,7 +180,7 @@ static void __init cpuat91_board_init(void) | |||
180 | MACHINE_START(CPUAT91, "Eukrea") | 180 | MACHINE_START(CPUAT91, "Eukrea") |
181 | /* Maintainer: Eric Benard - EUKREA Electromatique */ | 181 | /* Maintainer: Eric Benard - EUKREA Electromatique */ |
182 | .timer = &at91rm9200_timer, | 182 | .timer = &at91rm9200_timer, |
183 | .map_io = at91rm9200_map_io, | 183 | .map_io = at91_map_io, |
184 | .init_early = cpuat91_init_early, | 184 | .init_early = cpuat91_init_early, |
185 | .init_irq = cpuat91_init_irq, | 185 | .init_irq = cpuat91_init_irq, |
186 | .init_machine = cpuat91_board_init, | 186 | .init_machine = cpuat91_board_init, |
diff --git a/arch/arm/mach-at91/board-csb337.c b/arch/arm/mach-at91/board-csb337.c index d98bcec1dfe0..923cccb7948d 100644 --- a/arch/arm/mach-at91/board-csb337.c +++ b/arch/arm/mach-at91/board-csb337.c | |||
@@ -46,7 +46,7 @@ | |||
46 | static void __init csb337_init_early(void) | 46 | static 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); | 49 | at91_initialize(3686400); |
50 | 50 | ||
51 | /* Setup the LEDs */ | 51 | /* Setup the LEDs */ |
52 | at91_init_leds(AT91_PIN_PB0, AT91_PIN_PB1); | 52 | at91_init_leds(AT91_PIN_PB0, AT91_PIN_PB1); |
@@ -258,7 +258,7 @@ static void __init csb337_board_init(void) | |||
258 | MACHINE_START(CSB337, "Cogent CSB337") | 258 | MACHINE_START(CSB337, "Cogent CSB337") |
259 | /* Maintainer: Bill Gatliff */ | 259 | /* Maintainer: Bill Gatliff */ |
260 | .timer = &at91rm9200_timer, | 260 | .timer = &at91rm9200_timer, |
261 | .map_io = at91rm9200_map_io, | 261 | .map_io = at91_map_io, |
262 | .init_early = csb337_init_early, | 262 | .init_early = csb337_init_early, |
263 | .init_irq = csb337_init_irq, | 263 | .init_irq = csb337_init_irq, |
264 | .init_machine = csb337_board_init, | 264 | .init_machine = csb337_board_init, |
diff --git a/arch/arm/mach-at91/board-csb637.c b/arch/arm/mach-at91/board-csb637.c index 019aab4e20b0..51131cad1abb 100644 --- a/arch/arm/mach-at91/board-csb637.c +++ b/arch/arm/mach-at91/board-csb637.c | |||
@@ -43,7 +43,7 @@ | |||
43 | static void __init csb637_init_early(void) | 43 | static 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); | 46 | at91_initialize(3686400); |
47 | 47 | ||
48 | /* DBGU on ttyS0. (Rx & Tx only) */ | 48 | /* DBGU on ttyS0. (Rx & Tx only) */ |
49 | at91_register_uart(0, 0, 0); | 49 | at91_register_uart(0, 0, 0); |
@@ -139,7 +139,7 @@ static void __init csb637_board_init(void) | |||
139 | MACHINE_START(CSB637, "Cogent CSB637") | 139 | MACHINE_START(CSB637, "Cogent CSB637") |
140 | /* Maintainer: Bill Gatliff */ | 140 | /* Maintainer: Bill Gatliff */ |
141 | .timer = &at91rm9200_timer, | 141 | .timer = &at91rm9200_timer, |
142 | .map_io = at91rm9200_map_io, | 142 | .map_io = at91_map_io, |
143 | .init_early = csb637_init_early, | 143 | .init_early = csb637_init_early, |
144 | .init_irq = csb637_init_irq, | 144 | .init_irq = csb637_init_irq, |
145 | .init_machine = csb637_board_init, | 145 | .init_machine = csb637_board_init, |
diff --git a/arch/arm/mach-at91/board-eb9200.c b/arch/arm/mach-at91/board-eb9200.c index e9484535cbc8..705071cbd232 100644 --- a/arch/arm/mach-at91/board-eb9200.c +++ b/arch/arm/mach-at91/board-eb9200.c | |||
@@ -43,7 +43,7 @@ | |||
43 | static void __init eb9200_init_early(void) | 43 | static 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); | 46 | at91_initialize(18432000); |
47 | 47 | ||
48 | /* DBGU on ttyS0. (Rx & Tx only) */ | 48 | /* DBGU on ttyS0. (Rx & Tx only) */ |
49 | at91_register_uart(0, 0, 0); | 49 | at91_register_uart(0, 0, 0); |
@@ -121,7 +121,7 @@ static void __init eb9200_board_init(void) | |||
121 | 121 | ||
122 | MACHINE_START(ATEB9200, "Embest ATEB9200") | 122 | MACHINE_START(ATEB9200, "Embest ATEB9200") |
123 | .timer = &at91rm9200_timer, | 123 | .timer = &at91rm9200_timer, |
124 | .map_io = at91rm9200_map_io, | 124 | .map_io = at91_map_io, |
125 | .init_early = eb9200_init_early, | 125 | .init_early = eb9200_init_early, |
126 | .init_irq = eb9200_init_irq, | 126 | .init_irq = eb9200_init_irq, |
127 | .init_machine = eb9200_board_init, | 127 | .init_machine = eb9200_board_init, |
diff --git a/arch/arm/mach-at91/board-ecbat91.c b/arch/arm/mach-at91/board-ecbat91.c index a6f57faa10a7..a9f106a2bd2c 100644 --- a/arch/arm/mach-at91/board-ecbat91.c +++ b/arch/arm/mach-at91/board-ecbat91.c | |||
@@ -49,7 +49,7 @@ static void __init ecb_at91init_early(void) | |||
49 | at91rm9200_set_type(ARCH_REVISON_9200_PQFP); | 49 | at91rm9200_set_type(ARCH_REVISON_9200_PQFP); |
50 | 50 | ||
51 | /* Initialize processor: 18.432 MHz crystal */ | 51 | /* Initialize processor: 18.432 MHz crystal */ |
52 | at91rm9200_initialize(18432000); | 52 | at91_initialize(18432000); |
53 | 53 | ||
54 | /* Setup the LEDs */ | 54 | /* Setup the LEDs */ |
55 | at91_init_leds(AT91_PIN_PC7, AT91_PIN_PC7); | 55 | at91_init_leds(AT91_PIN_PC7, AT91_PIN_PC7); |
@@ -173,7 +173,7 @@ static void __init ecb_at91board_init(void) | |||
173 | MACHINE_START(ECBAT91, "emQbit's ECB_AT91") | 173 | MACHINE_START(ECBAT91, "emQbit's ECB_AT91") |
174 | /* Maintainer: emQbit.com */ | 174 | /* Maintainer: emQbit.com */ |
175 | .timer = &at91rm9200_timer, | 175 | .timer = &at91rm9200_timer, |
176 | .map_io = at91rm9200_map_io, | 176 | .map_io = at91_map_io, |
177 | .init_early = ecb_at91init_early, | 177 | .init_early = ecb_at91init_early, |
178 | .init_irq = ecb_at91init_irq, | 178 | .init_irq = ecb_at91init_irq, |
179 | .init_machine = ecb_at91board_init, | 179 | .init_machine = ecb_at91board_init, |
diff --git a/arch/arm/mach-at91/board-eco920.c b/arch/arm/mach-at91/board-eco920.c index bfc0062d1483..8639fbde9669 100644 --- a/arch/arm/mach-at91/board-eco920.c +++ b/arch/arm/mach-at91/board-eco920.c | |||
@@ -35,7 +35,7 @@ static void __init eco920_init_early(void) | |||
35 | /* Set cpu type: PQFP */ | 35 | /* Set cpu type: PQFP */ |
36 | at91rm9200_set_type(ARCH_REVISON_9200_PQFP); | 36 | at91rm9200_set_type(ARCH_REVISON_9200_PQFP); |
37 | 37 | ||
38 | at91rm9200_initialize(18432000); | 38 | at91_initialize(18432000); |
39 | 39 | ||
40 | /* Setup the LEDs */ | 40 | /* Setup the LEDs */ |
41 | at91_init_leds(AT91_PIN_PB0, AT91_PIN_PB1); | 41 | at91_init_leds(AT91_PIN_PB0, AT91_PIN_PB1); |
@@ -135,7 +135,7 @@ static void __init eco920_board_init(void) | |||
135 | MACHINE_START(ECO920, "eco920") | 135 | MACHINE_START(ECO920, "eco920") |
136 | /* Maintainer: Sascha Hauer */ | 136 | /* Maintainer: Sascha Hauer */ |
137 | .timer = &at91rm9200_timer, | 137 | .timer = &at91rm9200_timer, |
138 | .map_io = at91rm9200_map_io, | 138 | .map_io = at91_map_io, |
139 | .init_early = eco920_init_early, | 139 | .init_early = eco920_init_early, |
140 | .init_irq = eco920_init_irq, | 140 | .init_irq = eco920_init_irq, |
141 | .init_machine = eco920_board_init, | 141 | .init_machine = eco920_board_init, |
diff --git a/arch/arm/mach-at91/board-flexibity.c b/arch/arm/mach-at91/board-flexibity.c index 466c063b8d21..f45583ed5a66 100644 --- a/arch/arm/mach-at91/board-flexibity.c +++ b/arch/arm/mach-at91/board-flexibity.c | |||
@@ -40,7 +40,7 @@ | |||
40 | static void __init flexibity_init_early(void) | 40 | static 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 | at91_initialize(18432000); |
44 | 44 | ||
45 | /* DBGU on ttyS0. (Rx & Tx only) */ | 45 | /* DBGU on ttyS0. (Rx & Tx only) */ |
46 | at91_register_uart(0, 0, 0); | 46 | at91_register_uart(0, 0, 0); |
@@ -155,7 +155,7 @@ static void __init flexibity_board_init(void) | |||
155 | MACHINE_START(FLEXIBITY, "Flexibity Connect") | 155 | MACHINE_START(FLEXIBITY, "Flexibity Connect") |
156 | /* Maintainer: Maxim Osipov */ | 156 | /* Maintainer: Maxim Osipov */ |
157 | .timer = &at91sam926x_timer, | 157 | .timer = &at91sam926x_timer, |
158 | .map_io = at91sam9260_map_io, | 158 | .map_io = at91_map_io, |
159 | .init_early = flexibity_init_early, | 159 | .init_early = flexibity_init_early, |
160 | .init_irq = flexibity_init_irq, | 160 | .init_irq = flexibity_init_irq, |
161 | .init_machine = flexibity_board_init, | 161 | .init_machine = flexibity_board_init, |
diff --git a/arch/arm/mach-at91/board-foxg20.c b/arch/arm/mach-at91/board-foxg20.c index e2d1dc9eff45..b78442b21361 100644 --- a/arch/arm/mach-at91/board-foxg20.c +++ b/arch/arm/mach-at91/board-foxg20.c | |||
@@ -60,7 +60,7 @@ | |||
60 | static void __init foxg20_init_early(void) | 60 | static 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 | at91_initialize(18432000); |
64 | 64 | ||
65 | /* DBGU on ttyS0. (Rx & Tx only) */ | 65 | /* DBGU on ttyS0. (Rx & Tx only) */ |
66 | at91_register_uart(0, 0, 0); | 66 | at91_register_uart(0, 0, 0); |
@@ -267,7 +267,7 @@ static void __init foxg20_board_init(void) | |||
267 | MACHINE_START(ACMENETUSFOXG20, "Acme Systems srl FOX Board G20") | 267 | MACHINE_START(ACMENETUSFOXG20, "Acme Systems srl FOX Board G20") |
268 | /* Maintainer: Sergio Tanzilli */ | 268 | /* Maintainer: Sergio Tanzilli */ |
269 | .timer = &at91sam926x_timer, | 269 | .timer = &at91sam926x_timer, |
270 | .map_io = at91sam9260_map_io, | 270 | .map_io = at91_map_io, |
271 | .init_early = foxg20_init_early, | 271 | .init_early = foxg20_init_early, |
272 | .init_irq = foxg20_init_irq, | 272 | .init_irq = foxg20_init_irq, |
273 | .init_machine = foxg20_board_init, | 273 | .init_machine = foxg20_board_init, |
diff --git a/arch/arm/mach-at91/board-gsia18s.c b/arch/arm/mach-at91/board-gsia18s.c index 1d4f36b3cb27..6588143461fd 100644 --- a/arch/arm/mach-at91/board-gsia18s.c +++ b/arch/arm/mach-at91/board-gsia18s.c | |||
@@ -577,7 +577,7 @@ static void __init gsia18s_board_init(void) | |||
577 | 577 | ||
578 | MACHINE_START(GSIA18S, "GS_IA18_S") | 578 | MACHINE_START(GSIA18S, "GS_IA18_S") |
579 | .timer = &at91sam926x_timer, | 579 | .timer = &at91sam926x_timer, |
580 | .map_io = at91sam9260_map_io, | 580 | .map_io = at91_map_io, |
581 | .init_early = gsia18s_init_early, | 581 | .init_early = gsia18s_init_early, |
582 | .init_irq = init_irq, | 582 | .init_irq = init_irq, |
583 | .init_machine = gsia18s_board_init, | 583 | .init_machine = gsia18s_board_init, |
diff --git a/arch/arm/mach-at91/board-kafa.c b/arch/arm/mach-at91/board-kafa.c index 9b003ff744ba..d26b960cf9c4 100644 --- a/arch/arm/mach-at91/board-kafa.c +++ b/arch/arm/mach-at91/board-kafa.c | |||
@@ -46,7 +46,7 @@ static void __init kafa_init_early(void) | |||
46 | at91rm9200_set_type(ARCH_REVISON_9200_PQFP); | 46 | at91rm9200_set_type(ARCH_REVISON_9200_PQFP); |
47 | 47 | ||
48 | /* Initialize processor: 18.432 MHz crystal */ | 48 | /* Initialize processor: 18.432 MHz crystal */ |
49 | at91rm9200_initialize(18432000); | 49 | at91_initialize(18432000); |
50 | 50 | ||
51 | /* Set up the LEDs */ | 51 | /* Set up the LEDs */ |
52 | at91_init_leds(AT91_PIN_PB4, AT91_PIN_PB4); | 52 | at91_init_leds(AT91_PIN_PB4, AT91_PIN_PB4); |
@@ -99,7 +99,7 @@ static void __init kafa_board_init(void) | |||
99 | MACHINE_START(KAFA, "Sperry-Sun KAFA") | 99 | MACHINE_START(KAFA, "Sperry-Sun KAFA") |
100 | /* Maintainer: Sergei Sharonov */ | 100 | /* Maintainer: Sergei Sharonov */ |
101 | .timer = &at91rm9200_timer, | 101 | .timer = &at91rm9200_timer, |
102 | .map_io = at91rm9200_map_io, | 102 | .map_io = at91_map_io, |
103 | .init_early = kafa_init_early, | 103 | .init_early = kafa_init_early, |
104 | .init_irq = kafa_init_irq, | 104 | .init_irq = kafa_init_irq, |
105 | .init_machine = kafa_board_init, | 105 | .init_machine = kafa_board_init, |
diff --git a/arch/arm/mach-at91/board-kb9202.c b/arch/arm/mach-at91/board-kb9202.c index a813a74b65f9..a4d815302428 100644 --- a/arch/arm/mach-at91/board-kb9202.c +++ b/arch/arm/mach-at91/board-kb9202.c | |||
@@ -48,7 +48,7 @@ static void __init kb9202_init_early(void) | |||
48 | at91rm9200_set_type(ARCH_REVISON_9200_PQFP); | 48 | at91rm9200_set_type(ARCH_REVISON_9200_PQFP); |
49 | 49 | ||
50 | /* Initialize processor: 10 MHz crystal */ | 50 | /* Initialize processor: 10 MHz crystal */ |
51 | at91rm9200_initialize(10000000); | 51 | at91_initialize(10000000); |
52 | 52 | ||
53 | /* Set up the LEDs */ | 53 | /* Set up the LEDs */ |
54 | at91_init_leds(AT91_PIN_PC19, AT91_PIN_PC18); | 54 | at91_init_leds(AT91_PIN_PC19, AT91_PIN_PC18); |
@@ -140,7 +140,7 @@ static void __init kb9202_board_init(void) | |||
140 | MACHINE_START(KB9200, "KB920x") | 140 | MACHINE_START(KB9200, "KB920x") |
141 | /* Maintainer: KwikByte, Inc. */ | 141 | /* Maintainer: KwikByte, Inc. */ |
142 | .timer = &at91rm9200_timer, | 142 | .timer = &at91rm9200_timer, |
143 | .map_io = at91rm9200_map_io, | 143 | .map_io = at91_map_io, |
144 | .init_early = kb9202_init_early, | 144 | .init_early = kb9202_init_early, |
145 | .init_irq = kb9202_init_irq, | 145 | .init_irq = kb9202_init_irq, |
146 | .init_machine = kb9202_board_init, | 146 | .init_machine = kb9202_board_init, |
diff --git a/arch/arm/mach-at91/board-neocore926.c b/arch/arm/mach-at91/board-neocore926.c index 961e805db68c..26a4c631baf4 100644 --- a/arch/arm/mach-at91/board-neocore926.c +++ b/arch/arm/mach-at91/board-neocore926.c | |||
@@ -54,7 +54,7 @@ | |||
54 | static void __init neocore926_init_early(void) | 54 | static 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 | at91_initialize(20000000); |
58 | 58 | ||
59 | /* DBGU on ttyS0. (Rx & Tx only) */ | 59 | /* DBGU on ttyS0. (Rx & Tx only) */ |
60 | at91_register_uart(0, 0, 0); | 60 | at91_register_uart(0, 0, 0); |
@@ -388,7 +388,7 @@ static void __init neocore926_board_init(void) | |||
388 | MACHINE_START(NEOCORE926, "ADENEO NEOCORE 926") | 388 | MACHINE_START(NEOCORE926, "ADENEO NEOCORE 926") |
389 | /* Maintainer: ADENEO */ | 389 | /* Maintainer: ADENEO */ |
390 | .timer = &at91sam926x_timer, | 390 | .timer = &at91sam926x_timer, |
391 | .map_io = at91sam9263_map_io, | 391 | .map_io = at91_map_io, |
392 | .init_early = neocore926_init_early, | 392 | .init_early = neocore926_init_early, |
393 | .init_irq = neocore926_init_irq, | 393 | .init_irq = neocore926_init_irq, |
394 | .init_machine = neocore926_board_init, | 394 | .init_machine = neocore926_board_init, |
diff --git a/arch/arm/mach-at91/board-pcontrol-g20.c b/arch/arm/mach-at91/board-pcontrol-g20.c index 21a21af25878..7651e7f93655 100644 --- a/arch/arm/mach-at91/board-pcontrol-g20.c +++ b/arch/arm/mach-at91/board-pcontrol-g20.c | |||
@@ -223,7 +223,7 @@ static void __init pcontrol_g20_board_init(void) | |||
223 | MACHINE_START(PCONTROL_G20, "PControl G20") | 223 | MACHINE_START(PCONTROL_G20, "PControl G20") |
224 | /* Maintainer: pgsellmann@portner-elektronik.at */ | 224 | /* Maintainer: pgsellmann@portner-elektronik.at */ |
225 | .timer = &at91sam926x_timer, | 225 | .timer = &at91sam926x_timer, |
226 | .map_io = at91sam9260_map_io, | 226 | .map_io = at91_map_io, |
227 | .init_early = pcontrol_g20_init_early, | 227 | .init_early = pcontrol_g20_init_early, |
228 | .init_irq = init_irq, | 228 | .init_irq = init_irq, |
229 | .init_machine = pcontrol_g20_board_init, | 229 | .init_machine = pcontrol_g20_board_init, |
diff --git a/arch/arm/mach-at91/board-picotux200.c b/arch/arm/mach-at91/board-picotux200.c index 756cc2a745dd..c7294f88abee 100644 --- a/arch/arm/mach-at91/board-picotux200.c +++ b/arch/arm/mach-at91/board-picotux200.c | |||
@@ -46,7 +46,7 @@ | |||
46 | static void __init picotux200_init_early(void) | 46 | static 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); | 49 | at91_initialize(18432000); |
50 | 50 | ||
51 | /* DBGU on ttyS0. (Rx & Tx only) */ | 51 | /* DBGU on ttyS0. (Rx & Tx only) */ |
52 | at91_register_uart(0, 0, 0); | 52 | at91_register_uart(0, 0, 0); |
@@ -124,7 +124,7 @@ static void __init picotux200_board_init(void) | |||
124 | MACHINE_START(PICOTUX2XX, "picotux 200") | 124 | MACHINE_START(PICOTUX2XX, "picotux 200") |
125 | /* Maintainer: Kleinhenz Elektronik GmbH */ | 125 | /* Maintainer: Kleinhenz Elektronik GmbH */ |
126 | .timer = &at91rm9200_timer, | 126 | .timer = &at91rm9200_timer, |
127 | .map_io = at91rm9200_map_io, | 127 | .map_io = at91_map_io, |
128 | .init_early = picotux200_init_early, | 128 | .init_early = picotux200_init_early, |
129 | .init_irq = picotux200_init_irq, | 129 | .init_irq = picotux200_init_irq, |
130 | .init_machine = picotux200_board_init, | 130 | .init_machine = picotux200_board_init, |
diff --git a/arch/arm/mach-at91/board-qil-a9260.c b/arch/arm/mach-at91/board-qil-a9260.c index d1a6001b0bd8..68e31a905c3c 100644 --- a/arch/arm/mach-at91/board-qil-a9260.c +++ b/arch/arm/mach-at91/board-qil-a9260.c | |||
@@ -51,7 +51,7 @@ | |||
51 | static void __init ek_init_early(void) | 51 | static 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 | at91_initialize(12000000); |
55 | 55 | ||
56 | /* DBGU on ttyS0. (Rx & Tx only) */ | 56 | /* DBGU on ttyS0. (Rx & Tx only) */ |
57 | at91_register_uart(0, 0, 0); | 57 | at91_register_uart(0, 0, 0); |
@@ -269,7 +269,7 @@ static void __init ek_board_init(void) | |||
269 | MACHINE_START(QIL_A9260, "CALAO QIL_A9260") | 269 | MACHINE_START(QIL_A9260, "CALAO QIL_A9260") |
270 | /* Maintainer: calao-systems */ | 270 | /* Maintainer: calao-systems */ |
271 | .timer = &at91sam926x_timer, | 271 | .timer = &at91sam926x_timer, |
272 | .map_io = at91sam9260_map_io, | 272 | .map_io = at91_map_io, |
273 | .init_early = ek_init_early, | 273 | .init_early = ek_init_early, |
274 | .init_irq = ek_init_irq, | 274 | .init_irq = ek_init_irq, |
275 | .init_machine = ek_board_init, | 275 | .init_machine = ek_board_init, |
diff --git a/arch/arm/mach-at91/board-rm9200dk.c b/arch/arm/mach-at91/board-rm9200dk.c index aef9627710b0..97c6f211b11f 100644 --- a/arch/arm/mach-at91/board-rm9200dk.c +++ b/arch/arm/mach-at91/board-rm9200dk.c | |||
@@ -48,7 +48,7 @@ | |||
48 | static void __init dk_init_early(void) | 48 | static 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); | 51 | at91_initialize(18432000); |
52 | 52 | ||
53 | /* Setup the LEDs */ | 53 | /* Setup the LEDs */ |
54 | at91_init_leds(AT91_PIN_PB2, AT91_PIN_PB2); | 54 | at91_init_leds(AT91_PIN_PB2, AT91_PIN_PB2); |
@@ -228,7 +228,7 @@ static void __init dk_board_init(void) | |||
228 | MACHINE_START(AT91RM9200DK, "Atmel AT91RM9200-DK") | 228 | MACHINE_START(AT91RM9200DK, "Atmel AT91RM9200-DK") |
229 | /* Maintainer: SAN People/Atmel */ | 229 | /* Maintainer: SAN People/Atmel */ |
230 | .timer = &at91rm9200_timer, | 230 | .timer = &at91rm9200_timer, |
231 | .map_io = at91rm9200_map_io, | 231 | .map_io = at91_map_io, |
232 | .init_early = dk_init_early, | 232 | .init_early = dk_init_early, |
233 | .init_irq = dk_init_irq, | 233 | .init_irq = dk_init_irq, |
234 | .init_machine = dk_board_init, | 234 | .init_machine = dk_board_init, |
diff --git a/arch/arm/mach-at91/board-rm9200ek.c b/arch/arm/mach-at91/board-rm9200ek.c index 015a02183080..72aa8bfbfc50 100644 --- a/arch/arm/mach-at91/board-rm9200ek.c +++ b/arch/arm/mach-at91/board-rm9200ek.c | |||
@@ -48,7 +48,7 @@ | |||
48 | static void __init ek_init_early(void) | 48 | static 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); | 51 | at91_initialize(18432000); |
52 | 52 | ||
53 | /* Setup the LEDs */ | 53 | /* Setup the LEDs */ |
54 | at91_init_leds(AT91_PIN_PB1, AT91_PIN_PB2); | 54 | at91_init_leds(AT91_PIN_PB1, AT91_PIN_PB2); |
@@ -194,7 +194,7 @@ static void __init ek_board_init(void) | |||
194 | MACHINE_START(AT91RM9200EK, "Atmel AT91RM9200-EK") | 194 | MACHINE_START(AT91RM9200EK, "Atmel AT91RM9200-EK") |
195 | /* Maintainer: SAN People/Atmel */ | 195 | /* Maintainer: SAN People/Atmel */ |
196 | .timer = &at91rm9200_timer, | 196 | .timer = &at91rm9200_timer, |
197 | .map_io = at91rm9200_map_io, | 197 | .map_io = at91_map_io, |
198 | .init_early = ek_init_early, | 198 | .init_early = ek_init_early, |
199 | .init_irq = ek_init_irq, | 199 | .init_irq = ek_init_irq, |
200 | .init_machine = ek_board_init, | 200 | .init_machine = ek_board_init, |
diff --git a/arch/arm/mach-at91/board-sam9-l9260.c b/arch/arm/mach-at91/board-sam9-l9260.c index aaf1bf0989b3..93c36bd95fd8 100644 --- a/arch/arm/mach-at91/board-sam9-l9260.c +++ b/arch/arm/mach-at91/board-sam9-l9260.c | |||
@@ -47,7 +47,7 @@ | |||
47 | static void __init ek_init_early(void) | 47 | static 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 | at91_initialize(18432000); |
51 | 51 | ||
52 | /* Setup the LEDs */ | 52 | /* Setup the LEDs */ |
53 | at91_init_leds(AT91_PIN_PA9, AT91_PIN_PA6); | 53 | at91_init_leds(AT91_PIN_PA9, AT91_PIN_PA6); |
@@ -213,7 +213,7 @@ static void __init ek_board_init(void) | |||
213 | MACHINE_START(SAM9_L9260, "Olimex SAM9-L9260") | 213 | MACHINE_START(SAM9_L9260, "Olimex SAM9-L9260") |
214 | /* Maintainer: Olimex */ | 214 | /* Maintainer: Olimex */ |
215 | .timer = &at91sam926x_timer, | 215 | .timer = &at91sam926x_timer, |
216 | .map_io = at91sam9260_map_io, | 216 | .map_io = at91_map_io, |
217 | .init_early = ek_init_early, | 217 | .init_early = ek_init_early, |
218 | .init_irq = ek_init_irq, | 218 | .init_irq = ek_init_irq, |
219 | .init_machine = ek_board_init, | 219 | .init_machine = ek_board_init, |
diff --git a/arch/arm/mach-at91/board-sam9260ek.c b/arch/arm/mach-at91/board-sam9260ek.c index 5c240743c5b7..044a40cdb222 100644 --- a/arch/arm/mach-at91/board-sam9260ek.c +++ b/arch/arm/mach-at91/board-sam9260ek.c | |||
@@ -53,7 +53,7 @@ | |||
53 | static void __init ek_init_early(void) | 53 | static 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 | at91_initialize(18432000); |
57 | 57 | ||
58 | /* DBGU on ttyS0. (Rx & Tx only) */ | 58 | /* DBGU on ttyS0. (Rx & Tx only) */ |
59 | at91_register_uart(0, 0, 0); | 59 | at91_register_uart(0, 0, 0); |
@@ -354,7 +354,7 @@ static void __init ek_board_init(void) | |||
354 | MACHINE_START(AT91SAM9260EK, "Atmel AT91SAM9260-EK") | 354 | MACHINE_START(AT91SAM9260EK, "Atmel AT91SAM9260-EK") |
355 | /* Maintainer: Atmel */ | 355 | /* Maintainer: Atmel */ |
356 | .timer = &at91sam926x_timer, | 356 | .timer = &at91sam926x_timer, |
357 | .map_io = at91sam9260_map_io, | 357 | .map_io = at91_map_io, |
358 | .init_early = ek_init_early, | 358 | .init_early = ek_init_early, |
359 | .init_irq = ek_init_irq, | 359 | .init_irq = ek_init_irq, |
360 | .init_machine = ek_board_init, | 360 | .init_machine = ek_board_init, |
diff --git a/arch/arm/mach-at91/board-sam9261ek.c b/arch/arm/mach-at91/board-sam9261ek.c index b60c22b6e241..d8e0aa08009a 100644 --- a/arch/arm/mach-at91/board-sam9261ek.c +++ b/arch/arm/mach-at91/board-sam9261ek.c | |||
@@ -57,7 +57,7 @@ | |||
57 | static void __init ek_init_early(void) | 57 | static 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 | at91_initialize(18432000); |
61 | 61 | ||
62 | /* Setup the LEDs */ | 62 | /* Setup the LEDs */ |
63 | at91_init_leds(AT91_PIN_PA13, AT91_PIN_PA14); | 63 | at91_init_leds(AT91_PIN_PA13, AT91_PIN_PA14); |
@@ -621,7 +621,7 @@ MACHINE_START(AT91SAM9G10EK, "Atmel AT91SAM9G10-EK") | |||
621 | #endif | 621 | #endif |
622 | /* Maintainer: Atmel */ | 622 | /* Maintainer: Atmel */ |
623 | .timer = &at91sam926x_timer, | 623 | .timer = &at91sam926x_timer, |
624 | .map_io = at91sam9261_map_io, | 624 | .map_io = at91_map_io, |
625 | .init_early = ek_init_early, | 625 | .init_early = ek_init_early, |
626 | .init_irq = ek_init_irq, | 626 | .init_irq = ek_init_irq, |
627 | .init_machine = ek_board_init, | 627 | .init_machine = ek_board_init, |
diff --git a/arch/arm/mach-at91/board-sam9263ek.c b/arch/arm/mach-at91/board-sam9263ek.c index 9bbdc92ea194..d72a30cba364 100644 --- a/arch/arm/mach-at91/board-sam9263ek.c +++ b/arch/arm/mach-at91/board-sam9263ek.c | |||
@@ -56,7 +56,7 @@ | |||
56 | static void __init ek_init_early(void) | 56 | static 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 | at91_initialize(16367660); |
60 | 60 | ||
61 | /* DBGU on ttyS0. (Rx & Tx only) */ | 61 | /* DBGU on ttyS0. (Rx & Tx only) */ |
62 | at91_register_uart(0, 0, 0); | 62 | at91_register_uart(0, 0, 0); |
@@ -452,7 +452,7 @@ static void __init ek_board_init(void) | |||
452 | MACHINE_START(AT91SAM9263EK, "Atmel AT91SAM9263-EK") | 452 | MACHINE_START(AT91SAM9263EK, "Atmel AT91SAM9263-EK") |
453 | /* Maintainer: Atmel */ | 453 | /* Maintainer: Atmel */ |
454 | .timer = &at91sam926x_timer, | 454 | .timer = &at91sam926x_timer, |
455 | .map_io = at91sam9263_map_io, | 455 | .map_io = at91_map_io, |
456 | .init_early = ek_init_early, | 456 | .init_early = ek_init_early, |
457 | .init_irq = ek_init_irq, | 457 | .init_irq = ek_init_irq, |
458 | .init_machine = ek_board_init, | 458 | .init_machine = ek_board_init, |
diff --git a/arch/arm/mach-at91/board-sam9g20ek.c b/arch/arm/mach-at91/board-sam9g20ek.c index 1325a50101a8..98e026ad8b78 100644 --- a/arch/arm/mach-at91/board-sam9g20ek.c +++ b/arch/arm/mach-at91/board-sam9g20ek.c | |||
@@ -64,7 +64,7 @@ static int inline ek_have_2mmc(void) | |||
64 | static void __init ek_init_early(void) | 64 | static 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 | at91_initialize(18432000); |
68 | 68 | ||
69 | /* DBGU on ttyS0. (Rx & Tx only) */ | 69 | /* DBGU on ttyS0. (Rx & Tx only) */ |
70 | at91_register_uart(0, 0, 0); | 70 | at91_register_uart(0, 0, 0); |
@@ -404,7 +404,7 @@ static void __init ek_board_init(void) | |||
404 | MACHINE_START(AT91SAM9G20EK, "Atmel AT91SAM9G20-EK") | 404 | MACHINE_START(AT91SAM9G20EK, "Atmel AT91SAM9G20-EK") |
405 | /* Maintainer: Atmel */ | 405 | /* Maintainer: Atmel */ |
406 | .timer = &at91sam926x_timer, | 406 | .timer = &at91sam926x_timer, |
407 | .map_io = at91sam9260_map_io, | 407 | .map_io = at91_map_io, |
408 | .init_early = ek_init_early, | 408 | .init_early = ek_init_early, |
409 | .init_irq = ek_init_irq, | 409 | .init_irq = ek_init_irq, |
410 | .init_machine = ek_board_init, | 410 | .init_machine = ek_board_init, |
@@ -413,7 +413,7 @@ MACHINE_END | |||
413 | MACHINE_START(AT91SAM9G20EK_2MMC, "Atmel AT91SAM9G20-EK 2 MMC Slot Mod") | 413 | MACHINE_START(AT91SAM9G20EK_2MMC, "Atmel AT91SAM9G20-EK 2 MMC Slot Mod") |
414 | /* Maintainer: Atmel */ | 414 | /* Maintainer: Atmel */ |
415 | .timer = &at91sam926x_timer, | 415 | .timer = &at91sam926x_timer, |
416 | .map_io = at91sam9260_map_io, | 416 | .map_io = at91_map_io, |
417 | .init_early = ek_init_early, | 417 | .init_early = ek_init_early, |
418 | .init_irq = ek_init_irq, | 418 | .init_irq = ek_init_irq, |
419 | .init_machine = ek_board_init, | 419 | .init_machine = ek_board_init, |
diff --git a/arch/arm/mach-at91/board-sam9m10g45ek.c b/arch/arm/mach-at91/board-sam9m10g45ek.c index 33eaa135f248..2df5d4140b15 100644 --- a/arch/arm/mach-at91/board-sam9m10g45ek.c +++ b/arch/arm/mach-at91/board-sam9m10g45ek.c | |||
@@ -50,7 +50,7 @@ | |||
50 | static void __init ek_init_early(void) | 50 | static 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 | at91_initialize(12000000); |
54 | 54 | ||
55 | /* DGBU on ttyS0. (Rx & Tx only) */ | 55 | /* DGBU on ttyS0. (Rx & Tx only) */ |
56 | at91_register_uart(0, 0, 0); | 56 | at91_register_uart(0, 0, 0); |
@@ -422,7 +422,7 @@ static void __init ek_board_init(void) | |||
422 | MACHINE_START(AT91SAM9M10G45EK, "Atmel AT91SAM9M10G45-EK") | 422 | MACHINE_START(AT91SAM9M10G45EK, "Atmel AT91SAM9M10G45-EK") |
423 | /* Maintainer: Atmel */ | 423 | /* Maintainer: Atmel */ |
424 | .timer = &at91sam926x_timer, | 424 | .timer = &at91sam926x_timer, |
425 | .map_io = at91sam9g45_map_io, | 425 | .map_io = at91_map_io, |
426 | .init_early = ek_init_early, | 426 | .init_early = ek_init_early, |
427 | .init_irq = ek_init_irq, | 427 | .init_irq = ek_init_irq, |
428 | .init_machine = ek_board_init, | 428 | .init_machine = ek_board_init, |
diff --git a/arch/arm/mach-at91/board-sam9rlek.c b/arch/arm/mach-at91/board-sam9rlek.c index effb399a80a6..defbca479c0e 100644 --- a/arch/arm/mach-at91/board-sam9rlek.c +++ b/arch/arm/mach-at91/board-sam9rlek.c | |||
@@ -41,7 +41,7 @@ | |||
41 | static void __init ek_init_early(void) | 41 | static 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 | at91_initialize(12000000); |
45 | 45 | ||
46 | /* DBGU on ttyS0. (Rx & Tx only) */ | 46 | /* DBGU on ttyS0. (Rx & Tx only) */ |
47 | at91_register_uart(0, 0, 0); | 47 | at91_register_uart(0, 0, 0); |
@@ -330,7 +330,7 @@ static void __init ek_board_init(void) | |||
330 | MACHINE_START(AT91SAM9RLEK, "Atmel AT91SAM9RL-EK") | 330 | MACHINE_START(AT91SAM9RLEK, "Atmel AT91SAM9RL-EK") |
331 | /* Maintainer: Atmel */ | 331 | /* Maintainer: Atmel */ |
332 | .timer = &at91sam926x_timer, | 332 | .timer = &at91sam926x_timer, |
333 | .map_io = at91sam9rl_map_io, | 333 | .map_io = at91_map_io, |
334 | .init_early = ek_init_early, | 334 | .init_early = ek_init_early, |
335 | .init_irq = ek_init_irq, | 335 | .init_irq = ek_init_irq, |
336 | .init_machine = ek_board_init, | 336 | .init_machine = ek_board_init, |
diff --git a/arch/arm/mach-at91/board-snapper9260.c b/arch/arm/mach-at91/board-snapper9260.c index 3eb0a1153cc8..c600b1491e44 100644 --- a/arch/arm/mach-at91/board-snapper9260.c +++ b/arch/arm/mach-at91/board-snapper9260.c | |||
@@ -42,7 +42,7 @@ | |||
42 | 42 | ||
43 | static void __init snapper9260_init_early(void) | 43 | static void __init snapper9260_init_early(void) |
44 | { | 44 | { |
45 | at91sam9260_initialize(18432000); | 45 | at91_initialize(18432000); |
46 | 46 | ||
47 | /* Debug on ttyS0 */ | 47 | /* Debug on ttyS0 */ |
48 | at91_register_uart(0, 0, 0); | 48 | at91_register_uart(0, 0, 0); |
@@ -179,7 +179,7 @@ static void __init snapper9260_board_init(void) | |||
179 | 179 | ||
180 | MACHINE_START(SNAPPER_9260, "Bluewater Systems Snapper 9260/9G20 module") | 180 | MACHINE_START(SNAPPER_9260, "Bluewater Systems Snapper 9260/9G20 module") |
181 | .timer = &at91sam926x_timer, | 181 | .timer = &at91sam926x_timer, |
182 | .map_io = at91sam9260_map_io, | 182 | .map_io = at91_map_io, |
183 | .init_early = snapper9260_init_early, | 183 | .init_early = snapper9260_init_early, |
184 | .init_irq = snapper9260_init_irq, | 184 | .init_irq = snapper9260_init_irq, |
185 | .init_machine = snapper9260_board_init, | 185 | .init_machine = snapper9260_board_init, |
diff --git a/arch/arm/mach-at91/board-stamp9g20.c b/arch/arm/mach-at91/board-stamp9g20.c index 5e5c85688f5f..e65efdaf9c4b 100644 --- a/arch/arm/mach-at91/board-stamp9g20.c +++ b/arch/arm/mach-at91/board-stamp9g20.c | |||
@@ -35,7 +35,7 @@ | |||
35 | void __init stamp9g20_init_early(void) | 35 | void __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 | at91_initialize(18432000); |
39 | 39 | ||
40 | /* DGBU on ttyS0. (Rx & Tx only) */ | 40 | /* DGBU on ttyS0. (Rx & Tx only) */ |
41 | at91_register_uart(0, 0, 0); | 41 | at91_register_uart(0, 0, 0); |
@@ -299,7 +299,7 @@ static void __init stamp9g20evb_board_init(void) | |||
299 | MACHINE_START(PORTUXG20, "taskit PortuxG20") | 299 | MACHINE_START(PORTUXG20, "taskit PortuxG20") |
300 | /* Maintainer: taskit GmbH */ | 300 | /* Maintainer: taskit GmbH */ |
301 | .timer = &at91sam926x_timer, | 301 | .timer = &at91sam926x_timer, |
302 | .map_io = at91sam9260_map_io, | 302 | .map_io = at91_map_io, |
303 | .init_early = portuxg20_init_early, | 303 | .init_early = portuxg20_init_early, |
304 | .init_irq = init_irq, | 304 | .init_irq = init_irq, |
305 | .init_machine = portuxg20_board_init, | 305 | .init_machine = portuxg20_board_init, |
@@ -308,7 +308,7 @@ MACHINE_END | |||
308 | MACHINE_START(STAMP9G20, "taskit Stamp9G20") | 308 | MACHINE_START(STAMP9G20, "taskit Stamp9G20") |
309 | /* Maintainer: taskit GmbH */ | 309 | /* Maintainer: taskit GmbH */ |
310 | .timer = &at91sam926x_timer, | 310 | .timer = &at91sam926x_timer, |
311 | .map_io = at91sam9260_map_io, | 311 | .map_io = at91_map_io, |
312 | .init_early = stamp9g20evb_init_early, | 312 | .init_early = stamp9g20evb_init_early, |
313 | .init_irq = init_irq, | 313 | .init_irq = init_irq, |
314 | .init_machine = stamp9g20evb_board_init, | 314 | .init_machine = stamp9g20evb_board_init, |
diff --git a/arch/arm/mach-at91/board-usb-a9260.c b/arch/arm/mach-at91/board-usb-a9260.c index 0e784e6fedec..afc3b04d877b 100644 --- a/arch/arm/mach-at91/board-usb-a9260.c +++ b/arch/arm/mach-at91/board-usb-a9260.c | |||
@@ -51,7 +51,7 @@ | |||
51 | static void __init ek_init_early(void) | 51 | static 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 | at91_initialize(12000000); |
55 | 55 | ||
56 | /* DBGU on ttyS0. (Rx & Tx only) */ | 56 | /* DBGU on ttyS0. (Rx & Tx only) */ |
57 | at91_register_uart(0, 0, 0); | 57 | at91_register_uart(0, 0, 0); |
@@ -229,7 +229,7 @@ static void __init ek_board_init(void) | |||
229 | MACHINE_START(USB_A9260, "CALAO USB_A9260") | 229 | MACHINE_START(USB_A9260, "CALAO USB_A9260") |
230 | /* Maintainer: calao-systems */ | 230 | /* Maintainer: calao-systems */ |
231 | .timer = &at91sam926x_timer, | 231 | .timer = &at91sam926x_timer, |
232 | .map_io = at91sam9260_map_io, | 232 | .map_io = at91_map_io, |
233 | .init_early = ek_init_early, | 233 | .init_early = ek_init_early, |
234 | .init_irq = ek_init_irq, | 234 | .init_irq = ek_init_irq, |
235 | .init_machine = ek_board_init, | 235 | .init_machine = ek_board_init, |
diff --git a/arch/arm/mach-at91/board-usb-a9263.c b/arch/arm/mach-at91/board-usb-a9263.c index cf626dd14b2c..25357e007a58 100644 --- a/arch/arm/mach-at91/board-usb-a9263.c +++ b/arch/arm/mach-at91/board-usb-a9263.c | |||
@@ -50,7 +50,7 @@ | |||
50 | static void __init ek_init_early(void) | 50 | static 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 | at91_initialize(12000000); |
54 | 54 | ||
55 | /* DBGU on ttyS0. (Rx & Tx only) */ | 55 | /* DBGU on ttyS0. (Rx & Tx only) */ |
56 | at91_register_uart(0, 0, 0); | 56 | at91_register_uart(0, 0, 0); |
@@ -245,7 +245,7 @@ static void __init ek_board_init(void) | |||
245 | MACHINE_START(USB_A9263, "CALAO USB_A9263") | 245 | MACHINE_START(USB_A9263, "CALAO USB_A9263") |
246 | /* Maintainer: calao-systems */ | 246 | /* Maintainer: calao-systems */ |
247 | .timer = &at91sam926x_timer, | 247 | .timer = &at91sam926x_timer, |
248 | .map_io = at91sam9263_map_io, | 248 | .map_io = at91_map_io, |
249 | .init_early = ek_init_early, | 249 | .init_early = ek_init_early, |
250 | .init_irq = ek_init_irq, | 250 | .init_irq = ek_init_irq, |
251 | .init_machine = ek_board_init, | 251 | .init_machine = ek_board_init, |
diff --git a/arch/arm/mach-at91/board-yl-9200.c b/arch/arm/mach-at91/board-yl-9200.c index c208cc334d7d..e8a8ab9d4ede 100644 --- a/arch/arm/mach-at91/board-yl-9200.c +++ b/arch/arm/mach-at91/board-yl-9200.c | |||
@@ -56,7 +56,7 @@ static void __init yl9200_init_early(void) | |||
56 | at91rm9200_set_type(ARCH_REVISON_9200_PQFP); | 56 | at91rm9200_set_type(ARCH_REVISON_9200_PQFP); |
57 | 57 | ||
58 | /* Initialize processor: 18.432 MHz crystal */ | 58 | /* Initialize processor: 18.432 MHz crystal */ |
59 | at91rm9200_initialize(18432000); | 59 | at91_initialize(18432000); |
60 | 60 | ||
61 | /* Setup the LEDs D2=PB17 (timer), D3=PB16 (cpu) */ | 61 | /* Setup the LEDs D2=PB17 (timer), D3=PB16 (cpu) */ |
62 | at91_init_leds(AT91_PIN_PB16, AT91_PIN_PB17); | 62 | at91_init_leds(AT91_PIN_PB16, AT91_PIN_PB17); |
@@ -599,7 +599,7 @@ static void __init yl9200_board_init(void) | |||
599 | MACHINE_START(YL9200, "uCdragon YL-9200") | 599 | MACHINE_START(YL9200, "uCdragon YL-9200") |
600 | /* Maintainer: S.Birtles */ | 600 | /* Maintainer: S.Birtles */ |
601 | .timer = &at91rm9200_timer, | 601 | .timer = &at91rm9200_timer, |
602 | .map_io = at91rm9200_map_io, | 602 | .map_io = at91_map_io, |
603 | .init_early = yl9200_init_early, | 603 | .init_early = yl9200_init_early, |
604 | .init_irq = yl9200_init_irq, | 604 | .init_irq = yl9200_init_irq, |
605 | .init_machine = yl9200_board_init, | 605 | .init_machine = yl9200_board_init, |
diff --git a/arch/arm/mach-at91/generic.h b/arch/arm/mach-at91/generic.h index 8ff3418f3430..3e9af0df13f0 100644 --- a/arch/arm/mach-at91/generic.h +++ b/arch/arm/mach-at91/generic.h | |||
@@ -11,25 +11,12 @@ | |||
11 | #include <linux/clkdev.h> | 11 | #include <linux/clkdev.h> |
12 | 12 | ||
13 | /* Map io */ | 13 | /* Map io */ |
14 | extern void __init at91rm9200_map_io(void); | 14 | extern void __init at91_map_io(void); |
15 | extern void __init at91sam9260_map_io(void); | ||
16 | extern void __init at91sam9261_map_io(void); | ||
17 | extern void __init at91sam9263_map_io(void); | ||
18 | extern void __init at91sam9rl_map_io(void); | ||
19 | extern void __init at91sam9g45_map_io(void); | ||
20 | extern void __init at91x40_map_io(void); | ||
21 | extern void __init at91cap9_map_io(void); | ||
22 | 15 | ||
23 | /* Processors */ | 16 | /* Processors */ |
24 | extern void __init at91rm9200_set_type(int type); | 17 | extern void __init at91rm9200_set_type(int type); |
25 | extern void __init at91rm9200_initialize(unsigned long main_clock); | 18 | extern void __init at91_initialize(unsigned long main_clock); |
26 | extern void __init at91sam9260_initialize(unsigned long main_clock); | ||
27 | extern void __init at91sam9261_initialize(unsigned long main_clock); | ||
28 | extern void __init at91sam9263_initialize(unsigned long main_clock); | ||
29 | extern void __init at91sam9rl_initialize(unsigned long main_clock); | ||
30 | extern void __init at91sam9g45_initialize(unsigned long main_clock); | ||
31 | extern void __init at91x40_initialize(unsigned long main_clock); | 19 | extern void __init at91x40_initialize(unsigned long main_clock); |
32 | extern void __init at91cap9_initialize(unsigned long main_clock); | ||
33 | 20 | ||
34 | /* Interrupts */ | 21 | /* Interrupts */ |
35 | extern void __init at91rm9200_init_interrupts(unsigned int priority[]); | 22 | extern void __init at91rm9200_init_interrupts(unsigned int priority[]); |
diff --git a/arch/arm/mach-at91/include/mach/at91cap9.h b/arch/arm/mach-at91/include/mach/at91cap9.h index 665993849a7b..c5df1e8f1955 100644 --- a/arch/arm/mach-at91/include/mach/at91cap9.h +++ b/arch/arm/mach-at91/include/mach/at91cap9.h | |||
@@ -75,7 +75,6 @@ | |||
75 | #define AT91CAP9_BASE_EMAC 0xfffbc000 | 75 | #define AT91CAP9_BASE_EMAC 0xfffbc000 |
76 | #define AT91CAP9_BASE_ADC 0xfffc0000 | 76 | #define AT91CAP9_BASE_ADC 0xfffc0000 |
77 | #define AT91CAP9_BASE_ISI 0xfffc4000 | 77 | #define AT91CAP9_BASE_ISI 0xfffc4000 |
78 | #define AT91_BASE_SYS 0xffffe200 | ||
79 | 78 | ||
80 | /* | 79 | /* |
81 | * System Peripherals (offset from AT91_BASE_SYS) | 80 | * System Peripherals (offset from AT91_BASE_SYS) |
diff --git a/arch/arm/mach-at91/include/mach/at91rm9200.h b/arch/arm/mach-at91/include/mach/at91rm9200.h index 99e0f8d02d7b..e4037b500302 100644 --- a/arch/arm/mach-at91/include/mach/at91rm9200.h +++ b/arch/arm/mach-at91/include/mach/at91rm9200.h | |||
@@ -74,7 +74,6 @@ | |||
74 | #define AT91RM9200_BASE_SSC1 0xfffd4000 | 74 | #define AT91RM9200_BASE_SSC1 0xfffd4000 |
75 | #define AT91RM9200_BASE_SSC2 0xfffd8000 | 75 | #define AT91RM9200_BASE_SSC2 0xfffd8000 |
76 | #define AT91RM9200_BASE_SPI 0xfffe0000 | 76 | #define AT91RM9200_BASE_SPI 0xfffe0000 |
77 | #define AT91_BASE_SYS 0xfffff000 | ||
78 | 77 | ||
79 | 78 | ||
80 | /* | 79 | /* |
diff --git a/arch/arm/mach-at91/include/mach/at91sam9260.h b/arch/arm/mach-at91/include/mach/at91sam9260.h index 8b6bf835cd73..9a791165913f 100644 --- a/arch/arm/mach-at91/include/mach/at91sam9260.h +++ b/arch/arm/mach-at91/include/mach/at91sam9260.h | |||
@@ -76,7 +76,6 @@ | |||
76 | #define AT91SAM9260_BASE_TC4 0xfffdc040 | 76 | #define AT91SAM9260_BASE_TC4 0xfffdc040 |
77 | #define AT91SAM9260_BASE_TC5 0xfffdc080 | 77 | #define AT91SAM9260_BASE_TC5 0xfffdc080 |
78 | #define AT91SAM9260_BASE_ADC 0xfffe0000 | 78 | #define AT91SAM9260_BASE_ADC 0xfffe0000 |
79 | #define AT91_BASE_SYS 0xffffe800 | ||
80 | 79 | ||
81 | /* | 80 | /* |
82 | * System Peripherals (offset from AT91_BASE_SYS) | 81 | * System Peripherals (offset from AT91_BASE_SYS) |
diff --git a/arch/arm/mach-at91/include/mach/at91sam9261.h b/arch/arm/mach-at91/include/mach/at91sam9261.h index eafbddaf523c..ce596204cefa 100644 --- a/arch/arm/mach-at91/include/mach/at91sam9261.h +++ b/arch/arm/mach-at91/include/mach/at91sam9261.h | |||
@@ -60,7 +60,6 @@ | |||
60 | #define AT91SAM9261_BASE_SSC2 0xfffc4000 | 60 | #define AT91SAM9261_BASE_SSC2 0xfffc4000 |
61 | #define AT91SAM9261_BASE_SPI0 0xfffc8000 | 61 | #define AT91SAM9261_BASE_SPI0 0xfffc8000 |
62 | #define AT91SAM9261_BASE_SPI1 0xfffcc000 | 62 | #define AT91SAM9261_BASE_SPI1 0xfffcc000 |
63 | #define AT91_BASE_SYS 0xffffea00 | ||
64 | 63 | ||
65 | 64 | ||
66 | /* | 65 | /* |
diff --git a/arch/arm/mach-at91/include/mach/at91sam9263.h b/arch/arm/mach-at91/include/mach/at91sam9263.h index e2d348213a7b..f1b92961a2b1 100644 --- a/arch/arm/mach-at91/include/mach/at91sam9263.h +++ b/arch/arm/mach-at91/include/mach/at91sam9263.h | |||
@@ -70,7 +70,6 @@ | |||
70 | #define AT91SAM9263_BASE_EMAC 0xfffbc000 | 70 | #define AT91SAM9263_BASE_EMAC 0xfffbc000 |
71 | #define AT91SAM9263_BASE_ISI 0xfffc4000 | 71 | #define AT91SAM9263_BASE_ISI 0xfffc4000 |
72 | #define AT91SAM9263_BASE_2DGE 0xfffc8000 | 72 | #define AT91SAM9263_BASE_2DGE 0xfffc8000 |
73 | #define AT91_BASE_SYS 0xffffe000 | ||
74 | 73 | ||
75 | /* | 74 | /* |
76 | * System Peripherals (offset from AT91_BASE_SYS) | 75 | * System Peripherals (offset from AT91_BASE_SYS) |
diff --git a/arch/arm/mach-at91/include/mach/at91sam9g45.h b/arch/arm/mach-at91/include/mach/at91sam9g45.h index 659304aa73d9..2c611b9a0138 100644 --- a/arch/arm/mach-at91/include/mach/at91sam9g45.h +++ b/arch/arm/mach-at91/include/mach/at91sam9g45.h | |||
@@ -82,7 +82,6 @@ | |||
82 | #define AT91SAM9G45_BASE_TC3 0xfffd4000 | 82 | #define AT91SAM9G45_BASE_TC3 0xfffd4000 |
83 | #define AT91SAM9G45_BASE_TC4 0xfffd4040 | 83 | #define AT91SAM9G45_BASE_TC4 0xfffd4040 |
84 | #define AT91SAM9G45_BASE_TC5 0xfffd4080 | 84 | #define AT91SAM9G45_BASE_TC5 0xfffd4080 |
85 | #define AT91_BASE_SYS 0xffffe200 | ||
86 | 85 | ||
87 | /* | 86 | /* |
88 | * System Peripherals (offset from AT91_BASE_SYS) | 87 | * System Peripherals (offset from AT91_BASE_SYS) |
diff --git a/arch/arm/mach-at91/include/mach/at91sam9rl.h b/arch/arm/mach-at91/include/mach/at91sam9rl.h index 41dbbe61055c..1aabacd315d4 100644 --- a/arch/arm/mach-at91/include/mach/at91sam9rl.h +++ b/arch/arm/mach-at91/include/mach/at91sam9rl.h | |||
@@ -64,7 +64,6 @@ | |||
64 | #define AT91SAM9RL_BASE_TSC 0xfffd0000 | 64 | #define AT91SAM9RL_BASE_TSC 0xfffd0000 |
65 | #define AT91SAM9RL_BASE_UDPHS 0xfffd4000 | 65 | #define AT91SAM9RL_BASE_UDPHS 0xfffd4000 |
66 | #define AT91SAM9RL_BASE_AC97C 0xfffd8000 | 66 | #define AT91SAM9RL_BASE_AC97C 0xfffd8000 |
67 | #define AT91_BASE_SYS 0xffffc000 | ||
68 | 67 | ||
69 | 68 | ||
70 | /* | 69 | /* |
diff --git a/arch/arm/mach-at91/include/mach/hardware.h b/arch/arm/mach-at91/include/mach/hardware.h index 1008b9fb5074..483478d8be6b 100644 --- a/arch/arm/mach-at91/include/mach/hardware.h +++ b/arch/arm/mach-at91/include/mach/hardware.h | |||
@@ -36,6 +36,20 @@ | |||
36 | #error "Unsupported AT91 processor" | 36 | #error "Unsupported AT91 processor" |
37 | #endif | 37 | #endif |
38 | 38 | ||
39 | #if !defined(CONFIG_ARCH_AT91X40) | ||
40 | /* | ||
41 | * On all at91 except rm9200 and x40 have the System Controller starts | ||
42 | * at address 0xffffc000 and has a size of 16KiB. | ||
43 | * | ||
44 | * On rm9200 it's start at 0xfffe4000 of 111KiB with non reserved data starting | ||
45 | * at 0xfffff000 | ||
46 | * | ||
47 | * Removes the individual definitions of AT91_BASE_SYS and | ||
48 | * replaces them with a common version at base 0xfffffc000 and size 16KiB | ||
49 | * and map the same memory space | ||
50 | */ | ||
51 | #define AT91_BASE_SYS 0xffffc000 | ||
52 | #endif | ||
39 | 53 | ||
40 | /* | 54 | /* |
41 | * Peripheral identifiers/interrupts. | 55 | * Peripheral identifiers/interrupts. |
diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c new file mode 100644 index 000000000000..096eb9805212 --- /dev/null +++ b/arch/arm/mach-at91/setup.c | |||
@@ -0,0 +1,63 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2007 Atmel Corporation. | ||
3 | * Copyright (C) 2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
4 | * | ||
5 | * Under GPLv2 | ||
6 | */ | ||
7 | |||
8 | #include <linux/module.h> | ||
9 | #include <linux/io.h> | ||
10 | |||
11 | #include <asm/mach/map.h> | ||
12 | |||
13 | #include <mach/hardware.h> | ||
14 | #include <mach/cpu.h> | ||
15 | |||
16 | #include "soc.h" | ||
17 | #include "generic.h" | ||
18 | |||
19 | struct at91_soc __initdata at91_boot_soc; | ||
20 | |||
21 | static struct map_desc at91_io_desc __initdata = { | ||
22 | .virtual = AT91_VA_BASE_SYS, | ||
23 | .pfn = __phys_to_pfn(AT91_BASE_SYS), | ||
24 | .length = SZ_16K, | ||
25 | .type = MT_DEVICE, | ||
26 | }; | ||
27 | |||
28 | void __init at91_map_io(void) | ||
29 | { | ||
30 | /* Map peripherals */ | ||
31 | iotable_init(&at91_io_desc, 1); | ||
32 | |||
33 | if (cpu_is_at91cap9()) | ||
34 | at91_boot_soc = at91cap9_soc; | ||
35 | else if (cpu_is_at91rm9200()) | ||
36 | at91_boot_soc = at91rm9200_soc; | ||
37 | else if (cpu_is_at91sam9260()) | ||
38 | at91_boot_soc = at91sam9260_soc; | ||
39 | else if (cpu_is_at91sam9261()) | ||
40 | at91_boot_soc = at91sam9261_soc; | ||
41 | else if (cpu_is_at91sam9263()) | ||
42 | at91_boot_soc = at91sam9263_soc; | ||
43 | else if (cpu_is_at91sam9g10()) | ||
44 | at91_boot_soc = at91sam9261_soc; | ||
45 | else if (cpu_is_at91sam9g20()) | ||
46 | at91_boot_soc = at91sam9260_soc; | ||
47 | else if (cpu_is_at91sam9g45()) | ||
48 | at91_boot_soc = at91sam9g45_soc; | ||
49 | else if (cpu_is_at91sam9rl()) | ||
50 | at91_boot_soc = at91sam9rl_soc; | ||
51 | else if (cpu_is_at91sam9x5()) | ||
52 | at91_boot_soc = at91sam9x5_soc; | ||
53 | else | ||
54 | panic("Impossible to detect the SOC type"); | ||
55 | |||
56 | if (at91_boot_soc.map_io) | ||
57 | at91_boot_soc.map_io(); | ||
58 | } | ||
59 | |||
60 | void __init at91_initialize(unsigned long main_clock) | ||
61 | { | ||
62 | at91_boot_soc.init(main_clock); | ||
63 | } | ||
diff --git a/arch/arm/mach-at91/soc.h b/arch/arm/mach-at91/soc.h new file mode 100644 index 000000000000..6d7a18f5a48f --- /dev/null +++ b/arch/arm/mach-at91/soc.h | |||
@@ -0,0 +1,20 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
3 | * | ||
4 | * Under GPLv2 | ||
5 | */ | ||
6 | |||
7 | struct at91_soc { | ||
8 | void (*map_io)(void); | ||
9 | void (*init)(unsigned long main_clock); | ||
10 | }; | ||
11 | |||
12 | extern struct at91_soc at91_boot_soc; | ||
13 | extern struct at91_soc at91cap9_soc; | ||
14 | extern struct at91_soc at91rm9200_soc; | ||
15 | extern struct at91_soc at91sam9260_soc; | ||
16 | extern struct at91_soc at91sam9261_soc; | ||
17 | extern struct at91_soc at91sam9263_soc; | ||
18 | extern struct at91_soc at91sam9g45_soc; | ||
19 | extern struct at91_soc at91sam9rl_soc; | ||
20 | extern struct at91_soc at91sam9x5_soc; | ||