|
1 ; |
|
2 ; Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
3 ; All rights reserved. |
|
4 ; This component and the accompanying materials are made available |
|
5 ; under the terms of "Eclipse Public License v1.0" |
|
6 ; which accompanies this distribution, and is available |
|
7 ; at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 ; |
|
9 ; Initial Contributors: |
|
10 ; Nokia Corporation - initial contribution. |
|
11 ; |
|
12 ; Contributors: |
|
13 ; |
|
14 ; Description: |
|
15 ; |
|
16 ; NE1_TBVariant bootstrap configuration file |
|
17 ; |
|
18 ; |
|
19 |
|
20 ; Include to enable tracing |
|
21 ; GBLL CFG_DebugBootRom |
|
22 |
|
23 ; Include to initialise debug port in bootstrap without enabling bootstrap |
|
24 ; trace. Useful for __EARLY_DEBUG__ mode. |
|
25 ; GBLL CFG_InitDebugPort |
|
26 |
|
27 ; Include one of these to select the CPU |
|
28 GBLL CFG_CPU_ARM11MP |
|
29 |
|
30 ; Include the following line if this is a bootloader bootstrap |
|
31 ; GBLL CFG_BootLoader |
|
32 |
|
33 ; If you want to supply a custom set of initial vectors (including reset vector) include the following line |
|
34 ; GBLL CFG_CustomVectors |
|
35 ; |
|
36 ; and provide a custom_vectors.inc file |
|
37 |
|
38 ; Variant Number |
|
39 INIT_NUMERIC_CONSTANT CFG_HWVD, 0x09080001 |
|
40 |
|
41 ; Include the following line if default memory mapping should use shared memory. |
|
42 ; Should be defined on multicore (SMP) devices. |
|
43 GBLL CFG_USE_SHARED_MEMORY |
|
44 |
|
45 ; On ARM architecture 6 processors, include the following line to override the threshold |
|
46 ; on total physical RAM size at which the multiple memory model switches into large address space mode |
|
47 ; i.e. size>threshold -> 2Gb per process, size<=threshold -> 1Gb per process |
|
48 ; Defaults to 32Mb. |
|
49 ; INIT_NUMERIC_CONSTANT CFG_ARMV6_LARGE_CONFIG_THRESHOLD, <value> |
|
50 |
|
51 ; For the direct memory model only, include the following line if you wish the exception vectors at the |
|
52 ; start of the bootstrap to be used at all times. This is only relevant if an MMU is present - this option |
|
53 ; is mandatory if not. |
|
54 ; GBLL CFG_UseBootstrapVectors |
|
55 ; |
|
56 ; If the above option is in use (including if no MMU is present) the following symbol should be defined |
|
57 ; to specify the offset from the bootstrap to the kernel image. |
|
58 INIT_NUMERIC_CONSTANT KernelCodeOffset, 0x4000 |
|
59 |
|
60 ; Include the following line if you wish to include the ROM autodetection code based on data bus |
|
61 ; capacitance and image repeats. |
|
62 ; GBLL CFG_AutoDetectROM |
|
63 |
|
64 ; Include the following line to minimise the initial kernel heap size |
|
65 ; On the direct memory model the size of the kernel data area (super page to end of kernel heap) |
|
66 ; is rounded up to the next 1Mb if this is not included, 4K if it is. |
|
67 ; On the moving and multiple models, the size of the initial kernel heap area is rounded up to |
|
68 ; the next 64K if this is not included, 4K if it is. |
|
69 ; GBLL CFG_MinimiseKernelHeap |
|
70 |
|
71 ; On the moving or multiple memory models, include either or both of the following lines to |
|
72 ; specify the size of the initial kernel heap |
|
73 ; INIT_NUMERIC_CONSTANT CFG_KernelHeapMultiplier, <multiplier> |
|
74 ; INIT_NUMERIC_CONSTANT CFG_KernelHeapBaseSize, <base> |
|
75 ; |
|
76 ; The initial kernel heap size is MAX( <base> + <multiplier> * N / 16, value specified in ROMBUILD ) |
|
77 ; where N is the total physical RAM size in pages. |
|
78 ; <base> defaults to 24K and <multiplier> defaults to 9*16 (ie 9 bytes per page). |
|
79 |
|
80 ; Uncomment if using ARM1136 processor and ARM1136 Erratum 353494 |
|
81 ; "Rare conditions can cause corruption of the Instruction Cache" |
|
82 ; is fixed on this hardware. |
|
83 ; |
|
84 ; NOTE: The boot table should use this macro to determine whether RONO or RORO permissions |
|
85 ; are used for the exception vectors. If the erratum is not fixed, RORO must be used. |
|
86 ; |
|
87 ; GBLL CFG_CPU_ARM1136_ERRATUM_353494_FIXED |
|
88 |
|
89 ; Uncomment if using ARM1136 processor and ARM1136 Erratum 364296 |
|
90 ; "Possible Cache Data Corruption with Hit-Under-Miss" |
|
91 ; is fixed on this hardware. |
|
92 ; |
|
93 ; GBLL CFG_CPU_ARM1136_ERRATUM_364296_FIXED |
|
94 |
|
95 ; Uncomment if using ARM1136 processor and ARM1136 Erratum 399234 |
|
96 ; "Write back data cache entry evicted by write through entry causes data corruption" |
|
97 ; is fixed on this hardware. |
|
98 ; Workaround |
|
99 ; The erratum may be avoided by marking all cacheable memory as one of write through or write back. |
|
100 ; This requires the memory attributes described in the translation tables to be modified by software |
|
101 ; appropriately, or the use of the remapping capability to remap write through regions to non cacheable. |
|
102 ; |
|
103 ; If this macro is enabled, it should be accompanied by: |
|
104 ; "#define __CPU_ARM1136_ERRATUM_399234_FIXED" in variant.mmh |
|
105 ; GBLL CFG_CPU_ARM1136_ERRATUM_399234_FIXED |
|
106 |
|
107 |
|
108 ; Uncomment if: |
|
109 ; 1) using ARM1136 processor and ARM1136 Erratum 411920: "Invalidate Entire Instruction Cache |
|
110 ; operation might fail to invalidate some lines if coincident with linefill" |
|
111 ; is fixed on this hardware, or |
|
112 ; 2) using ARM1176 processor and ARM1176 Erratum 415045: "Invalidate Entire Instruction Cache |
|
113 ; operation might fail to invalidate some lines if coincident with linefill |
|
114 ; is fixed on this hardware. |
|
115 ; Workaround: |
|
116 ; 1) Disables the use of of prefetch range cache operations by setting RV bit in Auxiliary Ctrl Reg. |
|
117 ; 2) Replaces Invalidate ICache operation with the sequence defined in the errata document. |
|
118 ; If this macro is enabled, it should be accompanied by: |
|
119 ; "#define __CPU_ARM1136_ERRATUM_411920_FIXED" in variant.mmh |
|
120 ; |
|
121 ; GBLL CFG_CPU_ARM1136_ERRATUM_411920_FIXED |
|
122 |
|
123 |
|
124 ; Uncomment if using ARM1136 processor and ARM1136 Erratum 415662: "Invalidate Instruction Cache by |
|
125 ; Index might corrupt cache when used with background prefetch range" is fixed on this hardware. |
|
126 ; Workaround: |
|
127 ; Disables the use of of prefetch range cache operations by setting RV bit in Auxiliary Ctrl Reg. |
|
128 ; |
|
129 ; GBLL CFG_CPU_ARM1136_ERRATUM_415662_FIXED |
|
130 |
|
131 |
|
132 ; Uncomment if this variant config needs to support the Shadow Memory Regions |
|
133 ; (SMR) feature in the kernel. Basically allows media based images to be copied |
|
134 ; into memory which is later reserved by the Kernel RAM Allocator. |
|
135 ; One user of the SMR feature is the HCR component when used with media based |
|
136 ; setting repository. Thus variant configs that support the new MHA HCR |
|
137 ; component and expect media based settings must define this macro e.g. NAND |
|
138 ; Core Image ROM, but not BootLoader ROM etc. |
|
139 ; |
|
140 GBLL CFG_ENABLE_SMR_SUPPORT |
|
141 |
|
142 |
|
143 ; These are deduced from the supplied configuration |
|
144 ; CFG_ARMV6 |
|
145 ; CFG_MMUPresent |
|
146 ; CFG_CachePresent |
|
147 ; CFG_WriteBufferPresent |
|
148 ; CFG_SplitCache |
|
149 ; CFG_SplitTLB |
|
150 ; CFG_AltDCachePresent |
|
151 ; CFG_WriteBackCache |
|
152 ; CFG_CacheWriteAllocate |
|
153 ; CFG_CachePhysicalTag |
|
154 ; CFG_CacheFlushByDataRead |
|
155 ; CFG_CacheFlushByWaySetIndex |
|
156 ; CFG_CacheFlushByLineAlloc |
|
157 ; CFG_CachePolicyInPTE |
|
158 ; CFG_TEX |
|
159 ; CFG_SingleEntryDCacheFlush |
|
160 ; CFG_SingleEntryICacheFlush |
|
161 ; CFG_SingleEntryITLBFlush |
|
162 ; CFG_SingleEntryTLBFlush |
|
163 ; CFG_CacheTypeReg |
|
164 ; CFG_BTBPresent |
|
165 ; CFG_CARPresent |
|
166 ; CFG_PrefetchBuffer |
|
167 ; CFG_FCSE_Present |
|
168 ; CFG_ASID_Present |
|
169 ; CFG_IncludeRAMAllocator |
|
170 |
|
171 IF :DEF: CFG_MMFlexible |
|
172 GBLL CFG_SupportEmulatedRomPaging |
|
173 ENDIF |
|
174 |
|
175 END |