aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-at91/at91cap9.c
diff options
context:
space:
mode:
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2011-04-23 03:28:34 -0400
committerArnd Bergmann <arnd@arndb.de>2011-07-28 11:07:28 -0400
commit21d08b9d5536ac418bbce4f419fe2b528b7ddf31 (patch)
treef1a1bbf5645d933799e31d93365458826dfadea6 /arch/arm/mach-at91/at91cap9.c
parent02f8c6aee8df3cdc935e9bdd4f2d020306035dbe (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>
Diffstat (limited to 'arch/arm/mach-at91/at91cap9.c')
-rw-r--r--arch/arm/mach-at91/at91cap9.c21
1 files changed, 10 insertions, 11 deletions
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
31static struct map_desc at91cap9_io_desc[] __initdata = { 32static 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
342void __init at91cap9_map_io(void) 338static 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
348void __init at91cap9_initialize(unsigned long main_clock) 343static 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
418struct at91_soc __initdata at91cap9_soc = {
419 .map_io = at91cap9_map_io,
420 .init = at91cap9_initialize,
421};