| # Kconfig - XTENSA architecture configuration options |
| # |
| # Copyright (c) 2016 Cadence Design Systems, Inc. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| choice |
| prompt "XTENSA core Selection" |
| depends on XTENSA |
| gsource "arch/xtensa/soc/*/Kconfig.soc" |
| endchoice |
| |
| menu "XTENSA Options" |
| depends on XTENSA |
| |
| config ARCH |
| default "xtensa" |
| |
| config SIMULATOR_XTENSA |
| bool |
| prompt "Simulator Configuration" |
| default n |
| help |
| Specify if the board configuration should be treated as a simulator. |
| |
| config SYS_CLOCK_HW_CYCLES_PER_SEC |
| int |
| prompt "Hardware clock cycles per second, 2000000 for ISS" |
| default 2000000 |
| range 1000000 1000000000 |
| help |
| This option specifies hardware clock. |
| |
| config XTENSA_NO_IPC |
| bool "Core has no IPC support" |
| select ATOMIC_OPERATIONS_C |
| default n |
| help |
| Uncheck this if you core does not implement "SCOMPARE1" register and "s32c1i" |
| instruction. |
| |
| config SW_ISR_TABLE |
| bool |
| prompt "Enable software interrupt handler table" |
| default y |
| help |
| Enable an interrupt handler table implemented in software. This |
| table, unlike ISRs connected directly in the vector table, allow |
| a parameter to be passed to the interrupt handlers. Also, invoking |
| the exception/interrupt exit stub is automatically done. |
| |
| config XTENSA_RESET_VECTOR |
| bool |
| prompt "Build reset vector code" |
| default y |
| help |
| This option controls whether the initial reset vector code is built. |
| This is always needed for the simulator. Real boards may already |
| implement this in boot ROM. |
| |
| config XTENSA_USE_CORE_CRT1 |
| bool |
| prompt "Use crt1.S from core" |
| default y |
| help |
| SoC or boards might define their own __start by setting this setting |
| to false. |
| |
| menu "Specific core configuration" |
| |
| config IRQ_OFFLOAD_INTNUM |
| int |
| prompt "IRQ offload SW interrupt index" |
| help |
| The index of the software interrupt to be used for IRQ offload. |
| |
| Please note that in order for IRQ offload to work correctly the selected |
| interrupt shall have its priority shall not exceed XCHAL_EXCM_LEVEL. |
| |
| config XTENSA_OMIT_HIGH_INTERRUPTS |
| bool |
| prompt "Skip generation of vectors for high priority interrupts" |
| default n |
| help |
| Setting this to y causes the interrupt vectors for "high |
| priority" Xtensa interrupts (those not masked by the EXCM bit |
| in PS) to be left ungenerated, so they can be handled by |
| application code instead. Note that high priority interrupts |
| cannot safely be handled by C code anyway (they will interrupt |
| register window exceptions, which cannot be made reentrant, so |
| the code under the handler must not emit them), though some |
| devices might still want to use built-in handling for things |
| like watchdogs which do not need to return into interrupted |
| code. Default is "n" for legacy compatibility. Consider |
| changing to "y" in the future. |
| |
| config XTENSA_ASM2 |
| bool |
| prompt "New-style Xtensa context switch & interrupt layer" |
| default n |
| select USE_SWITCH |
| help |
| This selects a new implementation of context switching and |
| interrupt handling. Advantages are a much lower interrupt |
| overhead and smaller code size, and this scheme is required |
| for SMP. Assumes/requires hardware that implements the |
| register window extension, however. |
| |
| config TOOLCHAIN_VARIANT |
| string |
| default RG-2016.4-linux |
| |
| gsource "arch/xtensa/soc/*/Kconfig" |
| |
| endmenu |
| |
| endmenu |