aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Victor <andrew@sanpeople.com>2006-06-19 10:26:51 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-06-19 10:26:51 -0400
commit10e8e1fb758eed5cfb0cae1b770f842624851e7b (patch)
tree3276408aedaf5b1061c7f681ad5ea6dcf89925c2
parent2a6f9902c6a799a9c0218b37e39b75690c3b9a70 (diff)
[ARM] 3581/1: AT91RM9200 Internal SRAM
Patch from Andrew Victor This patch maps the AT91RM9200's internal SRAM into the virtual memory address space - just below the internal peripheral registers. Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/mach-at91rm9200/common.c6
-rw-r--r--include/asm-arm/arch-at91rm9200/hardware.h5
-rw-r--r--include/asm-arm/arch-at91rm9200/vmalloc.h2
3 files changed, 11 insertions, 2 deletions
diff --git a/arch/arm/mach-at91rm9200/common.c b/arch/arm/mach-at91rm9200/common.c
index 3848fd2d5596..40d29a73b5c5 100644
--- a/arch/arm/mach-at91rm9200/common.c
+++ b/arch/arm/mach-at91rm9200/common.c
@@ -17,6 +17,7 @@
17#include <asm/mach/map.h> 17#include <asm/mach/map.h>
18 18
19#include <asm/arch/hardware.h> 19#include <asm/arch/hardware.h>
20#include "generic.h"
20 21
21static struct map_desc at91rm9200_io_desc[] __initdata = { 22static struct map_desc at91rm9200_io_desc[] __initdata = {
22 { 23 {
@@ -94,6 +95,11 @@ static struct map_desc at91rm9200_io_desc[] __initdata = {
94 .pfn = __phys_to_pfn(AT91_BASE_TCB0), 95 .pfn = __phys_to_pfn(AT91_BASE_TCB0),
95 .length = SZ_16K, 96 .length = SZ_16K,
96 .type = MT_DEVICE, 97 .type = MT_DEVICE,
98 }, {
99 .virtual = AT91_SRAM_VIRT_BASE,
100 .pfn = __phys_to_pfn(AT91_SRAM_BASE),
101 .length = AT91_SRAM_SIZE,
102 .type = MT_DEVICE,
97 }, 103 },
98}; 104};
99 105
diff --git a/include/asm-arm/arch-at91rm9200/hardware.h b/include/asm-arm/arch-at91rm9200/hardware.h
index 59e6f44d3a0d..87f40df57140 100644
--- a/include/asm-arm/arch-at91rm9200/hardware.h
+++ b/include/asm-arm/arch-at91rm9200/hardware.h
@@ -50,9 +50,12 @@
50#define AT91_VA_BASE_TCB0 AT91_IO_P2V(AT91_BASE_TCB0) 50#define AT91_VA_BASE_TCB0 AT91_IO_P2V(AT91_BASE_TCB0)
51 51
52/* Internal SRAM */ 52/* Internal SRAM */
53#define AT91_BASE_SRAM 0x00200000 /* Internal SRAM base address */ 53#define AT91_SRAM_BASE 0x00200000 /* Internal SRAM base address */
54#define AT91_SRAM_SIZE 0x00004000 /* Internal SRAM SIZE (16Kb) */ 54#define AT91_SRAM_SIZE 0x00004000 /* Internal SRAM SIZE (16Kb) */
55 55
56 /* Internal SRAM is mapped below the IO devices */
57#define AT91_SRAM_VIRT_BASE (AT91_IO_VIRT_BASE - AT91_SRAM_SIZE)
58
56/* Serial ports */ 59/* Serial ports */
57#define AT91_NR_UART 5 /* 4 USART3's and one DBGU port */ 60#define AT91_NR_UART 5 /* 4 USART3's and one DBGU port */
58 61
diff --git a/include/asm-arm/arch-at91rm9200/vmalloc.h b/include/asm-arm/arch-at91rm9200/vmalloc.h
index 34d9718feb90..4c367eb57f47 100644
--- a/include/asm-arm/arch-at91rm9200/vmalloc.h
+++ b/include/asm-arm/arch-at91rm9200/vmalloc.h
@@ -21,6 +21,6 @@
21#ifndef __ASM_ARCH_VMALLOC_H 21#ifndef __ASM_ARCH_VMALLOC_H
22#define __ASM_ARCH_VMALLOC_H 22#define __ASM_ARCH_VMALLOC_H
23 23
24#define VMALLOC_END (AT91_IO_VIRT_BASE & PGDIR_MASK) 24#define VMALLOC_END (AT91_SRAM_VIRT_BASE & PGDIR_MASK)
25 25
26#endif 26#endif