walnux/arch/arm/Kconfig
Luchian Mihai 7335b36eca
Some checks failed
Build Documentation / build-html (push) Has been cancelled
Docker-Linux / push (push) Has been cancelled
walnux: moveout
2025-11-04 19:15:10 +02:00

357 lines
No EOL
8.8 KiB
Text

#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
source "arch/arm/Kconfig.arch"
config ARCH_FAMILY
string
default "armv6-m" if ARCH_ARMV6M
default "armv7-a" if ARCH_ARMV7A
default "armv7-m" if ARCH_ARMV7M
default "armv7-r" if ARCH_ARMV7R
default "armv8-m" if ARCH_ARMV8M
default "armv8-r" if ARCH_ARMV8R
default "arm"
config ARM_THUMB
bool "Thumb Mode"
default n
config ARM_HAVE_PSCI
bool "ARM PSCI (Power State Coordination Interface) Support"
default n
---help---
This Power State Coordination Interface (PSCI) defines
a standard interface for power management. the PCSI need
to implement handling firmware at EL2 or EL3. The option
maybe not applicable for arm core without PCSI firmware
interface implement
config ARM_HAVE_WFE_SEV
bool
default n
---help---
Use WFE and SEV instructions for spinlock to reduce power consumption
config ARM_HAVE_DPFPU32
bool
select ARCH_HAVE_DPFPU
default n
---help---
FPU implemented in the VFPv[3|4]-D32 format that supports
32 double-precision floating-point registers.
config ARM_HAVE_NEON
bool
default n
select ARM_HAVE_DPFPU32
---help---
Decide whether support NEON instruction
config ARM_HAVE_DSP
bool
default n
---help---
Decide whether support DSP instruction
config ARM_HAVE_MVE
bool
default n
---help---
Decide whether support MVE instruction
config ARM_HAVE_PACBTI
bool
default n
---help---
Decide whether support PACBTI(Pointer Authentication and Branch Target Identification) Extension
config ARM_PSCI
bool "Enabled PSCI"
depends on ARM_HAVE_PSCI
default n
---help---
See ARM_HAVE_PSCI for details
config ARM_FPU_ABI_SOFT
bool "Soft Float ABI"
default n
depends on ARCH_HAVE_FPU
---help---
Pass float value via integer register (-mfloat-abi=softfp)
config ARM_DPFPU32
bool "FPU with 32 double-precision register"
default y
depends on ARCH_DPFPU && ARM_HAVE_DPFPU32
config ARM_NEON
bool "Advanced SIMD (NEON) Extension"
default y
depends on ARM_HAVE_NEON && ARM_DPFPU32
config ARM_DSP
bool "Advanced DSP Extension"
default y
depends on ARM_HAVE_DSP
---help---
Enables DSP Extension
config ARM_PACBTI
bool "Advanced PACBTI Extension"
default y
depends on ARM_HAVE_PACBTI
---help---
Enables PACBTI(Pointer Authentication and Branch Target Identification) Extension
config ARM_HAVE_MPU_UNIFIED
bool
default n
---help---
Automatically selected to indicate that the CPU supports a
unified MPU for both instruction and data addresses.
config ARM_HAVE_MPCORE
bool
default n
---help---
Decide whether support MPCore extension
config ARM_MPU
bool "MPU support"
default n
depends on ARCH_HAVE_MPU
select ARCH_USE_MPU
---help---
Build in support for the ARM Cortex-M3/4/7 Memory Protection Unit (MPU).
Check your chip specifications first; not all Cortex-M3/4/7 chips
support the MPU.
config ARM_MPU_NREGIONS
int "Number of MPU regions"
default 16 if ARCH_CORTEXM7
default 8 if !ARCH_CORTEXM7
depends on ARM_MPU
---help---
This is the number of protection regions supported by the MPU.
config ARM_MPU_RESET
bool "MPU Reset before MPU initialization"
default n
depends on ARM_MPU
---help---
Configures the MPU initialization sequence to disable the MPU
before configuring it.
This may be needed in a system with a bootloader that has
configured the MPU prior to running NuttX. This may be all that is
needed to allow booting if the previous MPU configuration allow
the system to execute the MPU initialization code. If not use
ARM_MPU_EARLY_RESET.
config ARM_MPU_EARLY_RESET
bool "MPU Early Reset"
default n
depends on ARCH_HAVE_MPU
---help---
Configures the early system initialization sequence to disable the MPU.
This may be needed in a system with a bootloader that has
configured the MPU prior to running NuttX. This is useful if the system
faults during bbs, or data initialization or before the
stm32_mpuinitialize can be called.
Note: This can be used without MPU Support enabled.
config ARM_COREDUMP_REGION
bool "Add coredump region"
depends on COREDUMP
default n
---help---
Add coredump region includes nvic and mpu for cortex-M.
config ARCH_HAVE_LOWVECTORS
bool
config ARCH_LOWVECTORS
bool "Vectors in low memory"
default n
depends on ARCH_HAVE_LOWVECTORS
---help---
Support ARM vectors in low memory.
config ARCH_ROMPGTABLE
bool "ROM page table"
default n
depends on ARCH_USE_MMU
---help---
Support a fixed memory mapping use a (read-only) page table in
ROM/FLASH.
config ARCH_HAVE_HARDFAULT_DEBUG
bool
default n
config DEBUG_HARDFAULT_ALERT
bool "Hard-Fault Alert Debug"
default n
depends on ARCH_HAVE_HARDFAULT_DEBUG && DEBUG_ALERT
---help---
Enables debug alert output to the SYSLOG when a hard fault
occurs. This output is sometimes helpful when debugging difficult
hard fault problems.
config DEBUG_HARDFAULT_INFO
bool "Hard-Fault Informational Output"
default n
depends on ARCH_HAVE_HARDFAULT_DEBUG && DEBUG_INFO
---help---
Enables informational alert output to the SYSLOG when a hard fault
occurs. This output is sometimes helpful when debugging difficult
hard fault problems but may be more than you want to see in some
cases.
config ARCH_HAVE_MEMFAULT_DEBUG
bool
default n
config DEBUG_MEMFAULT
bool "Verbose Mem-Fault Debug"
default n
depends on ARCH_HAVE_MEMFAULT_DEBUG && DEBUG_ALERT && ARCH_USE_MPU
---help---
Enables verbose debug output when a mem fault occurs. This verbose
output is sometimes helpful when debugging difficult mem fault problems,
but may be more than you typically want to see.
config ARCH_HAVE_BUSFAULT_DEBUG
bool
default n
config DEBUG_BUSFAULT
bool "Verbose Bus-Fault Debug"
default n
depends on ARCH_HAVE_BUSFAULT_DEBUG && DEBUG_ALERT
---help---
Enables verbose debug output when a bus fault occurs. This verbose
output is sometimes helpful when debugging difficult bus fault problems,
but may be more than you typically want to see.
config ARCH_HAVE_USAGEFAULT_DEBUG
bool
default n
config DEBUG_USAGEFAULT
bool "Verbose Usage-Fault Debug"
default n
depends on ARCH_HAVE_USAGEFAULT_DEBUG && DEBUG_ALERT
---help---
Enables verbose debug output when a usage fault occurs. This verbose
output is sometimes helpful when debugging difficult usage fault problems,
but may be more than you typically want to see.
config ARCH_HAVE_SECUREFAULT_DEBUG
bool
default n
config DEBUG_SECUREFAULT
bool "Verbose Secure-Fault Debug"
default n
depends on ARCH_HAVE_SECUREFAULT_DEBUG && DEBUG_ALERT
---help---
Enables verbose debug output when a usage fault is occurs. This verbose
output is sometimes helpful when debugging difficult usage fault problems,
but may be more than you typically want to see.
config ARM_SEMIHOSTING_POWEROFF
bool "Semihosting POWEROFF support"
default n
---help---
Enable use of semihosting function to poweroff target.
config ARM_SEMIHOSTING_SYSLOG
bool "Semihosting SYSLOG support"
select SYSLOG_REGISTER
---help---
Enable hooks to support semihosting syslog output.
config ARM_SEMIHOSTING_HOSTFS
bool "Semihosting HostFS"
depends on FS_HOSTFS
---help---
Mount HostFS through semihosting.
This doesn't support some directory operations like readdir because
of the limitations of semihosting mechanism.
if ARM_SEMIHOSTING_HOSTFS
config ARM_SEMIHOSTING_HOSTFS_CACHE_COHERENCE
bool "Cache coherence in semihosting hostfs"
depends on ARCH_DCACHE
---help---
Flush & Invalidate cache before & after bkpt instruction.
endif # ARM_SEMIHOSTING_HOSTFS
if SCHED_BACKTRACE
choice
prompt "Choose ARM unwinder"
default UNWINDER_ARM
---help---
This determines which method will be used for unwinding nuttx stack
traces for debug.
config UNWINDER_FRAME_POINTER
bool "Frame pointer unwinder"
select FRAME_POINTER
---help---
This option enables the frame pointer unwinder for unwinding
nuttx stack traces.
config UNWINDER_STACK_POINTER
bool "Stack pointer unwinder"
---help---
This option enables the stack pointer unwinder for unwinding
nuttx stack traces.
config UNWINDER_ARM
bool "ARM EHABI stack unwinder"
select FRAME_POINTER
---help---
This option enables stack unwinding support in the nuttx
using the information automatically generated by the
compiler. The resulting nuttx image is slightly bigger but
the performance is not affected. Currently, this feature
only works with EABI compilers.
endchoice # Choose ARM unwinder
endif
if ARCH_ARMV6M
source "arch/arm/armv6-m/Kconfig"
endif
if ARCH_ARMV7A
source "arch/arm/armv7-a/Kconfig"
endif
if ARCH_ARMV7M
source "arch/arm/armv7-m/Kconfig"
endif
if ARCH_ARMV7R
source "arch/arm/armv7-r/Kconfig"
endif
if ARCH_ARMV8M
source "arch/arm/armv8-m/Kconfig"
endif
if ARCH_ARMV8R
source "arch/arm/armv8-r/Kconfig"
endif
if ARCH_ARM7TDMI || ARCH_ARM920T || ARCH_ARM926EJS || ARCH_ARM1136J || ARCH_ARM1156T2 || ARCH_ARM1176JZ
source "arch/arm/arm/Kconfig"
endif
source "arch/Kconfig"