diff options
| author | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2011-04-23 03:28:34 -0400 |
|---|---|---|
| committer | Arnd Bergmann <arnd@arndb.de> | 2011-07-28 11:07:28 -0400 |
| commit | 21d08b9d5536ac418bbce4f419fe2b528b7ddf31 (patch) | |
| tree | f1a1bbf5645d933799e31d93365458826dfadea6 | |
| parent | 02f8c6aee8df3cdc935e9bdd4f2d020306035dbe (diff) | |
at91: introduce commom AT91_BASE_SYS
On all at91 except rm9200 and x40 have the System Controller starts
at address 0xffffc000 and has a size of 16KiB.
On rm9200 it's start at 0xfffe4000 of 111KiB with non reserved data starting
at 0xfffff000
This patch removes the individual definitions of AT91_BASE_SYS and
replaces them with a common version at base 0xfffffc000 and size 16KiB
and map the same memory space
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
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; | ||
