1
2
3
4
5
6
7
8
9
10
11 #ifndef _XTENSA_CORE_H
12 #define _XTENSA_CORE_H
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 #define XCHAL_HAVE_BE 1
30 #define XCHAL_HAVE_WINDOWED 1
31 #define XCHAL_NUM_AREGS 64
32 #define XCHAL_NUM_AREGS_LOG2 6
33 #define XCHAL_MAX_INSTRUCTION_SIZE 3
34 #define XCHAL_HAVE_DEBUG 1
35 #define XCHAL_HAVE_DENSITY 1
36 #define XCHAL_HAVE_LOOPS 1
37 #define XCHAL_HAVE_NSA 1
38 #define XCHAL_HAVE_MINMAX 0
39 #define XCHAL_HAVE_SEXT 0
40 #define XCHAL_HAVE_CLAMPS 0
41 #define XCHAL_HAVE_MUL16 0
42 #define XCHAL_HAVE_MUL32 0
43 #define XCHAL_HAVE_MUL32_HIGH 0
44 #define XCHAL_HAVE_L32R 1
45 #define XCHAL_HAVE_ABSOLUTE_LITERALS 1
46 #define XCHAL_HAVE_CONST16 0
47 #define XCHAL_HAVE_ADDX 1
48 #define XCHAL_HAVE_WIDE_BRANCHES 0
49 #define XCHAL_HAVE_PREDICTED_BRANCHES 0
50 #define XCHAL_HAVE_CALL4AND12 1
51 #define XCHAL_HAVE_ABS 1
52
53
54 #define XCHAL_HAVE_RELEASE_SYNC 0
55 #define XCHAL_HAVE_S32C1I 0
56 #define XCHAL_HAVE_SPECULATION 0
57 #define XCHAL_HAVE_FULL_RESET 1
58 #define XCHAL_NUM_CONTEXTS 1
59 #define XCHAL_NUM_MISC_REGS 2
60 #define XCHAL_HAVE_TAP_MASTER 0
61 #define XCHAL_HAVE_PRID 1
62 #define XCHAL_HAVE_THREADPTR 1
63 #define XCHAL_HAVE_BOOLEANS 0
64 #define XCHAL_HAVE_CP 0
65 #define XCHAL_CP_MAXCFG 0
66 #define XCHAL_HAVE_MAC16 0
67 #define XCHAL_HAVE_VECTORFPU2005 0
68 #define XCHAL_HAVE_FP 0
69 #define XCHAL_HAVE_VECTRA1 0
70 #define XCHAL_HAVE_VECTRALX 0
71 #define XCHAL_HAVE_HIFI2 0
72
73
74
75
76
77
78 #define XCHAL_NUM_WRITEBUFFER_ENTRIES 4
79 #define XCHAL_INST_FETCH_WIDTH 4
80 #define XCHAL_DATA_WIDTH 4
81
82 #define XCHAL_UNALIGNED_LOAD_EXCEPTION 1
83 #define XCHAL_UNALIGNED_STORE_EXCEPTION 1
84
85 #define XCHAL_CORE_ID "fsf"
86
87
88
89 #define XCHAL_BUILD_UNIQUE_ID 0x00006700
90
91
92
93
94 #define XCHAL_HW_CONFIGID0 0xC103C3FF
95 #define XCHAL_HW_CONFIGID1 0x0C006700
96 #define XCHAL_HW_VERSION_NAME "LX2.0.0"
97 #define XCHAL_HW_VERSION_MAJOR 2200
98 #define XCHAL_HW_VERSION_MINOR 0
99 #define XTHAL_HW_REL_LX2 1
100 #define XTHAL_HW_REL_LX2_0 1
101 #define XTHAL_HW_REL_LX2_0_0 1
102 #define XCHAL_HW_CONFIGID_RELIABLE 1
103
104 #define XCHAL_HW_MIN_VERSION_MAJOR 2200
105 #define XCHAL_HW_MIN_VERSION_MINOR 0
106 #define XCHAL_HW_MAX_VERSION_MAJOR 2200
107 #define XCHAL_HW_MAX_VERSION_MINOR 0
108
109
110
111
112
113
114 #define XCHAL_ICACHE_LINESIZE 16
115 #define XCHAL_DCACHE_LINESIZE 16
116 #define XCHAL_ICACHE_LINEWIDTH 4
117 #define XCHAL_DCACHE_LINEWIDTH 4
118
119 #define XCHAL_ICACHE_SIZE 8192
120 #define XCHAL_DCACHE_SIZE 8192
121
122 #define XCHAL_DCACHE_IS_WRITEBACK 0
123
124
125
126
127
128
129
130
131
132 #ifndef XTENSA_HAL_NON_PRIVILEGED_ONLY
133
134
135
136
137
138 #define XCHAL_HAVE_PIF 1
139
140
141
142
143 #define XCHAL_ICACHE_SETWIDTH 8
144 #define XCHAL_DCACHE_SETWIDTH 8
145
146
147 #define XCHAL_ICACHE_WAYS 2
148 #define XCHAL_DCACHE_WAYS 2
149
150
151 #define XCHAL_ICACHE_LINE_LOCKABLE 0
152 #define XCHAL_DCACHE_LINE_LOCKABLE 0
153 #define XCHAL_ICACHE_ECC_PARITY 0
154 #define XCHAL_DCACHE_ECC_PARITY 0
155
156
157 #define XCHAL_CA_BITS 4
158
159
160
161
162
163
164 #define XCHAL_NUM_INSTROM 0
165 #define XCHAL_NUM_INSTRAM 0
166 #define XCHAL_NUM_DATAROM 0
167 #define XCHAL_NUM_DATARAM 0
168 #define XCHAL_NUM_URAM 0
169 #define XCHAL_NUM_XLMI 0
170
171
172
173
174
175
176 #define XCHAL_HAVE_INTERRUPTS 1
177 #define XCHAL_HAVE_HIGHPRI_INTERRUPTS 1
178 #define XCHAL_HAVE_NMI 0
179 #define XCHAL_HAVE_CCOUNT 1
180 #define XCHAL_NUM_TIMERS 3
181 #define XCHAL_NUM_INTERRUPTS 17
182 #define XCHAL_NUM_INTERRUPTS_LOG2 5
183 #define XCHAL_NUM_EXTINTERRUPTS 10
184 #define XCHAL_NUM_INTLEVELS 4
185
186 #define XCHAL_EXCM_LEVEL 1
187
188
189
190 #define XCHAL_INTLEVEL1_MASK 0x000064F9
191 #define XCHAL_INTLEVEL2_MASK 0x00008902
192 #define XCHAL_INTLEVEL3_MASK 0x00011204
193 #define XCHAL_INTLEVEL4_MASK 0x00000000
194 #define XCHAL_INTLEVEL5_MASK 0x00000000
195 #define XCHAL_INTLEVEL6_MASK 0x00000000
196 #define XCHAL_INTLEVEL7_MASK 0x00000000
197
198
199 #define XCHAL_INTLEVEL1_ANDBELOW_MASK 0x000064F9
200 #define XCHAL_INTLEVEL2_ANDBELOW_MASK 0x0000EDFB
201 #define XCHAL_INTLEVEL3_ANDBELOW_MASK 0x0001FFFF
202 #define XCHAL_INTLEVEL4_ANDBELOW_MASK 0x0001FFFF
203 #define XCHAL_INTLEVEL5_ANDBELOW_MASK 0x0001FFFF
204 #define XCHAL_INTLEVEL6_ANDBELOW_MASK 0x0001FFFF
205 #define XCHAL_INTLEVEL7_ANDBELOW_MASK 0x0001FFFF
206
207
208 #define XCHAL_INT0_LEVEL 1
209 #define XCHAL_INT1_LEVEL 2
210 #define XCHAL_INT2_LEVEL 3
211 #define XCHAL_INT3_LEVEL 1
212 #define XCHAL_INT4_LEVEL 1
213 #define XCHAL_INT5_LEVEL 1
214 #define XCHAL_INT6_LEVEL 1
215 #define XCHAL_INT7_LEVEL 1
216 #define XCHAL_INT8_LEVEL 2
217 #define XCHAL_INT9_LEVEL 3
218 #define XCHAL_INT10_LEVEL 1
219 #define XCHAL_INT11_LEVEL 2
220 #define XCHAL_INT12_LEVEL 3
221 #define XCHAL_INT13_LEVEL 1
222 #define XCHAL_INT14_LEVEL 1
223 #define XCHAL_INT15_LEVEL 2
224 #define XCHAL_INT16_LEVEL 3
225 #define XCHAL_DEBUGLEVEL 4
226 #define XCHAL_HAVE_DEBUG_EXTERN_INT 0
227
228
229 #define XCHAL_INT0_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
230 #define XCHAL_INT1_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
231 #define XCHAL_INT2_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
232 #define XCHAL_INT3_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
233 #define XCHAL_INT4_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
234 #define XCHAL_INT5_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
235 #define XCHAL_INT6_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
236 #define XCHAL_INT7_TYPE XTHAL_INTTYPE_EXTERN_EDGE
237 #define XCHAL_INT8_TYPE XTHAL_INTTYPE_EXTERN_EDGE
238 #define XCHAL_INT9_TYPE XTHAL_INTTYPE_EXTERN_EDGE
239 #define XCHAL_INT10_TYPE XTHAL_INTTYPE_TIMER
240 #define XCHAL_INT11_TYPE XTHAL_INTTYPE_TIMER
241 #define XCHAL_INT12_TYPE XTHAL_INTTYPE_TIMER
242 #define XCHAL_INT13_TYPE XTHAL_INTTYPE_SOFTWARE
243 #define XCHAL_INT14_TYPE XTHAL_INTTYPE_SOFTWARE
244 #define XCHAL_INT15_TYPE XTHAL_INTTYPE_SOFTWARE
245 #define XCHAL_INT16_TYPE XTHAL_INTTYPE_SOFTWARE
246
247
248 #define XCHAL_INTTYPE_MASK_UNCONFIGURED 0xFFFE0000
249 #define XCHAL_INTTYPE_MASK_SOFTWARE 0x0001E000
250 #define XCHAL_INTTYPE_MASK_EXTERN_EDGE 0x00000380
251 #define XCHAL_INTTYPE_MASK_EXTERN_LEVEL 0x0000007F
252 #define XCHAL_INTTYPE_MASK_TIMER 0x00001C00
253 #define XCHAL_INTTYPE_MASK_NMI 0x00000000
254 #define XCHAL_INTTYPE_MASK_WRITE_ERROR 0x00000000
255
256
257 #define XCHAL_TIMER0_INTERRUPT 10
258 #define XCHAL_TIMER1_INTERRUPT 11
259 #define XCHAL_TIMER2_INTERRUPT 12
260 #define XCHAL_TIMER3_INTERRUPT XTHAL_TIMER_UNCONFIGURED
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276 #define XCHAL_EXTINT0_NUM 0
277 #define XCHAL_EXTINT1_NUM 1
278 #define XCHAL_EXTINT2_NUM 2
279 #define XCHAL_EXTINT3_NUM 3
280 #define XCHAL_EXTINT4_NUM 4
281 #define XCHAL_EXTINT5_NUM 5
282 #define XCHAL_EXTINT6_NUM 6
283 #define XCHAL_EXTINT7_NUM 7
284 #define XCHAL_EXTINT8_NUM 8
285 #define XCHAL_EXTINT9_NUM 9
286
287
288
289
290
291
292 #define XCHAL_XEA_VERSION 2
293
294
295
296 #define XCHAL_HAVE_XEA1 0
297 #define XCHAL_HAVE_XEA2 1
298 #define XCHAL_HAVE_XEAX 0
299 #define XCHAL_HAVE_EXCEPTIONS 1
300 #define XCHAL_HAVE_MEM_ECC_PARITY 0
301
302 #define XCHAL_RESET_VECTOR_VADDR 0xFE000020
303 #define XCHAL_RESET_VECTOR_PADDR 0xFE000020
304 #define XCHAL_USER_VECTOR_VADDR 0xD0000220
305 #define XCHAL_USER_VECTOR_PADDR 0x00000220
306 #define XCHAL_KERNEL_VECTOR_VADDR 0xD0000200
307 #define XCHAL_KERNEL_VECTOR_PADDR 0x00000200
308 #define XCHAL_DOUBLEEXC_VECTOR_VADDR 0xD0000290
309 #define XCHAL_DOUBLEEXC_VECTOR_PADDR 0x00000290
310 #define XCHAL_WINDOW_VECTORS_VADDR 0xD0000000
311 #define XCHAL_WINDOW_VECTORS_PADDR 0x00000000
312 #define XCHAL_INTLEVEL2_VECTOR_VADDR 0xD0000240
313 #define XCHAL_INTLEVEL2_VECTOR_PADDR 0x00000240
314 #define XCHAL_INTLEVEL3_VECTOR_VADDR 0xD0000250
315 #define XCHAL_INTLEVEL3_VECTOR_PADDR 0x00000250
316 #define XCHAL_INTLEVEL4_VECTOR_VADDR 0xFE000520
317 #define XCHAL_INTLEVEL4_VECTOR_PADDR 0xFE000520
318 #define XCHAL_DEBUG_VECTOR_VADDR XCHAL_INTLEVEL4_VECTOR_VADDR
319 #define XCHAL_DEBUG_VECTOR_PADDR XCHAL_INTLEVEL4_VECTOR_PADDR
320
321
322
323
324
325
326 #define XCHAL_HAVE_OCD 1
327 #define XCHAL_NUM_IBREAK 2
328 #define XCHAL_NUM_DBREAK 2
329 #define XCHAL_HAVE_OCD_DIR_ARRAY 1
330
331
332
333
334
335
336
337
338 #define XCHAL_HAVE_TLBS 1
339 #define XCHAL_HAVE_SPANNING_WAY 0
340 #define XCHAL_HAVE_IDENTITY_MAP 0
341 #define XCHAL_HAVE_CACHEATTR 0
342 #define XCHAL_HAVE_MIMIC_CACHEATTR 0
343 #define XCHAL_HAVE_XLT_CACHEATTR 0
344 #define XCHAL_HAVE_PTP_MMU 1
345
346
347
348 #define XCHAL_ITLB_ARF_ENTRIES_LOG2 2
349 #define XCHAL_DTLB_ARF_ENTRIES_LOG2 2
350
351 #define XCHAL_MMU_ASID_BITS 8
352 #define XCHAL_MMU_RINGS 4
353 #define XCHAL_MMU_RING_BITS 2
354
355 #endif
356
357
358 #endif
359