* arch/xtensa/include/esp32s3/core-isa.h
* Xtensa processor core configuration information.
*
* Customer ID=15128; Build=0x90f1f; Copyright (c) 1999-2021 Tensilica Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
****************************************************************************/
#ifndef __ARCH_XTENSA_INCLUDE_ESP32S3_CORE_ISA_H
#define __ARCH_XTENSA_INCLUDE_ESP32S3_CORE_ISA_H
* Pre-processor Definitions
****************************************************************************/
* Parameters Useful for Any Code, USER or PRIVILEGED
****************************************************************************/
* is configured, and a value of 0 otherwise. These macros are always
* defined.
*/
* ISA
****************************************************************************/
#define XCHAL_HAVE_BE 0
#define XCHAL_HAVE_WINDOWED 1
#define XCHAL_NUM_AREGS 64
#define XCHAL_NUM_AREGS_LOG2 6
#define XCHAL_MAX_INSTRUCTION_SIZE 4
#define XCHAL_HAVE_DEBUG 1
#define XCHAL_HAVE_DENSITY 1
#define XCHAL_HAVE_LOOPS 1
#define XCHAL_LOOP_BUFFER_SIZE 256
#define XCHAL_HAVE_NSA 1
#define XCHAL_HAVE_MINMAX 1
#define XCHAL_HAVE_SEXT 1
#define XCHAL_HAVE_DEPBITS 0
#define XCHAL_HAVE_CLAMPS 1
#define XCHAL_HAVE_MUL16 1
#define XCHAL_HAVE_MUL32 1
#define XCHAL_HAVE_MUL32_HIGH 1
#define XCHAL_HAVE_DIV32 1
#define XCHAL_HAVE_L32R 1
#define XCHAL_HAVE_ABSOLUTE_LITERALS 0
#define XCHAL_HAVE_CONST16 0
#define XCHAL_HAVE_ADDX 1
#define XCHAL_HAVE_EXCLUSIVE 0
#define XCHAL_HAVE_WIDE_BRANCHES 0
#define XCHAL_HAVE_PREDICTED_BRANCHES 0
#define XCHAL_HAVE_CALL4AND12 1
#define XCHAL_HAVE_ABS 1
#define XCHAL_HAVE_RELEASE_SYNC 1
#define XCHAL_HAVE_S32C1I 1
#define XCHAL_HAVE_SPECULATION 0
#define XCHAL_HAVE_FULL_RESET 1
#define XCHAL_NUM_CONTEXTS 1
#define XCHAL_NUM_MISC_REGS 4
#define XCHAL_HAVE_TAP_MASTER 0
#define XCHAL_HAVE_PRID 1
#define XCHAL_HAVE_EXTERN_REGS 1
#define XCHAL_HAVE_MX 0
#define XCHAL_HAVE_MP_INTERRUPTS 0
#define XCHAL_HAVE_MP_RUNSTALL 0
#define XCHAL_HAVE_PSO 0
#define XCHAL_HAVE_PSO_CDM 0
#define XCHAL_HAVE_PSO_FULL_RETENTION 0
#define XCHAL_HAVE_THREADPTR 1
#define XCHAL_HAVE_BOOLEANS 1
#define XCHAL_HAVE_CP 1
#define XCHAL_CP_MAXCFG 8
#define XCHAL_HAVE_MAC16 1
#define XCHAL_HAVE_FUSION 0
#define XCHAL_HAVE_FUSION_FP 0
#define XCHAL_HAVE_FUSION_LOW_POWER 0
#define XCHAL_HAVE_FUSION_AES 0
#define XCHAL_HAVE_FUSION_CONVENC 0
#define XCHAL_HAVE_FUSION_LFSR_CRC 0
#define XCHAL_HAVE_FUSION_BITOPS 0
#define XCHAL_HAVE_FUSION_AVS 0
#define XCHAL_HAVE_FUSION_16BIT_BASEBAND 0
#define XCHAL_HAVE_FUSION_VITERBI 0
#define XCHAL_HAVE_FUSION_SOFTDEMAP 0
#define XCHAL_HAVE_HIFIPRO 0
#define XCHAL_HAVE_HIFI5 0
#define XCHAL_HAVE_HIFI5_NN_MAC 0
#define XCHAL_HAVE_HIFI5_VFPU 0
#define XCHAL_HAVE_HIFI5_HP_VFPU 0
#define XCHAL_HAVE_HIFI4 0
#define XCHAL_HAVE_HIFI4_VFPU 0
#define XCHAL_HAVE_HIFI3 0
#define XCHAL_HAVE_HIFI3_VFPU 0
#define XCHAL_HAVE_HIFI3Z 0
#define XCHAL_HAVE_HIFI3Z_VFPU 0
#define XCHAL_HAVE_HIFI2 0
#define XCHAL_HAVE_HIFI2EP 0
#define XCHAL_HAVE_HIFI_MINI 0
#define XCHAL_HAVE_VECTORFPU2005 0
#define XCHAL_HAVE_USER_DPFPU 0
#define XCHAL_HAVE_USER_SPFPU 0
#define XCHAL_HAVE_FP 1
#define XCHAL_HAVE_FP_DIV 1
#define XCHAL_HAVE_FP_RECIP 1
#define XCHAL_HAVE_FP_SQRT 1
#define XCHAL_HAVE_FP_RSQRT 1
#define XCHAL_HAVE_DFP 0
#define XCHAL_HAVE_DFP_DIV 0
#define XCHAL_HAVE_DFP_RECIP 0
#define XCHAL_HAVE_DFP_SQRT 0
#define XCHAL_HAVE_DFP_RSQRT 0
#define XCHAL_HAVE_DFP_ACCEL 0
#define XCHAL_HAVE_DFP_accel XCHAL_HAVE_DFP_ACCEL
#define XCHAL_HAVE_DFPU_SINGLE_ONLY 1
#define XCHAL_HAVE_DFPU_SINGLE_DOUBLE 0
#define XCHAL_HAVE_VECTRA1 0
#define XCHAL_HAVE_VECTRALX 0
#define XCHAL_HAVE_FUSIONG 0
#define XCHAL_HAVE_FUSIONG3 0
#define XCHAL_HAVE_FUSIONG6 0
#define XCHAL_HAVE_FUSIONG_SP_VFPU 0
#define XCHAL_HAVE_FUSIONG_DP_VFPU 0
#define XCHAL_FUSIONG_SIMD32 0
#define XCHAL_HAVE_PDX 0
#define XCHAL_PDX_SIMD32 0
#define XCHAL_HAVE_PDX4 0
#define XCHAL_HAVE_PDX8 0
#define XCHAL_HAVE_PDX16 0
#define XCHAL_HAVE_CONNXD2 0
#define XCHAL_HAVE_CONNXD2_DUALLSFLIX 0
#define XCHAL_HAVE_BBE16 0
#define XCHAL_HAVE_BBE16_RSQRT 0
#define XCHAL_HAVE_BBE16_VECDIV 0
#define XCHAL_HAVE_BBE16_DESPREAD 0
#define XCHAL_HAVE_BBENEP 0
#define XCHAL_HAVE_BBENEP_SP_VFPU 0
#define XCHAL_HAVE_BSP3 0
#define XCHAL_HAVE_BSP3_TRANSPOSE 0
#define XCHAL_HAVE_SSP16 0
#define XCHAL_HAVE_SSP16_VITERBI 0
#define XCHAL_HAVE_TURBO16 0
#define XCHAL_HAVE_BBP16 0
#define XCHAL_HAVE_FLIX3 0
#define XCHAL_HAVE_GRIVPEP 0
#define XCHAL_HAVE_GRIVPEP_HISTOGRAM 0
#define XCHAL_HAVE_VISION 0
#define XCHAL_VISION_SIMD16 0
#define XCHAL_VISION_TYPE 0
#define XCHAL_VISION_QUAD_MAC_TYPE 0
#define XCHAL_HAVE_VISION_HISTOGRAM 0
#define XCHAL_HAVE_VISION_SP_VFPU 0
#define XCHAL_HAVE_VISION_HP_VFPU 0
#define XCHAL_HAVE_VISIONC 0
* MISC
****************************************************************************/
#define XCHAL_NUM_LOADSTORE_UNITS 1
#define XCHAL_NUM_WRITEBUFFER_ENTRIES 4
#define XCHAL_INST_FETCH_WIDTH 4
#define XCHAL_DATA_WIDTH 16
#define XCHAL_DATA_PIPE_DELAY 1
#define XCHAL_CLOCK_GATING_GLOBAL 1
#define XCHAL_CLOCK_GATING_FUNCUNIT 1
* and store instructions (see ISA)
*/
#define XCHAL_UNALIGNED_LOAD_EXCEPTION 0
#define XCHAL_UNALIGNED_STORE_EXCEPTION 0
#define XCHAL_UNALIGNED_LOAD_HW 1
#define XCHAL_UNALIGNED_STORE_HW 1
#define XCHAL_SW_VERSION 1200012
#define XCHAL_CORE_ID "LX7_ESP32_S3_MP"
* (CoreID) set in the Xtensa
* Processor Generator
*/
#define XCHAL_BUILD_UNIQUE_ID 0x00090F1F
#define XCHAL_HW_CONFIGID0 0xC2F0FFFE
#define XCHAL_HW_CONFIGID1 0x23090F1F
#define XCHAL_HW_VERSION_NAME "LX7.0.12"
#define XCHAL_HW_VERSION_MAJOR 2700
#define XCHAL_HW_VERSION_MINOR 12
#define XCHAL_HW_VERSION 270012
#define XCHAL_HW_REL_LX7 1
#define XCHAL_HW_REL_LX7_0 1
#define XCHAL_HW_REL_LX7_0_12 1
#define XCHAL_HW_CONFIGID_RELIABLE 1
#define XCHAL_HW_MIN_VERSION_MAJOR 2700
#define XCHAL_HW_MIN_VERSION_MINOR 12
#define XCHAL_HW_MIN_VERSION 270012
#define XCHAL_HW_MAX_VERSION_MAJOR 2700
#define XCHAL_HW_MAX_VERSION_MINOR 12
#define XCHAL_HW_MAX_VERSION 270012
* CACHE
****************************************************************************/
#define XCHAL_ICACHE_LINESIZE 4
#define XCHAL_DCACHE_LINESIZE 16
#define XCHAL_ICACHE_LINEWIDTH 2
#define XCHAL_DCACHE_LINEWIDTH 4
#define XCHAL_ICACHE_SIZE 0
#define XCHAL_DCACHE_SIZE 0
#define XCHAL_DCACHE_IS_WRITEBACK 0
#define XCHAL_DCACHE_IS_COHERENT 0
#define XCHAL_HAVE_PREFETCH 0
#define XCHAL_HAVE_PREFETCH_L1 0
#define XCHAL_PREFETCH_CASTOUT_LINES 0
#define XCHAL_PREFETCH_ENTRIES 0
#define XCHAL_PREFETCH_BLOCK_ENTRIES 0
#define XCHAL_HAVE_CACHE_BLOCKOPS 0
#define XCHAL_HAVE_ICACHE_TEST 0
#define XCHAL_HAVE_DCACHE_TEST 0
#define XCHAL_HAVE_ICACHE_DYN_WAYS 0
#define XCHAL_HAVE_DCACHE_DYN_WAYS 0
* Parameters Useful for PRIVILEGED (Supervisory or Non-Virtualized) Code
****************************************************************************/
#ifndef XTENSA_HAL_NON_PRIVILEGED_ONLY
* CACHE
****************************************************************************/
#define XCHAL_HAVE_PIF 1
#define XCHAL_HAVE_AXI 0
#define XCHAL_HAVE_AXI_ECC 0
#define XCHAL_HAVE_ACELITE 0
#define XCHAL_HAVE_PIF_WR_RESP 0
#define XCHAL_HAVE_PIF_REQ_ATTR 1
#define XCHAL_ICACHE_SETWIDTH 0
#define XCHAL_DCACHE_SETWIDTH 0
#define XCHAL_ICACHE_WAYS 1
#define XCHAL_DCACHE_WAYS 1
#define XCHAL_ICACHE_LINE_LOCKABLE 0
#define XCHAL_DCACHE_LINE_LOCKABLE 0
#define XCHAL_ICACHE_ECC_PARITY 0
#define XCHAL_DCACHE_ECC_PARITY 0
#define XCHAL_ICACHE_ECC_WIDTH 1
#define XCHAL_DCACHE_ECC_WIDTH 1
#define XCHAL_ICACHE_ACCESS_SIZE 1
#define XCHAL_DCACHE_ACCESS_SIZE 1
#define XCHAL_DCACHE_BANKS 0
#define XCHAL_CA_BITS 4
* INTERNAL I/D RAM/ROMs and XLMI
****************************************************************************/
#define XCHAL_NUM_INSTROM 0
#define XCHAL_NUM_INSTRAM 1
#define XCHAL_NUM_DATAROM 0
#define XCHAL_NUM_DATARAM 1
#define XCHAL_NUM_URAM 0
#define XCHAL_NUM_XLMI 0
#define XCHAL_INSTRAM0_VADDR 0x40000000
#define XCHAL_INSTRAM0_PADDR 0x40000000
#define XCHAL_INSTRAM0_SIZE 67108864
#define XCHAL_INSTRAM0_ECC_PARITY 0
#define XCHAL_HAVE_INSTRAM0 1
#define XCHAL_INSTRAM0_HAVE_IDMA 0
#define XCHAL_DATARAM0_VADDR 0x3C000000
#define XCHAL_DATARAM0_PADDR 0x3C000000
#define XCHAL_DATARAM0_SIZE 67108864
#define XCHAL_DATARAM0_ECC_PARITY 0
#define XCHAL_DATARAM0_BANKS 1
#define XCHAL_HAVE_DATARAM0 1
#define XCHAL_DATARAM0_HAVE_IDMA 0
#define XCHAL_HAVE_IDMA 0
#define XCHAL_HAVE_IDMA_TRANSPOSE 0
#define XCHAL_HAVE_IMEM_LOADSTORE 1
* INTERRUPTS and TIMERS
****************************************************************************/
#define XCHAL_HAVE_INTERRUPTS 1
#define XCHAL_HAVE_HIGHPRI_INTERRUPTS 1
#define XCHAL_HAVE_NMI 1
#define XCHAL_HAVE_CCOUNT 1
#define XCHAL_NUM_TIMERS 3
#define XCHAL_NUM_INTERRUPTS 32
#define XCHAL_NUM_INTERRUPTS_LOG2 5
#define XCHAL_NUM_EXTINTERRUPTS 26
#define XCHAL_NUM_INTLEVELS 6
* (not including level zero)
*/
#define XCHAL_EXCM_LEVEL 3
#define XCHAL_INTLEVEL1_MASK 0x000637FF
#define XCHAL_INTLEVEL2_MASK 0x00380000
#define XCHAL_INTLEVEL3_MASK 0x28C08800
#define XCHAL_INTLEVEL4_MASK 0x53000000
#define XCHAL_INTLEVEL5_MASK 0x84010000
#define XCHAL_INTLEVEL6_MASK 0x00000000
#define XCHAL_INTLEVEL7_MASK 0x00004000
#define XCHAL_INTLEVEL1_ANDBELOW_MASK 0x000637FF
#define XCHAL_INTLEVEL2_ANDBELOW_MASK 0x003E37FF
#define XCHAL_INTLEVEL3_ANDBELOW_MASK 0x28FEBFFF
#define XCHAL_INTLEVEL4_ANDBELOW_MASK 0x7BFEBFFF
#define XCHAL_INTLEVEL5_ANDBELOW_MASK 0xFFFFBFFF
#define XCHAL_INTLEVEL6_ANDBELOW_MASK 0xFFFFBFFF
#define XCHAL_INTLEVEL7_ANDBELOW_MASK 0xFFFFFFFF
#define XCHAL_INT0_LEVEL 1
#define XCHAL_INT1_LEVEL 1
#define XCHAL_INT2_LEVEL 1
#define XCHAL_INT3_LEVEL 1
#define XCHAL_INT4_LEVEL 1
#define XCHAL_INT5_LEVEL 1
#define XCHAL_INT6_LEVEL 1
#define XCHAL_INT7_LEVEL 1
#define XCHAL_INT8_LEVEL 1
#define XCHAL_INT9_LEVEL 1
#define XCHAL_INT10_LEVEL 1
#define XCHAL_INT11_LEVEL 3
#define XCHAL_INT12_LEVEL 1
#define XCHAL_INT13_LEVEL 1
#define XCHAL_INT14_LEVEL 7
#define XCHAL_INT15_LEVEL 3
#define XCHAL_INT16_LEVEL 5
#define XCHAL_INT17_LEVEL 1
#define XCHAL_INT18_LEVEL 1
#define XCHAL_INT19_LEVEL 2
#define XCHAL_INT20_LEVEL 2
#define XCHAL_INT21_LEVEL 2
#define XCHAL_INT22_LEVEL 3
#define XCHAL_INT23_LEVEL 3
#define XCHAL_INT24_LEVEL 4
#define XCHAL_INT25_LEVEL 4
#define XCHAL_INT26_LEVEL 5
#define XCHAL_INT27_LEVEL 3
#define XCHAL_INT28_LEVEL 4
#define XCHAL_INT29_LEVEL 3
#define XCHAL_INT30_LEVEL 4
#define XCHAL_INT31_LEVEL 5
#define XCHAL_DEBUGLEVEL 6
#define XCHAL_HAVE_DEBUG_EXTERN_INT 1
#define XCHAL_NMILEVEL 7
* EXCSAVE/EPS/EPC_n, RFI n)
*/
#define XCHAL_INT0_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
#define XCHAL_INT1_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
#define XCHAL_INT2_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
#define XCHAL_INT3_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
#define XCHAL_INT4_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
#define XCHAL_INT5_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
#define XCHAL_INT6_TYPE XTHAL_INTTYPE_TIMER
#define XCHAL_INT7_TYPE XTHAL_INTTYPE_SOFTWARE
#define XCHAL_INT8_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
#define XCHAL_INT9_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
#define XCHAL_INT10_TYPE XTHAL_INTTYPE_EXTERN_EDGE
#define XCHAL_INT11_TYPE XTHAL_INTTYPE_PROFILING
#define XCHAL_INT12_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
#define XCHAL_INT13_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
#define XCHAL_INT14_TYPE XTHAL_INTTYPE_NMI
#define XCHAL_INT15_TYPE XTHAL_INTTYPE_TIMER
#define XCHAL_INT16_TYPE XTHAL_INTTYPE_TIMER
#define XCHAL_INT17_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
#define XCHAL_INT18_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
#define XCHAL_INT19_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
#define XCHAL_INT20_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
#define XCHAL_INT21_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
#define XCHAL_INT22_TYPE XTHAL_INTTYPE_EXTERN_EDGE
#define XCHAL_INT23_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
#define XCHAL_INT24_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
#define XCHAL_INT25_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
#define XCHAL_INT26_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
#define XCHAL_INT27_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
#define XCHAL_INT28_TYPE XTHAL_INTTYPE_EXTERN_EDGE
#define XCHAL_INT29_TYPE XTHAL_INTTYPE_SOFTWARE
#define XCHAL_INT30_TYPE XTHAL_INTTYPE_EXTERN_EDGE
#define XCHAL_INT31_TYPE XTHAL_INTTYPE_EXTERN_LEVEL
#define XCHAL_INTTYPE_MASK_UNCONFIGURED 0x00000000
#define XCHAL_INTTYPE_MASK_SOFTWARE 0x20000080
#define XCHAL_INTTYPE_MASK_EXTERN_EDGE 0x50400400
#define XCHAL_INTTYPE_MASK_EXTERN_LEVEL 0x8FBE333F
#define XCHAL_INTTYPE_MASK_TIMER 0x00018040
#define XCHAL_INTTYPE_MASK_NMI 0x00004000
#define XCHAL_INTTYPE_MASK_WRITE_ERROR 0x00000000
#define XCHAL_INTTYPE_MASK_PROFILING 0x00000800
#define XCHAL_INTTYPE_MASK_IDMA_DONE 0x00000000
#define XCHAL_INTTYPE_MASK_IDMA_ERR 0x00000000
#define XCHAL_INTTYPE_MASK_GS_ERR 0x00000000
#define XTHAL_TIMER_UNCONFIGURED -1
#define XCHAL_TIMER0_INTERRUPT 6
#define XCHAL_SOFTWARE0_INTERRUPT 7
#define XCHAL_TIMER1_INTERRUPT 15
#define XCHAL_TIMER2_INTERRUPT 16
#define XCHAL_TIMER3_INTERRUPT XTHAL_TIMER_UNCONFIGURED
#define XCHAL_NMI_INTERRUPT 14
#define XCHAL_PROFILING_INTERRUPT 11
#define XCHAL_SOFTWARE1_INTERRUPT 29
#define XCHAL_INTLEVEL7_NUM 14
* These macros describe how Xtensa processor interrupt numbers
* (as numbered internally, eg. in INTERRUPT and INTENABLE registers)
* map to external BInterrupt<n> pins, for those interrupts
* configured as external (level-triggered, edge-triggered, or NMI).
* See the Xtensa processor databook for more details.
*/
#define XCHAL_EXTINT0_NUM 0
#define XCHAL_EXTINT1_NUM 1
#define XCHAL_EXTINT2_NUM 2
#define XCHAL_EXTINT3_NUM 3
#define XCHAL_EXTINT4_NUM 4
#define XCHAL_EXTINT5_NUM 5
#define XCHAL_EXTINT6_NUM 8
#define XCHAL_EXTINT7_NUM 9
#define XCHAL_EXTINT8_NUM 10
#define XCHAL_EXTINT9_NUM 12
#define XCHAL_EXTINT10_NUM 13
#define XCHAL_EXTINT11_NUM 14
#define XCHAL_EXTINT12_NUM 17
#define XCHAL_EXTINT13_NUM 18
#define XCHAL_EXTINT14_NUM 19
#define XCHAL_EXTINT15_NUM 20
#define XCHAL_EXTINT16_NUM 21
#define XCHAL_EXTINT17_NUM 22
#define XCHAL_EXTINT18_NUM 23
#define XCHAL_EXTINT19_NUM 24
#define XCHAL_EXTINT20_NUM 25
#define XCHAL_EXTINT21_NUM 26
#define XCHAL_EXTINT22_NUM 27
#define XCHAL_EXTINT23_NUM 28
#define XCHAL_EXTINT24_NUM 30
#define XCHAL_EXTINT25_NUM 31
#define XCHAL_INT0_EXTNUM 0
#define XCHAL_INT1_EXTNUM 1
#define XCHAL_INT2_EXTNUM 2
#define XCHAL_INT3_EXTNUM 3
#define XCHAL_INT4_EXTNUM 4
#define XCHAL_INT5_EXTNUM 5
#define XCHAL_INT8_EXTNUM 6
#define XCHAL_INT9_EXTNUM 7
#define XCHAL_INT10_EXTNUM 8
#define XCHAL_INT12_EXTNUM 9
#define XCHAL_INT13_EXTNUM 10
#define XCHAL_INT14_EXTNUM 11
#define XCHAL_INT17_EXTNUM 12
#define XCHAL_INT18_EXTNUM 13
#define XCHAL_INT19_EXTNUM 14
#define XCHAL_INT20_EXTNUM 15
#define XCHAL_INT21_EXTNUM 16
#define XCHAL_INT22_EXTNUM 17
#define XCHAL_INT23_EXTNUM 18
#define XCHAL_INT24_EXTNUM 19
#define XCHAL_INT25_EXTNUM 20
#define XCHAL_INT26_EXTNUM 21
#define XCHAL_INT27_EXTNUM 22
#define XCHAL_INT28_EXTNUM 23
#define XCHAL_INT30_EXTNUM 24
#define XCHAL_INT31_EXTNUM 25
* EXCEPTIONS and VECTORS
****************************************************************************/
#define XCHAL_XEA_VERSION 2
* number: 1 == XEA1 (old)
* 2 == XEA2 (new)
* 0 == XEAX (extern) or TX
*/
#define XCHAL_HAVE_XEA1 0
#define XCHAL_HAVE_XEA2 1
#define XCHAL_HAVE_XEA3 0
#define XCHAL_HAVE_XEAX 0
#define XCHAL_HAVE_EXCEPTIONS 1
#define XCHAL_HAVE_HALT 0
#define XCHAL_HAVE_BOOTLOADER 0
#define XCHAL_HAVE_MEM_ECC_PARITY 0
#define XCHAL_HAVE_VECTOR_SELECT 1
#define XCHAL_HAVE_VECBASE 1
#define XCHAL_VECBASE_RESET_VADDR 0x40000000
#define XCHAL_VECBASE_RESET_PADDR 0x40000000
#define XCHAL_RESET_VECBASE_OVERLAP 0
#define XCHAL_RESET_VECTOR0_VADDR 0x50000000
#define XCHAL_RESET_VECTOR0_PADDR 0x50000000
#define XCHAL_RESET_VECTOR1_VADDR 0x40000400
#define XCHAL_RESET_VECTOR1_PADDR 0x40000400
#define XCHAL_RESET_VECTOR_VADDR 0x40000400
#define XCHAL_RESET_VECTOR_PADDR 0x40000400
#define XCHAL_USER_VECOFS 0x00000340
#define XCHAL_USER_VECTOR_VADDR 0x40000340
#define XCHAL_USER_VECTOR_PADDR 0x40000340
#define XCHAL_KERNEL_VECOFS 0x00000300
#define XCHAL_KERNEL_VECTOR_VADDR 0x40000300
#define XCHAL_KERNEL_VECTOR_PADDR 0x40000300
#define XCHAL_DOUBLEEXC_VECOFS 0x000003C0
#define XCHAL_DOUBLEEXC_VECTOR_VADDR 0x400003C0
#define XCHAL_DOUBLEEXC_VECTOR_PADDR 0x400003C0
#define XCHAL_WINDOW_OF4_VECOFS 0x00000000
#define XCHAL_WINDOW_UF4_VECOFS 0x00000040
#define XCHAL_WINDOW_OF8_VECOFS 0x00000080
#define XCHAL_WINDOW_UF8_VECOFS 0x000000C0
#define XCHAL_WINDOW_OF12_VECOFS 0x00000100
#define XCHAL_WINDOW_UF12_VECOFS 0x00000140
#define XCHAL_WINDOW_VECTORS_VADDR 0x40000000
#define XCHAL_WINDOW_VECTORS_PADDR 0x40000000
#define XCHAL_INTLEVEL2_VECOFS 0x00000180
#define XCHAL_INTLEVEL2_VECTOR_VADDR 0x40000180
#define XCHAL_INTLEVEL2_VECTOR_PADDR 0x40000180
#define XCHAL_INTLEVEL3_VECOFS 0x000001C0
#define XCHAL_INTLEVEL3_VECTOR_VADDR 0x400001C0
#define XCHAL_INTLEVEL3_VECTOR_PADDR 0x400001C0
#define XCHAL_INTLEVEL4_VECOFS 0x00000200
#define XCHAL_INTLEVEL4_VECTOR_VADDR 0x40000200
#define XCHAL_INTLEVEL4_VECTOR_PADDR 0x40000200
#define XCHAL_INTLEVEL5_VECOFS 0x00000240
#define XCHAL_INTLEVEL5_VECTOR_VADDR 0x40000240
#define XCHAL_INTLEVEL5_VECTOR_PADDR 0x40000240
#define XCHAL_INTLEVEL6_VECOFS 0x00000280
#define XCHAL_INTLEVEL6_VECTOR_VADDR 0x40000280
#define XCHAL_INTLEVEL6_VECTOR_PADDR 0x40000280
#define XCHAL_DEBUG_VECOFS XCHAL_INTLEVEL6_VECOFS
#define XCHAL_DEBUG_VECTOR_VADDR XCHAL_INTLEVEL6_VECTOR_VADDR
#define XCHAL_DEBUG_VECTOR_PADDR XCHAL_INTLEVEL6_VECTOR_PADDR
#define XCHAL_NMI_VECOFS 0x000002C0
#define XCHAL_NMI_VECTOR_VADDR 0x400002C0
#define XCHAL_NMI_VECTOR_PADDR 0x400002C0
#define XCHAL_INTLEVEL7_VECOFS XCHAL_NMI_VECOFS
#define XCHAL_INTLEVEL7_VECTOR_VADDR XCHAL_NMI_VECTOR_VADDR
#define XCHAL_INTLEVEL7_VECTOR_PADDR XCHAL_NMI_VECTOR_PADDR
* DEBUG MODULE
****************************************************************************/
#define XCHAL_HAVE_DEBUG_ERI 1
#define XCHAL_HAVE_DEBUG_APB 0
#define XCHAL_HAVE_DEBUG_JTAG 1
#define XCHAL_HAVE_OCD 1
#define XCHAL_NUM_IBREAK 2
#define XCHAL_NUM_DBREAK 2
#define XCHAL_HAVE_OCD_DIR_ARRAY 0
#define XCHAL_HAVE_OCD_LS32DDR 1
#define XCHAL_HAVE_TRAX 1
#define XCHAL_TRAX_MEM_SIZE 16384
#define XCHAL_TRAX_MEM_SHAREABLE 1
#define XCHAL_TRAX_ATB_WIDTH 0
#define XCHAL_TRAX_TIME_WIDTH 0
#define XCHAL_NUM_PERF_COUNTERS 2
* MMU
****************************************************************************/
#define XCHAL_HAVE_TLBS 1
#define XCHAL_HAVE_SPANNING_WAY 1
#define XCHAL_SPANNING_WAY 0
#define XCHAL_HAVE_IDENTITY_MAP 1
#define XCHAL_HAVE_CACHEATTR 0
#define XCHAL_HAVE_MIMIC_CACHEATTR 1
#define XCHAL_HAVE_XLT_CACHEATTR 0
#define XCHAL_HAVE_PTP_MMU 0
* [autorefill] and protection)
* usable for an MMU-based OS
*/
#define XCHAL_MMU_ASID_BITS 0
#define XCHAL_MMU_RINGS 1
#define XCHAL_MMU_RING_BITS 0
* MPU
****************************************************************************/
#define XCHAL_HAVE_MPU 0
#define XCHAL_MPU_ENTRIES 0
#define XCHAL_MPU_ALIGN_REQ 1
#define XCHAL_MPU_BACKGROUND_ENTRIES 0
#define XCHAL_MPU_BG_CACHEADRDIS 0
#define XCHAL_MPU_ALIGN_BITS 0
#define XCHAL_MPU_ALIGN 0
#endif
#endif