|
7 | 7 |
|
8 | 8 | /* Xtensa processor core configuration information. |
9 | 9 |
|
10 | | - Copyright (c) 1999-2023 Tensilica Inc. |
| 10 | + Copyright (c) 1999-2025 Tensilica Inc. |
11 | 11 |
|
12 | 12 | Permission is hereby granted, free of charge, to any person obtaining |
13 | 13 | a copy of this software and associated documentation files (the |
|
70 | 70 | #define XCHAL_HAVE_ADDX 1 /* ADDX#/SUBX# instructions */ |
71 | 71 | #define XCHAL_HAVE_EXCLUSIVE 0 /* L32EX/S32EX instructions */ |
72 | 72 | #define XCHAL_HAVE_WIDE_BRANCHES 0 /* B*.W18 or B*.W15 instr's */ |
73 | | -#define XCHAL_HAVE_PREDICTED_BRANCHES 0 /* B[EQ/EQZ/NE/NEZ]T instr's */ |
74 | 73 | #define XCHAL_HAVE_CALL4AND12 1 /* (obsolete option) */ |
75 | 74 | #define XCHAL_HAVE_ABS 1 /* ABS instruction */ |
76 | 75 | #define XCHAL_HAVE_RELEASE_SYNC 1 /* L32AI/S32RI instructions */ |
|
111 | 110 | #define XCHAL_HAVE_FUSION_VITERBI 0 /* Fusion Viterbi option */ |
112 | 111 | #define XCHAL_HAVE_FUSION_SOFTDEMAP 0 /* Fusion Soft Bit Demap option */ |
113 | 112 | #define XCHAL_HAVE_HIFIPRO 0 /* HiFiPro Audio Engine pkg */ |
| 113 | +#define XCHAL_HAVE_HIFI5S 0 /* HiFi5s Audio Engine pkg */ |
| 114 | +#define XCHAL_HAVE_HIFI5S_NN_MAC 0 /* HiFi5s Audio Engine NN-MAC option */ |
| 115 | +#define XCHAL_HAVE_HIFI5S_VFPU 0 /* HiFi5s Audio Engine Single-Precision VFPU option */ |
| 116 | +#define XCHAL_HAVE_HIFI5S_HP_VFPU 0 /* HiFi5s Audio Engine Half-Precision VFPU option */ |
| 117 | +#define XCHAL_HAVE_HIFI5S_DP_FPU 0 /* HiFi5s Audio Engine Double-Precision FPU option */ |
114 | 118 | #define XCHAL_HAVE_HIFI5 0 /* HiFi5 Audio Engine pkg */ |
115 | 119 | #define XCHAL_HAVE_HIFI5_NN_MAC 0 /* HiFi5 Audio Engine NN-MAC option */ |
116 | 120 | #define XCHAL_HAVE_HIFI5_VFPU 0 /* HiFi5 Audio Engine Single-Precision VFPU option */ |
|
121 | 125 | #define XCHAL_HAVE_HIFI3_VFPU 0 /* HiFi3 Audio Engine VFPU option */ |
122 | 126 | #define XCHAL_HAVE_HIFI3Z 0 /* HiFi3Z Audio Engine pkg */ |
123 | 127 | #define XCHAL_HAVE_HIFI3Z_VFPU 0 /* HiFi3Z Audio Engine VFPU option */ |
| 128 | +#define XCHAL_HAVE_HIFI1S 0 /* HiFi1s */ |
| 129 | +#define XCHAL_HAVE_HIFI1S_VFPU 0 /* HiFi1s SP-VFPU option */ |
| 130 | +#define XCHAL_HAVE_HIFI1S_DP_FPU 0 /* HiFi1s DP-FPU option */ |
| 131 | +#define XCHAL_HAVE_HIFI1S_LOW_LATENCY_MAC_FMA 0 /* HiFi1s Low-latency MAC/FMA option */ |
| 132 | +#define XCHAL_HAVE_HIFIN 0 /* HiFiN */ |
| 133 | +#define XCHAL_HAVE_HIFI6 0 /* HiFi6 Audio Engine pkg */ |
| 134 | +#define XCHAL_HAVE_HIFIN_VFPU 0 /* HiFiN SP-VFPU option */ |
| 135 | +#define XCHAL_HAVE_HIFIN_DP_VFPU 0 /* HiFiN DP-VFPU option */ |
| 136 | +#define XCHAL_HAVE_HIFIN_HP_VFPU 0 /* HiFiN HP-VFPU option */ |
124 | 137 | #define XCHAL_HAVE_HIFI1 0 /* HiFi1 */ |
125 | 138 | #define XCHAL_HAVE_HIFI1_VFPU 0 /* HiFi1 VFPU option */ |
126 | 139 | #define XCHAL_HAVE_HIFI1_LOW_LATENCY_MAC_FMA 0 /* HiFi1 Low-latency MAC/FMA option */ |
127 | 140 | #define XCHAL_HAVE_HIFI2 0 /* HiFi2 Audio Engine pkg */ |
128 | 141 | #define XCHAL_HAVE_HIFI2EP 0 /* HiFi2EP */ |
129 | | -#define XCHAL_HAVE_HIFI_MINI 0 |
| 142 | +#define XCHAL_HAVE_HIFI_MINI 0 |
| 143 | +#define XCHAL_HIFIN_SIMD16 0 /* simd16 for HiFi6 */ |
| 144 | +#define XCHAL_HIFIN_TYPE 0 /* HIFIN ISA TYPE */ |
130 | 145 |
|
131 | 146 |
|
132 | 147 |
|
|
205 | 220 |
|
206 | 221 | #define XCHAL_HAVE_VISION 0 /* Vision P5/P6 */ |
207 | 222 | #define XCHAL_VISION_SIMD16 0 /* simd16 for Vision P5/P6 */ |
208 | | -#define XCHAL_VISION_TYPE 0 /* Vision P5, P6, Q6, Q7 or Q8 */ |
| 223 | +#define XCHAL_VISION_TYPE 0 /* Vision P5, P6, Q6, Q7, Q8 or v331/v341 */ |
209 | 224 | #define XCHAL_VISION_QUAD_MAC_TYPE 0 /* quad_mac option on Vision P6 */ |
210 | 225 | #define XCHAL_HAVE_VISION_HISTOGRAM 0 /* histogram option on Vision P5/P6 */ |
211 | 226 | #define XCHAL_HAVE_VISION_DP_VFPU 0 /* dp_vfpu option on Vision Q7/Q8 */ |
|
216 | 231 |
|
217 | 232 | #define XCHAL_HAVE_VISIONC 0 /* Vision C */ |
218 | 233 |
|
| 234 | +#define XCHAL_HAVE_NEUROEDGE 0 /* NeuroEdge AICP */ |
| 235 | + |
219 | 236 | #define XCHAL_HAVE_XNNE 0 /* XNNE */ |
220 | 237 |
|
| 238 | +/* Radar FFT */ |
| 239 | +#define XCHAL_HAVE_RADAR_FFT 0 /* Radar FFT eTIE module */ |
| 240 | + |
221 | 241 |
|
222 | 242 | /*---------------------------------------------------------------------- |
223 | 243 | MISC |
|
239 | 259 |
|
240 | 260 | #define XCHAL_UNIFIED_LOADSTORE 0 |
241 | 261 |
|
242 | | -#define XCHAL_SW_VERSION 1411000 /* sw version of this header */ |
243 | | -#define XCHAL_SW_VERSION_MAJOR 14000 /* major ver# of sw */ |
244 | | -#define XCHAL_SW_VERSION_MINOR 11 /* minor ver# of sw */ |
| 262 | +#define XCHAL_SW_VERSION 1505000 /* sw version of this header */ |
| 263 | +#define XCHAL_SW_VERSION_MAJOR 15000 /* major ver# of sw */ |
| 264 | +#define XCHAL_SW_VERSION_MINOR 5 /* minor ver# of sw */ |
245 | 265 | #define XCHAL_SW_VERSION_MICRO 0 /* micro ver# of sw */ |
246 | | -#define XCHAL_SW_MINOR_VERSION 1411000 /* with zeroed micro */ |
247 | | -#define XCHAL_SW_MICRO_VERSION 1411000 |
| 266 | +#define XCHAL_SW_MINOR_VERSION 1505000 /* with zeroed micro */ |
| 267 | +#define XCHAL_SW_MICRO_VERSION 1505000 |
248 | 268 |
|
249 | | -#define XCHAL_CORE_ID "nxp_rt500_RI23_11_newlib" /* alphanum core name |
| 269 | +#define XCHAL_CORE_ID "nxp_rt500_RJ25_5_newlib" /* alphanum core name |
250 | 270 | (CoreID) set in the Xtensa |
251 | 271 | Processor Generator */ |
252 | 272 |
|
253 | | -#define XCHAL_BUILD_UNIQUE_ID 0x000A98E2 /* 22-bit sw build ID */ |
| 273 | +#define XCHAL_BUILD_UNIQUE_ID 0x000BE11A /* 22-bit sw build ID */ |
254 | 274 |
|
255 | 275 | /* |
256 | 276 | * These definitions describe the hardware targeted by this software. |
|
301 | 321 | #define XCHAL_DCACHE_IS_WRITEBACK 0 /* writeback feature */ |
302 | 322 | #define XCHAL_DCACHE_IS_COHERENT 0 /* MP coherence feature */ |
303 | 323 |
|
| 324 | + |
304 | 325 | #define XCHAL_HAVE_PREFETCH 0 /* PREFCTL register */ |
| 326 | + |
305 | 327 | #define XCHAL_HAVE_PREFETCH_L1 0 /* prefetch to L1 cache */ |
306 | 328 | #define XCHAL_PREFETCH_CASTOUT_LINES 0 /* dcache pref. castout bufsz */ |
307 | 329 | #define XCHAL_PREFETCH_ENTRIES 0 /* cache prefetch entries */ |
| 330 | + |
| 331 | + |
| 332 | +#define XCHAL_HAVE_DCACHE_PREFETCH 0 |
| 333 | +#define XCHAL_HAVE_DCACHE_PREFETCH_L1 0 /* prefetch to L1 cache */ |
| 334 | +#define XCHAL_DCACHE_PREFETCH_ENTRIES 0 /* cache prefetch entries */ |
| 335 | + |
| 336 | +#define XCHAL_HAVE_ICACHE_PREFETCH 0 |
| 337 | +#define XCHAL_HAVE_ICACHE_PREFETCH_L1 0 /* prefetch to L1 cache */ |
| 338 | +#define XCHAL_ICACHE_PREFETCH_ENTRIES 0 /* cache prefetch entries */ |
| 339 | + |
308 | 340 | #define XCHAL_PREFETCH_BLOCK_ENTRIES 0 /* prefetch block streams */ |
309 | 341 | #define XCHAL_HAVE_CACHE_BLOCKOPS 0 /* block prefetch for caches */ |
310 | 342 | #define XCHAL_HAVE_CME_DOWNGRADES 0 |
|
324 | 356 |
|
325 | 357 | #define XCHAL_L1VCACHE_SIZE 0 |
326 | 358 |
|
327 | | -#define XCHAL_HAVE_L2 0 /* NX L2 cache controller */ |
328 | | -#define XCHAL_HAVE_L2_CACHE 0 |
329 | | -#define XCHAL_NUM_CORES_IN_CLUSTER 0 |
| 359 | +#define XCHAL_HAVE_L2 0 /* L2 memory controller */ |
| 360 | +#define XCHAL_HAVE_L2_CACHE 0 /* L2 cache configured */ |
| 361 | +#define XCHAL_HAVE_L2_RAM 0 /* L2 cache configured */ |
330 | 362 |
|
331 | | -/* PRID_ID macros are for internal use only ... subject to removal */ |
332 | | -#define PRID_ID_SHIFT 0 |
333 | | -#define PRID_ID_BITS 4 |
334 | | -#define PRID_ID_MASK 0x0000000F |
| 363 | +/* XtSubsystem definitions might vary from L2 definitions */ |
| 364 | +#define XCHAL_SUBSYS_NUM_CORES 1 /* Number of cores in Xtsubsystem */ |
| 365 | +#define XCHAL_SUBSYS_CORE_ID_SHIFT 0 |
| 366 | +#define XCHAL_SUBSYS_CORE_ID_BITS 16 /* PRID bits for CORE_ID */ |
| 367 | +#define XCHAL_SUBSYS_CORE_ID_MASK 0x0000FFFF /* PRID mask for CORE_ID */ |
| 368 | +#define XCHAL_SUBSYS_HAVE_CCTIMER 0 /* Multicore timer */ |
| 369 | +#define XCHAL_SUBSYS_IPI_NUM_SETS 0 /* Inter-processor interrupt sets */ |
335 | 370 |
|
336 | 371 | /* This one is a form of caching, though not architecturally visible: */ |
337 | 372 | #define XCHAL_HAVE_BRANCH_PREDICTION 0 /* branch [target] prediction */ |
|
583 | 618 | #define XCHAL_INTTYPE_MASK_COR_ECC_ERR 0x00000000 |
584 | 619 | #define XCHAL_INTTYPE_MASK_WWDT 0x00000000 |
585 | 620 | #define XCHAL_INTTYPE_MASK_FXLK 0x00000000 |
| 621 | +#define XCHAL_INTTYPE_MASK_CCTIMER 0x00000000 |
586 | 622 |
|
587 | 623 | /* Interrupt numbers assigned to specific interrupt sources: */ |
588 | 624 | #define XCHAL_TIMER0_INTERRUPT 2 /* CCOMPARE0 */ |
589 | 625 | #define XCHAL_TIMER1_INTERRUPT 3 /* CCOMPARE1 */ |
590 | 626 | #define XCHAL_TIMER2_INTERRUPT XTHAL_TIMER_UNCONFIGURED |
591 | 627 | #define XCHAL_TIMER3_INTERRUPT XTHAL_TIMER_UNCONFIGURED |
592 | | -#define XCHAL_NMI_INTERRUPT 0 /* non-maskable interrupt */ |
| 628 | +#define XCHAL_NMI_INTERRUPT 0 |
593 | 629 | #define XCHAL_PROFILING_INTERRUPT 4 |
594 | 630 |
|
595 | 631 | /* Interrupt numbers for levels at which only one interrupt is configured: */ |
|
776 | 812 |
|
777 | 813 | /* See core-matmap.h header file for more details. */ |
778 | 814 |
|
| 815 | +#define XCHAL_HAVE_MMU_V3 |
779 | 816 | #define XCHAL_HAVE_TLBS 1 /* inverse of HAVE_CACHEATTR */ |
780 | 817 | #define XCHAL_HAVE_SPANNING_WAY 1 /* one way maps I+D 4GB vaddr */ |
781 | 818 | #define XCHAL_SPANNING_WAY 0 /* TLB spanning way number */ |
|
800 | 837 | #define XCHAL_MPU_ENTRIES 0 |
801 | 838 | #define XCHAL_MPU_LOCK 0 |
802 | 839 |
|
803 | | -#define XCHAL_MPU_ALIGN_REQ 1 /* MPU requires alignment of entries to background map */ |
| 840 | +#define XCHAL_MPU_ALIGN_REQ 0 /* MPU requires alignment of entries to background map */ |
804 | 841 | #define XCHAL_MPU_BACKGROUND_ENTRIES 0 /* number of entries in bg map*/ |
805 | 842 | #define XCHAL_MPU_BG_CACHEADRDIS 0 /* default CACHEADRDIS for bg */ |
806 | 843 |
|
|
823 | 860 | WWDT (Windowed Watchdog Timer) |
824 | 861 | ------------------------------------------------------------------------*/ |
825 | 862 | #define XCHAL_HAVE_WWDT 0 |
| 863 | + |
826 | 864 | #endif /* !XTENSA_HAL_NON_PRIVILEGED_ONLY */ |
827 | 865 |
|
828 | 866 |
|
|
0 commit comments