nuttx/arch/tricore/Kconfig
zhangyu117 9b9d87b69c arch/atomic: remove up_testset in spinlock
Remove the per-arch testset implementation from the spinlock layer.

The testset abstraction predates the unified spinlock.h API and is no
longer used now that all arches provide spin_lock_irqsave()/
spin_unlock_irqrestore() directly.  Drop the per-arch *_testset.{c,S}
implementations and spinlock.h files for arm, sim, sparc, tricore,
x86_64, and xtensa, along with the CXD56_TESTSET,
CXD56_TESTSET_WITH_HWSEM, and CXD56_ATOMIC_WITH_HWSEM Kconfig options
in arch/arm/src/cxd56xx, and simplify the CXD56 semaphore pool loop
in cxd56_sph.c to a single unconditional range.

Signed-off-by: zhangyu117 <zhangyu117@xiaomi.com>
2026-09-08 08:58:54 +08:00

146 lines
3 KiB
Text

#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
if ARCH_TRICORE
comment "Tricore Options"
choice
prompt "Tricore Toolchain Selection"
default TRICORE_TOOLCHAIN_GNU
config TRICORE_TOOLCHAIN_TASKING
bool "AURIX Tasking C/C++ toolchain"
select ARCH_TOOLCHAIN_TASKING
config TRICORE_TOOLCHAIN_GNU
bool "Generic GNU toolchain"
select ARCH_TOOLCHAIN_GNU
---help---
This option should work for any modern GNU toolchain (GCC 4.5 or newer)
endchoice # Tricore Toolchain Selection
config ARCH_TC1V6
bool
select ARCH_HAVE_DEBUG
select ARCH_HAVE_MPU
select ARCH_HAVE_IRQTRIGGER
select ARCH_HAVE_PERF_EVENTS
select ARCH_HAVE_POWEROFF
select ARCH_HAVE_PERF_EVENTS_USER_ACCESS
select ARCH_HAVE_SETJMP
select ARCH_HAVE_RESET
select ARCH_SETJMP_H
default n
config ARCH_TC1V8
bool
select ARCH_DCACHE
select ARCH_HAVE_DEBUG
select ARCH_ICACHE
select ARCH_HAVE_MPU
select ARCH_HAVE_IRQTRIGGER
select ARCH_HAVE_PERF_EVENTS
select ARCH_HAVE_PERF_EVENTS_USER_ACCESS
select ARCH_HAVE_POWEROFF
select ARCH_HAVE_SETJMP
select ARCH_HAVE_RESET
select ARCH_SETJMP_H
default n
config ARCH_FAMILY
string
default "tc1v6" if ARCH_TC1V6
default "tc1v8" if ARCH_TC1V8
config ARCH_CHIP_TC3XX
bool
select ARCH_TC1V6
select ARCH_HAVE_ADDRENV
select ARCH_HAVE_I2CRESET
select ARCH_MINIMAL_VECTORTABLE
select ARCH_MINIMAL_VECTORTABLE_DYNAMIC
select ALARM_ARCH
select ONESHOT
select ONESHOT_COUNT
---help---
Infineon aurix tc3xx (six cores)
config ARCH_CHIP_TC4XX
bool
select ARCH_TC1V8
select ARCH_HAVE_ADDRENV
select ARCH_HAVE_FPU if !TRICORE_CSRM
select ARCH_HAVE_I2CRESET
select ARCH_MINIMAL_VECTORTABLE
select ARCH_MINIMAL_VECTORTABLE_DYNAMIC
select ALARM_ARCH
select ONESHOT
select ONESHOT_COUNT
select HAVE_SECURITY_CORE
---help---
Infineon aurix tc4xx (six cores and one security core)
config ARCH_CHIP_TC397
bool "AURIX CHIP TC397"
select ARCH_CHIP_TC3XX
config ARCH_CHIP_TC4DA
bool "AURIX CHIP TC4DA"
select ARCH_CHIP_TC4XX
config ARCH_CHIP
string
default "tc397" if ARCH_CHIP_TC397
default "tc4da" if ARCH_CHIP_TC4DA
config ARCH_DCACHE_ADDR
hex "AURIX Dcache base address"
default 0x7003C000
---help---
AURIX Dcache base address, dcache line clear and invalidate need
use the address.
config ARCH_MPU_NSETS
int "Protection sets number"
default 8
---help---
The protection sets count
config ARCH_MPU_DATA_NREGIONS
int "Data regions number"
default 24
---help---
The data regions count
config ARCH_MPU_CODE_NREGIONS
int "Code regions variables"
default 16
---help---
The code regions count
config HAVE_SECURITY_CORE
bool
---help---
In addition to the 6 cores, tc4xx also has one more security core.
config CPU_COREID
int "TRICORE CPU CORE ID"
default 0
range 0 6
if ARCH_CHIP_TC3XX
source "arch/tricore/src/tc3xx/Kconfig"
endif
if ARCH_CHIP_TC4XX
source "arch/tricore/src/tc4xx/Kconfig"
endif
if ARCH_CHIP_TC397
source "arch/tricore/src/tc397/Kconfig"
endif
if ARCH_CHIP_TC4DA
source "arch/tricore/src/tc4da/Kconfig"
endif
endif # ARCH_TRICORE