]>
Commit | Line | Data |
---|---|---|
1d5d0ae9 | 1 | /** @file\r |
2 | * Header defining Versatile Express constants (Base addresses, sizes, flags)\r | |
3 | *\r | |
4 | * Copyright (c) 2011, ARM Limited. All rights reserved.\r | |
1d5d0ae9 | 5 | *\r |
76bc1743 | 6 | * This program and the accompanying materials\r |
7 | * are licensed and made available under the terms and conditions of the BSD License\r | |
8 | * which accompanies this distribution. The full text of the license may be found at\r | |
9 | * http://opensource.org/licenses/bsd-license.php\r | |
10 | *\r | |
11 | * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r | |
12 | * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r | |
1d5d0ae9 | 13 | *\r |
14 | **/\r | |
15 | \r | |
16 | #ifndef __ARM_VEXPRESS_H__\r | |
17 | #define __ARM_VEXPRESS_H__\r | |
18 | \r | |
76bc1743 | 19 | #include <Base.h>\r |
20 | #include <VExpressMotherBoard.h>\r | |
21 | \r | |
22 | /***********************************************************************************\r | |
1d5d0ae9 | 23 | // Platform Memory Map\r |
76bc1743 | 24 | ************************************************************************************/\r |
1d5d0ae9 | 25 | \r |
26 | // Can be NOR0, NOR1, DRAM\r | |
27 | #define ARM_VE_REMAP_BASE 0x00000000\r | |
76bc1743 | 28 | #define ARM_VE_REMAP_SZ SIZE_64MB\r |
1d5d0ae9 | 29 | \r |
30 | // Motherboard Peripheral and On-chip peripheral\r | |
31 | #define ARM_VE_SMB_MB_ON_CHIP_PERIPH_BASE 0x10000000\r | |
76bc1743 | 32 | #define ARM_VE_SMB_MB_ON_CHIP_PERIPH_SZ SIZE_256MB\r |
1d5d0ae9 | 33 | #define ARM_VE_BOARD_PERIPH_BASE 0x10000000\r |
34 | #define ARM_VE_CHIP_PERIPH_BASE 0x10020000\r | |
35 | \r | |
36 | // SMC\r | |
37 | #define ARM_VE_SMC_BASE 0x40000000\r | |
38 | #define ARM_VE_SMC_SZ 0x1C000000\r | |
39 | \r | |
40 | // NOR Flash 1\r | |
41 | #define ARM_VE_SMB_NOR0_BASE 0x40000000\r | |
76bc1743 | 42 | #define ARM_VE_SMB_NOR0_SZ SIZE_64MB\r |
1d5d0ae9 | 43 | // NOR Flash 2\r |
44 | #define ARM_VE_SMB_NOR1_BASE 0x44000000\r | |
76bc1743 | 45 | #define ARM_VE_SMB_NOR1_SZ SIZE_64MB\r |
1d5d0ae9 | 46 | // SRAM\r |
47 | #define ARM_VE_SMB_SRAM_BASE 0x48000000\r | |
76bc1743 | 48 | #define ARM_VE_SMB_SRAM_SZ SIZE_32MB\r |
1d5d0ae9 | 49 | // USB, Ethernet, VRAM\r |
50 | #define ARM_VE_SMB_PERIPH_BASE 0x4C000000\r | |
76bc1743 | 51 | #define PL111_CLCD_VRAM_MOTHERBOARD_BASE ARM_VE_SMB_PERIPH_BASE\r |
52 | #define ARM_VE_SMB_PERIPH_SZ SIZE_64MB\r | |
1d5d0ae9 | 53 | \r |
54 | // DRAM\r | |
c357fd6a OM |
55 | #define ARM_VE_DRAM_BASE PcdGet64 (PcdSystemMemoryBase)\r |
56 | #define ARM_VE_DRAM_SZ PcdGet64 (PcdSystemMemorySize)\r | |
7d0f2f23 | 57 | // Inside the DRAM we allocate a section for the VRAM (Video RAM)\r |
5cc45b70 | 58 | #define LCD_VRAM_CORE_TILE_BASE 0x64000000\r |
1d5d0ae9 | 59 | \r |
60 | // External AXI between daughterboards (Logic Tile)\r | |
61 | #define ARM_VE_EXT_AXI_BASE 0xE0000000\r | |
76bc1743 | 62 | #define ARM_VE_EXT_AXI_SZ 0x20000000 /* 512 MB */\r |
63 | \r | |
64 | \r | |
65 | /***********************************************************************************\r | |
66 | Core Tile memory-mapped Peripherals\r | |
67 | ************************************************************************************/\r | |
68 | \r | |
69 | // PL111 Colour LCD Controller - core tile\r | |
70 | #define PL111_CLCD_CORE_TILE_BASE (ARM_VE_BOARD_PERIPH_BASE + 0x20000)\r | |
4463f706 | 71 | #define PL111_CLCD_SITE ARM_VE_DAUGHTERBOARD_1_SITE\r |
76bc1743 | 72 | \r |
73 | // PL341 Dynamic Memory Controller Base\r | |
74 | #define ARM_VE_DMC_BASE (ARM_VE_BOARD_PERIPH_BASE + 0xE0000)\r | |
75 | \r | |
76 | // PL354 Static Memory Controller Base\r | |
77 | #define ARM_VE_SMC_CTRL_BASE (ARM_VE_BOARD_PERIPH_BASE + 0xE1000)\r | |
1d5d0ae9 | 78 | \r |
79 | // System Configuration Controller register Base addresses\r | |
4463f706 | 80 | #define ARM_VE_SYS_CFG_CTRL_BASE (ARM_VE_BOARD_PERIPH_BASE + 0xE2000)\r |
81 | #define ARM_VE_SCC_BASE ARM_VE_SYS_CFG_CTRL_BASE\r | |
76bc1743 | 82 | #define ARM_VE_SYS_CFGRW0_REG (ARM_VE_BOARD_PERIPH_BASE + 0xE2000)\r |
83 | #define ARM_VE_SYS_CFGRW1_REG (ARM_VE_BOARD_PERIPH_BASE + 0xE2004)\r | |
84 | #define ARM_VE_SYS_CFGRW2_REG (ARM_VE_BOARD_PERIPH_BASE + 0xE2008)\r | |
85 | \r | |
76bc1743 | 86 | // SP805 Watchdog on Cortex A9 core tile\r |
87 | #define SP805_WDOG_CORE_TILE_BASE (ARM_VE_BOARD_PERIPH_BASE + 0xE5000)\r | |
88 | \r | |
89 | // BP147 TZPC Base Address\r | |
90 | #define ARM_VE_TZPC_BASE (ARM_VE_BOARD_PERIPH_BASE + 0xE6000)\r | |
91 | \r | |
92 | // PL301 Fast AXI Base Address\r | |
93 | #define ARM_VE_FAXI_BASE (ARM_VE_BOARD_PERIPH_BASE + 0xE9000)\r | |
94 | \r | |
95 | // TZASC Trust Zone Address Space Controller Base Address\r | |
96 | #define ARM_VE_TZASC_BASE (ARM_VE_BOARD_PERIPH_BASE + 0xEC000)\r | |
97 | \r | |
98 | // PL310 L2x0 Cache Controller Base Address\r | |
99 | //#define ARM_VE_L2x0_CTLR_BASE 0x1E00A000\r | |
100 | \r | |
101 | /***********************************************************************************\r | |
102 | Peripherals' misc settings\r | |
103 | ************************************************************************************/\r | |
1d5d0ae9 | 104 | \r |
105 | #define ARM_VE_CFGRW1_TZASC_EN_BIT_MASK 0x2000\r | |
106 | #define ARM_VE_CFGRW1_REMAP_NOR0 0\r | |
107 | #define ARM_VE_CFGRW1_REMAP_NOR1 (1 << 28)\r | |
108 | #define ARM_VE_CFGRW1_REMAP_EXT_AXI (1 << 29)\r | |
109 | #define ARM_VE_CFGRW1_REMAP_DRAM (1 << 30)\r | |
110 | \r | |
76bc1743 | 111 | // TZASC - Other settings\r |
1d5d0ae9 | 112 | #define ARM_VE_DECPROT_BIT_TZPC (1 << 6)\r |
113 | #define ARM_VE_DECPROT_BIT_DMC_TZASC (1 << 11)\r | |
114 | #define ARM_VE_DECPROT_BIT_NMC_TZASC (1 << 12)\r | |
115 | #define ARM_VE_DECPROT_BIT_SMC_TZASC (1 << 13)\r | |
116 | #define ARM_VE_DECPROT_BIT_EXT_MAST_TZ (1)\r | |
117 | #define ARM_VE_DECPROT_BIT_DMC_TZASC_LOCK (1 << 3)\r | |
118 | #define ARM_VE_DECPROT_BIT_NMC_TZASC_LOCK (1 << 4)\r | |
119 | #define ARM_VE_DECPROT_BIT_SMC_TZASC_LOCK (1 << 5)\r | |
120 | \r | |
76bc1743 | 121 | #endif\r |