Commit 10e8e1fb authored by Andrew Victor's avatar Andrew Victor Committed by Russell King

[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: default avatarAndrew Victor <andrew@sanpeople.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 2a6f9902
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include <asm/mach/map.h> #include <asm/mach/map.h>
#include <asm/arch/hardware.h> #include <asm/arch/hardware.h>
#include "generic.h"
static struct map_desc at91rm9200_io_desc[] __initdata = { static struct map_desc at91rm9200_io_desc[] __initdata = {
{ {
...@@ -94,6 +95,11 @@ static struct map_desc at91rm9200_io_desc[] __initdata = { ...@@ -94,6 +95,11 @@ static struct map_desc at91rm9200_io_desc[] __initdata = {
.pfn = __phys_to_pfn(AT91_BASE_TCB0), .pfn = __phys_to_pfn(AT91_BASE_TCB0),
.length = SZ_16K, .length = SZ_16K,
.type = MT_DEVICE, .type = MT_DEVICE,
}, {
.virtual = AT91_SRAM_VIRT_BASE,
.pfn = __phys_to_pfn(AT91_SRAM_BASE),
.length = AT91_SRAM_SIZE,
.type = MT_DEVICE,
}, },
}; };
......
...@@ -50,9 +50,12 @@ ...@@ -50,9 +50,12 @@
#define AT91_VA_BASE_TCB0 AT91_IO_P2V(AT91_BASE_TCB0) #define AT91_VA_BASE_TCB0 AT91_IO_P2V(AT91_BASE_TCB0)
/* Internal SRAM */ /* Internal SRAM */
#define AT91_BASE_SRAM 0x00200000 /* Internal SRAM base address */ #define AT91_SRAM_BASE 0x00200000 /* Internal SRAM base address */
#define AT91_SRAM_SIZE 0x00004000 /* Internal SRAM SIZE (16Kb) */ #define AT91_SRAM_SIZE 0x00004000 /* Internal SRAM SIZE (16Kb) */
/* Internal SRAM is mapped below the IO devices */
#define AT91_SRAM_VIRT_BASE (AT91_IO_VIRT_BASE - AT91_SRAM_SIZE)
/* Serial ports */ /* Serial ports */
#define AT91_NR_UART 5 /* 4 USART3's and one DBGU port */ #define AT91_NR_UART 5 /* 4 USART3's and one DBGU port */
......
...@@ -21,6 +21,6 @@ ...@@ -21,6 +21,6 @@
#ifndef __ASM_ARCH_VMALLOC_H #ifndef __ASM_ARCH_VMALLOC_H
#define __ASM_ARCH_VMALLOC_H #define __ASM_ARCH_VMALLOC_H
#define VMALLOC_END (AT91_IO_VIRT_BASE & PGDIR_MASK) #define VMALLOC_END (AT91_SRAM_VIRT_BASE & PGDIR_MASK)
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment