Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
memory.h
Go to the documentation of this file.
1 /*
2  * arch/arm/mach-sa1100/include/mach/memory.h
3  *
4  * Copyright (C) 1999-2000 Nicolas Pitre <[email protected]>
5  */
6 
7 #ifndef __ASM_ARCH_MEMORY_H
8 #define __ASM_ARCH_MEMORY_H
9 
10 #include <asm/sizes.h>
11 
12 /*
13  * Physical DRAM offset is 0xc0000000 on the SA1100
14  */
15 #define PLAT_PHYS_OFFSET UL(0xc0000000)
16 
17 /*
18  * Because of the wide memory address space between physical RAM banks on the
19  * SA1100, it's much convenient to use Linux's SparseMEM support to implement
20  * our memory map representation. Assuming all memory nodes have equal access
21  * characteristics, we then have generic discontiguous memory support.
22  *
23  * The sparsemem banks are matched with the physical memory bank addresses
24  * which are incidentally the same as virtual addresses.
25  *
26  * node 0: 0xc0000000 - 0xc7ffffff
27  * node 1: 0xc8000000 - 0xcfffffff
28  * node 2: 0xd0000000 - 0xd7ffffff
29  * node 3: 0xd8000000 - 0xdfffffff
30  */
31 #define MAX_PHYSMEM_BITS 32
32 #define SECTION_SIZE_BITS 27
33 
34 /*
35  * Cache flushing area - SA1100 zero bank
36  */
37 #define FLUSH_BASE_PHYS 0xe0000000
38 #define FLUSH_BASE 0xf5000000
39 #define FLUSH_BASE_MINICACHE 0xf5100000
40 
41 #endif