1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 #ifndef _XTENSA_CORE_CONFIGURATION_H
32 #define _XTENSA_CORE_CONFIGURATION_H
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 #define XCHAL_HAVE_BE 0
50 #define XCHAL_HAVE_WINDOWED 1
51 #define XCHAL_NUM_AREGS 32
52 #define XCHAL_NUM_AREGS_LOG2 5
53 #define XCHAL_MAX_INSTRUCTION_SIZE 3
54 #define XCHAL_HAVE_DEBUG 1
55 #define XCHAL_HAVE_DENSITY 1
56 #define XCHAL_HAVE_LOOPS 1
57 #define XCHAL_HAVE_NSA 1
58 #define XCHAL_HAVE_MINMAX 1
59 #define XCHAL_HAVE_SEXT 1
60 #define XCHAL_HAVE_CLAMPS 1
61 #define XCHAL_HAVE_MUL16 1
62 #define XCHAL_HAVE_MUL32 1
63 #define XCHAL_HAVE_MUL32_HIGH 0
64 #define XCHAL_HAVE_DIV32 1
65 #define XCHAL_HAVE_L32R 1
66 #define XCHAL_HAVE_ABSOLUTE_LITERALS 1
67 #define XCHAL_HAVE_CONST16 0
68 #define XCHAL_HAVE_ADDX 1
69 #define XCHAL_HAVE_WIDE_BRANCHES 0
70 #define XCHAL_HAVE_PREDICTED_BRANCHES 0
71 #define XCHAL_HAVE_CALL4AND12 1
72 #define XCHAL_HAVE_ABS 1
73
74
75 #define XCHAL_HAVE_RELEASE_SYNC 1
76 #define XCHAL_HAVE_S32C1I 1
77 #define XCHAL_HAVE_SPECULATION 0
78 #define XCHAL_HAVE_FULL_RESET 1
79 #define XCHAL_NUM_CONTEXTS 1
80 #define XCHAL_NUM_MISC_REGS 2
81 #define XCHAL_HAVE_TAP_MASTER 0
82 #define XCHAL_HAVE_PRID 1
83 #define XCHAL_HAVE_EXTERN_REGS 1
84 #define XCHAL_HAVE_MP_INTERRUPTS 0
85 #define XCHAL_HAVE_MP_RUNSTALL 0
86 #define XCHAL_HAVE_THREADPTR 1
87 #define XCHAL_HAVE_BOOLEANS 0
88 #define XCHAL_HAVE_CP 1
89 #define XCHAL_CP_MAXCFG 8
90 #define XCHAL_HAVE_MAC16 1
91 #define XCHAL_HAVE_VECTORFPU2005 0
92 #define XCHAL_HAVE_FP 0
93 #define XCHAL_HAVE_DFP 0
94 #define XCHAL_HAVE_DFP_accel 0
95 #define XCHAL_HAVE_VECTRA1 0
96 #define XCHAL_HAVE_VECTRALX 0
97 #define XCHAL_HAVE_HIFIPRO 0
98 #define XCHAL_HAVE_HIFI2 0
99 #define XCHAL_HAVE_HIFI2EP 0
100 #define XCHAL_HAVE_CONNXD2 0
101 #define XCHAL_HAVE_BBE16 0
102 #define XCHAL_HAVE_BBE16_RSQRT 0
103 #define XCHAL_HAVE_BBE16_VECDIV 0
104 #define XCHAL_HAVE_BBE16_DESPREAD 0
105 #define XCHAL_HAVE_BSP3 0
106 #define XCHAL_HAVE_SSP16 0
107 #define XCHAL_HAVE_SSP16_VITERBI 0
108 #define XCHAL_HAVE_TURBO16 0
109 #define XCHAL_HAVE_BBP16 0
110
111
112
113
114
115
116 #define XCHAL_NUM_WRITEBUFFER_ENTRIES 8
117 #define XCHAL_INST_FETCH_WIDTH 4
118 #define XCHAL_DATA_WIDTH 4
119
120 #define XCHAL_UNALIGNED_LOAD_EXCEPTION 1
121 #define XCHAL_UNALIGNED_STORE_EXCEPTION 1
122 #define XCHAL_UNALIGNED_LOAD_HW 0
123 #define XCHAL_UNALIGNED_STORE_HW 0
124
125 #define XCHAL_SW_VERSION 900001
126
127 #define XCHAL_CORE_ID "dc233c"
128
129
130
131 #define XCHAL_CORE_DESCRIPTION "dc233c"
132 #define XCHAL_BUILD_UNIQUE_ID 0x00004B21
133
134
135
136
137 #define XCHAL_HW_CONFIGID0 0xC56707FE
138 #define XCHAL_HW_CONFIGID1 0x14404B21
139 #define XCHAL_HW_VERSION_NAME "LX4.0.1"
140 #define XCHAL_HW_VERSION_MAJOR 2400
141 #define XCHAL_HW_VERSION_MINOR 1
142 #define XCHAL_HW_VERSION 240001
143 #define XCHAL_HW_REL_LX4 1
144 #define XCHAL_HW_REL_LX4_0 1
145 #define XCHAL_HW_REL_LX4_0_1 1
146 #define XCHAL_HW_CONFIGID_RELIABLE 1
147
148 #define XCHAL_HW_MIN_VERSION_MAJOR 2400
149 #define XCHAL_HW_MIN_VERSION_MINOR 1
150 #define XCHAL_HW_MIN_VERSION 240001
151 #define XCHAL_HW_MAX_VERSION_MAJOR 2400
152 #define XCHAL_HW_MAX_VERSION_MINOR 1
153 #define XCHAL_HW_MAX_VERSION 240001
154
155
156
157
158
159
160 #define XCHAL_ICACHE_LINESIZE 32
161 #define XCHAL_DCACHE_LINESIZE 32
162 #define XCHAL_ICACHE_LINEWIDTH 5
163 #define XCHAL_DCACHE_LINEWIDTH 5
164
165 #define XCHAL_ICACHE_SIZE 16384
166 #define XCHAL_DCACHE_SIZE 16384
167
168 #define XCHAL_DCACHE_IS_WRITEBACK 1
169 #define XCHAL_DCACHE_IS_COHERENT 0
170
171 #define XCHAL_HAVE_PREFETCH 0
172
173
174
175
176
177
178
179
180
181 #ifndef XTENSA_HAL_NON_PRIVILEGED_ONLY
182
183
184
185
186
187 #define XCHAL_HAVE_PIF 1
188
189
190
191
192 #define XCHAL_ICACHE_SETWIDTH 7
193 #define XCHAL_DCACHE_SETWIDTH 7
194
195
196 #define XCHAL_ICACHE_WAYS 4
197 #define XCHAL_DCACHE_WAYS 4
198
199
200 #define XCHAL_ICACHE_LINE_LOCKABLE 1
201 #define XCHAL_DCACHE_LINE_LOCKABLE 1
202 #define XCHAL_ICACHE_ECC_PARITY 0
203 #define XCHAL_DCACHE_ECC_PARITY 0
204
205
206 #define XCHAL_ICACHE_ACCESS_SIZE 4
207 #define XCHAL_DCACHE_ACCESS_SIZE 4
208
209
210 #define XCHAL_CA_BITS 4
211
212
213
214
215
216
217 #define XCHAL_NUM_INSTROM 0
218 #define XCHAL_NUM_INSTRAM 0
219 #define XCHAL_NUM_DATAROM 0
220 #define XCHAL_NUM_DATARAM 0
221 #define XCHAL_NUM_URAM 0
222 #define XCHAL_NUM_XLMI 0
223
224 #define XCHAL_HAVE_IMEM_LOADSTORE 1
225
226
227
228
229
230
231 #define XCHAL_HAVE_INTERRUPTS 1
232 #define XCHAL_HAVE_HIGHPRI_INTERRUPTS 1
233 #define XCHAL_HAVE_NMI 1
234 #define XCHAL_HAVE_CCOUNT 1
235 #define XCHAL_NUM_TIMERS 3
236 #define XCHAL_NUM_INTERRUPTS 22
237 #define XCHAL_NUM_INTERRUPTS_LOG2 5
238 #define XCHAL_NUM_EXTINTERRUPTS 17
239 #define XCHAL_NUM_INTLEVELS 6
240
241 #define XCHAL_EXCM_LEVEL 3
242
243
244
245 #define XCHAL_INTLEVEL1_MASK 0x001F80FF
246 #define XCHAL_INTLEVEL2_MASK 0x00000100
247 #define XCHAL_INTLEVEL3_MASK 0x00200E00
248 #define XCHAL_INTLEVEL4_MASK 0x00001000
249 #define XCHAL_INTLEVEL5_MASK 0x00002000
250 #define XCHAL_INTLEVEL6_MASK 0x00000000
251 #define XCHAL_INTLEVEL7_MASK 0x00004000
252
253
254 #define XCHAL_INTLEVEL1_ANDBELOW_MASK 0x001F80FF
255 #define XCHAL_INTLEVEL2_ANDBELOW_MASK 0x001F81FF
256 #define XCHAL_INTLEVEL3_ANDBELOW_MASK 0x003F8FFF
257 #define XCHAL_INTLEVEL4_ANDBELOW_MASK 0x003F9FFF
258 #define XCHAL_INTLEVEL5_ANDBELOW_MASK 0x003FBFFF
259 #define XCHAL_INTLEVEL6_ANDBELOW_MASK 0x003FBFFF
260 #define XCHAL_INTLEVEL7_ANDBELOW_MASK 0x003FFFFF
261
262
263 #define XCHAL_INT0_LEVEL 1
264 #define XCHAL_INT1_LEVEL 1
265 #define XCHAL_INT2_LEVEL 1
266 #define XCHAL_INT3_LEVEL 1
267 #define XCHAL_INT4_LEVEL 1
268 #define XCHAL_INT5_LEVEL 1
269 #define XCHAL_INT6_LEVEL 1
270 #define XCHAL_INT7_LEVEL 1
271 #define XCHAL_INT8_LEVEL 2
272 #define XCHAL_INT9_LEVEL 3
273 #define XCHAL_INT10_LEVEL 3
274 #define XCHAL_INT11_LEVEL 3
275 #define XCHAL_INT12_LEVEL 4
276 #define XCHAL_INT13_LEVEL 5
277 #define XCHAL_INT14_LEVEL 7
278 #define XCHAL_INT15_LEVEL 1
279 #define XCHAL_INT16_LEVEL 1
280 #define XCHAL_INT17_LEVEL 1
281 #define XCHAL_INT18_LEVEL 1
282 #define XCHAL_INT19_LEVEL 1
283 #define XCHAL_INT20_LEVEL 1
284 #define XCHAL_INT21_LEVEL 3
285 #define XCHAL_DEBUGLEVEL 6
286 #define XCHAL_HAVE_DEBUG_EXTERN_INT 1
287 #define XCHAL_NMILEVEL 7
288
289
290
291 #define XCHAL_INT0_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
292 #define XCHAL_INT1_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
293 #define XCHAL_INT2_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
294 #define XCHAL_INT3_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
295 #define XCHAL_INT4_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
296 #define XCHAL_INT5_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
297 #define XCHAL_INT6_TYPE XTHAL_INTTYPE_TIMER
298 #define XCHAL_INT7_TYPE XTHAL_INTTYPE_SOFTWARE
299 #define XCHAL_INT8_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
300 #define XCHAL_INT9_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
301 #define XCHAL_INT10_TYPE XTHAL_INTTYPE_TIMER
302 #define XCHAL_INT11_TYPE XTHAL_INTTYPE_SOFTWARE
303 #define XCHAL_INT12_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
304 #define XCHAL_INT13_TYPE XTHAL_INTTYPE_TIMER
305 #define XCHAL_INT14_TYPE XTHAL_INTTYPE_NMI
306 #define XCHAL_INT15_TYPE XTHAL_INTTYPE_EXTERN_EDGE
307 #define XCHAL_INT16_TYPE XTHAL_INTTYPE_EXTERN_EDGE
308 #define XCHAL_INT17_TYPE XTHAL_INTTYPE_EXTERN_EDGE
309 #define XCHAL_INT18_TYPE XTHAL_INTTYPE_EXTERN_EDGE
310 #define XCHAL_INT19_TYPE XTHAL_INTTYPE_EXTERN_EDGE
311 #define XCHAL_INT20_TYPE XTHAL_INTTYPE_EXTERN_EDGE
312 #define XCHAL_INT21_TYPE XTHAL_INTTYPE_EXTERN_EDGE
313
314
315 #define XCHAL_INTTYPE_MASK_UNCONFIGURED 0xFFC00000
316 #define XCHAL_INTTYPE_MASK_SOFTWARE 0x00000880
317 #define XCHAL_INTTYPE_MASK_EXTERN_EDGE 0x003F8000
318 #define XCHAL_INTTYPE_MASK_EXTERN_LEVEL 0x0000133F
319 #define XCHAL_INTTYPE_MASK_TIMER 0x00002440
320 #define XCHAL_INTTYPE_MASK_NMI 0x00004000
321 #define XCHAL_INTTYPE_MASK_WRITE_ERROR 0x00000000
322
323
324 #define XCHAL_TIMER0_INTERRUPT 6
325 #define XCHAL_TIMER1_INTERRUPT 10
326 #define XCHAL_TIMER2_INTERRUPT 13
327 #define XCHAL_TIMER3_INTERRUPT XTHAL_TIMER_UNCONFIGURED
328 #define XCHAL_NMI_INTERRUPT 14
329
330
331 #define XCHAL_INTLEVEL2_NUM 8
332 #define XCHAL_INTLEVEL4_NUM 12
333 #define XCHAL_INTLEVEL5_NUM 13
334 #define XCHAL_INTLEVEL7_NUM 14
335
336
337
338
339
340
341
342
343
344
345
346
347
348 #define XCHAL_EXTINT0_NUM 0
349 #define XCHAL_EXTINT1_NUM 1
350 #define XCHAL_EXTINT2_NUM 2
351 #define XCHAL_EXTINT3_NUM 3
352 #define XCHAL_EXTINT4_NUM 4
353 #define XCHAL_EXTINT5_NUM 5
354 #define XCHAL_EXTINT6_NUM 8
355 #define XCHAL_EXTINT7_NUM 9
356 #define XCHAL_EXTINT8_NUM 12
357 #define XCHAL_EXTINT9_NUM 14
358 #define XCHAL_EXTINT10_NUM 15
359 #define XCHAL_EXTINT11_NUM 16
360 #define XCHAL_EXTINT12_NUM 17
361 #define XCHAL_EXTINT13_NUM 18
362 #define XCHAL_EXTINT14_NUM 19
363 #define XCHAL_EXTINT15_NUM 20
364 #define XCHAL_EXTINT16_NUM 21
365
366
367
368
369
370
371 #define XCHAL_XEA_VERSION 2
372
373
374
375 #define XCHAL_HAVE_XEA1 0
376 #define XCHAL_HAVE_XEA2 1
377 #define XCHAL_HAVE_XEAX 0
378 #define XCHAL_HAVE_EXCEPTIONS 1
379 #define XCHAL_HAVE_HALT 0
380 #define XCHAL_HAVE_BOOTLOADER 0
381 #define XCHAL_HAVE_MEM_ECC_PARITY 0
382 #define XCHAL_HAVE_VECTOR_SELECT 1
383 #define XCHAL_HAVE_VECBASE 1
384 #define XCHAL_VECBASE_RESET_VADDR 0x00002000
385 #define XCHAL_VECBASE_RESET_PADDR 0x00002000
386 #define XCHAL_RESET_VECBASE_OVERLAP 0
387
388 #define XCHAL_RESET_VECTOR0_VADDR 0xFE000000
389 #define XCHAL_RESET_VECTOR0_PADDR 0xFE000000
390 #define XCHAL_RESET_VECTOR1_VADDR 0x00001000
391 #define XCHAL_RESET_VECTOR1_PADDR 0x00001000
392 #define XCHAL_RESET_VECTOR_VADDR 0xFE000000
393 #define XCHAL_RESET_VECTOR_PADDR 0xFE000000
394 #define XCHAL_USER_VECOFS 0x00000340
395 #define XCHAL_USER_VECTOR_VADDR 0x00002340
396 #define XCHAL_USER_VECTOR_PADDR 0x00002340
397 #define XCHAL_KERNEL_VECOFS 0x00000300
398 #define XCHAL_KERNEL_VECTOR_VADDR 0x00002300
399 #define XCHAL_KERNEL_VECTOR_PADDR 0x00002300
400 #define XCHAL_DOUBLEEXC_VECOFS 0x000003C0
401 #define XCHAL_DOUBLEEXC_VECTOR_VADDR 0x000023C0
402 #define XCHAL_DOUBLEEXC_VECTOR_PADDR 0x000023C0
403 #define XCHAL_WINDOW_OF4_VECOFS 0x00000000
404 #define XCHAL_WINDOW_UF4_VECOFS 0x00000040
405 #define XCHAL_WINDOW_OF8_VECOFS 0x00000080
406 #define XCHAL_WINDOW_UF8_VECOFS 0x000000C0
407 #define XCHAL_WINDOW_OF12_VECOFS 0x00000100
408 #define XCHAL_WINDOW_UF12_VECOFS 0x00000140
409 #define XCHAL_WINDOW_VECTORS_VADDR 0x00002000
410 #define XCHAL_WINDOW_VECTORS_PADDR 0x00002000
411 #define XCHAL_INTLEVEL2_VECOFS 0x00000180
412 #define XCHAL_INTLEVEL2_VECTOR_VADDR 0x00002180
413 #define XCHAL_INTLEVEL2_VECTOR_PADDR 0x00002180
414 #define XCHAL_INTLEVEL3_VECOFS 0x000001C0
415 #define XCHAL_INTLEVEL3_VECTOR_VADDR 0x000021C0
416 #define XCHAL_INTLEVEL3_VECTOR_PADDR 0x000021C0
417 #define XCHAL_INTLEVEL4_VECOFS 0x00000200
418 #define XCHAL_INTLEVEL4_VECTOR_VADDR 0x00002200
419 #define XCHAL_INTLEVEL4_VECTOR_PADDR 0x00002200
420 #define XCHAL_INTLEVEL5_VECOFS 0x00000240
421 #define XCHAL_INTLEVEL5_VECTOR_VADDR 0x00002240
422 #define XCHAL_INTLEVEL5_VECTOR_PADDR 0x00002240
423 #define XCHAL_INTLEVEL6_VECOFS 0x00000280
424 #define XCHAL_INTLEVEL6_VECTOR_VADDR 0x00002280
425 #define XCHAL_INTLEVEL6_VECTOR_PADDR 0x00002280
426 #define XCHAL_DEBUG_VECOFS XCHAL_INTLEVEL6_VECOFS
427 #define XCHAL_DEBUG_VECTOR_VADDR XCHAL_INTLEVEL6_VECTOR_VADDR
428 #define XCHAL_DEBUG_VECTOR_PADDR XCHAL_INTLEVEL6_VECTOR_PADDR
429 #define XCHAL_NMI_VECOFS 0x000002C0
430 #define XCHAL_NMI_VECTOR_VADDR 0x000022C0
431 #define XCHAL_NMI_VECTOR_PADDR 0x000022C0
432 #define XCHAL_INTLEVEL7_VECOFS XCHAL_NMI_VECOFS
433 #define XCHAL_INTLEVEL7_VECTOR_VADDR XCHAL_NMI_VECTOR_VADDR
434 #define XCHAL_INTLEVEL7_VECTOR_PADDR XCHAL_NMI_VECTOR_PADDR
435
436
437
438
439
440
441 #define XCHAL_HAVE_OCD 1
442 #define XCHAL_NUM_IBREAK 2
443 #define XCHAL_NUM_DBREAK 2
444 #define XCHAL_HAVE_OCD_DIR_ARRAY 1
445
446
447
448
449
450
451
452
453 #define XCHAL_HAVE_TLBS 1
454 #define XCHAL_HAVE_SPANNING_WAY 1
455 #define XCHAL_SPANNING_WAY 6
456 #define XCHAL_HAVE_IDENTITY_MAP 0
457 #define XCHAL_HAVE_CACHEATTR 0
458 #define XCHAL_HAVE_MIMIC_CACHEATTR 0
459 #define XCHAL_HAVE_XLT_CACHEATTR 0
460 #define XCHAL_HAVE_PTP_MMU 1
461
462
463
464 #define XCHAL_ITLB_ARF_ENTRIES_LOG2 2
465 #define XCHAL_DTLB_ARF_ENTRIES_LOG2 2
466
467 #define XCHAL_MMU_ASID_BITS 8
468 #define XCHAL_MMU_RINGS 4
469 #define XCHAL_MMU_RING_BITS 2
470
471 #endif
472
473
474 #endif
475