Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -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 = {
		.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,
	},
	},
};
};


+4 −1
Original line number Original line Diff line number Diff line
@@ -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 */


+1 −1
Original line number Original line Diff line number Diff line
@@ -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