EDK2 doxygen online documents - Firmware Encoding Index 1
EDK2 doxygen online documents - Firmware Encoding Index

S3C24xxPkg/Sec/include/platform/s3c2410_gen_memmap.h

Go to the documentation of this file.
00001 /* 
00002  * vivi/include/sa1100_gen_memmap.h: generic memory map for SA1100
00003  *
00004  * Copyright (C) 2002 MIZI Research, Inc.
00005  *
00006  * Author: Janghoon Lyu <nandy@mizi.com>
00007  * Date  : $Date: 2004/02/04 06:22:25 $
00008  *
00009  * $Revision: 1.1.1.1 $
00010  *
00011  *
00012  * Specification of the machine
00013  *   - CPU: SA-1110
00014  *   - MEM: 32MB (bank 0)
00015  *   - ROM: 32MB (Inte Starata Flash Memory)
00016  *   - got UART ports
00017  *
00018  *
00019  *  RAM (DRAM)
00020  *
00021  *  0xC200 0000 +------------------------------------+
00022  *              |   boot loader (size: 1M)           |
00023  *  0xC1F0 0000 +------------------------------------+
00024  *              |   heap area (size: 1M)             |
00025  *  0xC1E0 0000 +------------------------------------+
00026  *              |   mmu table (size: 16k)            |
00027  *  0xC1DF C000 +------------------------------------+ -----\
00028  *              |   linux command line  (size: 16k)  |       |
00029  *  0xC1DF 8000 +------------------------------------+       |
00030  *              |   vivi parameter table (size: 16k) |   vivi private data
00031  *  0xC1DF 4000 +------------------------------------+       |
00032  *              |   mtd partition table (size: 16k)  |       |
00033  *  0xC1DF 0000 +------------------------------------+ -----/
00034  *              |   stack area (size: 32k)           |
00035  *  0xC1DE 8000 +------------------------------------+
00036  *              |                                    |
00037  *              |                                    |
00038  *              |   free memory                      |
00039  *              |                                    |
00040  *              |                                    |
00041  *  0xC000 0000 +------------------------------------+
00042  *
00043  *
00044  *
00045  *  ROM (NOR Flash)
00046  *
00047  *  0x0200 0000 +-----------------------------+
00048  *              |  (stored) vivi private data |
00049  *  0x01fc 0000 +-----------------------------+
00050  *              |                             |
00051  *              |   usr (size: 29.5M)         |
00052  *              |                             |
00053  *  0x0024 0000 +-----------------------------+
00054  *              |   root (size: 1289k)        |
00055  *  0x0010 0000 +-----------------------------+
00056  *              |   kernel (size: 728k)       |
00057  *  0x0004 0000 +-----------------------------+
00058  *              |   boot loader (size: 256k)  |
00059  *  0x0000 0000 +-----------------------------+
00060  *
00061  */
00062 
00063 #include "sizes.h"
00064 
00065 #define ROM_BASE0               0x00000000      /* base address of rom bank 0 */
00066 #define ROM_BASE1               0x08000000      /* base address of rom bank 1 */
00067 #define DRAM_BASE0              0x30000000      /* base address of dram bank 0 */
00068 #define DRAM_BASE1              0x38000000      /* base address of dram bank 1 */
00069 
00070 /* Global definitions */
00071 #define FLASH_BASE              ROM_BASE0
00072 #define FLASH_SIZE              SZ_32M
00073 #define FLASH_UNCACHED_BASE     0x10000000      /* to mapping flash memory */
00074 #define FLASH_BUSWIDTH          4
00075 
00076 #define DRAM_BASE               DRAM_BASE0
00077 #define DRAM_SIZE               SZ_64M
00078 
00079 #define MTD_PART_SIZE           SZ_16K
00080 #define MTD_PART_OFFSET         0x00000000
00081 #define PARAMETER_TLB_SIZE      SZ_16K
00082 #define PARAMETER_TLB_OFFSET    0x00004000
00083 #define LINUX_CMD_SIZE          SZ_16K
00084 #define LINUX_CMD_OFFSET        0x00008000
00085 #define VIVI_PRIV_SIZE          (MTD_PART_SIZE + PARAMETER_TLB_SIZE + LINUX_CMD_SIZE)
00086 
00087 /* ROM */
00088 #define VIVI_ROM_BASE           0x00000000
00089 #define VIVI_PRIV_ROM_BASE      0x01FC0000
00090 
00091 /* RAM */
00092 #define VIVI_RAM_SIZE           SZ_1M
00093 #define VIVI_RAM_BASE           (DRAM_BASE + DRAM_SIZE - VIVI_RAM_SIZE)
00094 #define HEAP_SIZE               SZ_1M
00095 #define HEAP_BASE               (VIVI_RAM_BASE - HEAP_SIZE)
00096 #define MMU_TABLE_SIZE          SZ_16K
00097 #define MMU_TABLE_BASE          (HEAP_BASE - MMU_TABLE_SIZE)
00098 #define VIVI_PRIV_RAM_BASE      (MMU_TABLE_BASE - VIVI_PRIV_SIZE)
00099 #define STACK_SIZE              SZ_32K
00100 #define STACK_BASE              (VIVI_PRIV_RAM_BASE - STACK_SIZE)
00101 #define RAM_SIZE                (STACK_BASE - DRAM_BASE)
00102 #define RAM_BASE                DRAM_BASE
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Defines