160 lines
3.9 KiB
Plaintext
160 lines
3.9 KiB
Plaintext
# XTENSA architecture configuration options
|
|
|
|
# Copyright (c) 2016 Cadence Design Systems, Inc.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menu "XTENSA Options"
|
|
depends on XTENSA
|
|
|
|
config ARCH
|
|
default "xtensa"
|
|
|
|
config SIMULATOR_XTENSA
|
|
bool "Simulator Configuration"
|
|
help
|
|
Specify if the board configuration should be treated as a simulator.
|
|
|
|
config SYS_CLOCK_HW_CYCLES_PER_SEC
|
|
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
|
|
help
|
|
Uncheck this if your core does not implement "SCOMPARE1" register and "s32c1i"
|
|
instruction.
|
|
|
|
config XTENSA_RESET_VECTOR
|
|
bool "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 "Use crt1.S from core"
|
|
default y
|
|
help
|
|
SoC or boards might define their own __start by setting this setting
|
|
to false.
|
|
|
|
config XTENSA_ENABLE_BACKTRACE
|
|
bool "Backtrace on panic exception"
|
|
default y
|
|
depends on SOC_ESP32 || SOC_FAMILY_INTEL_ADSP
|
|
help
|
|
Enable this config option to print backtrace on panic exception
|
|
|
|
config XTENSA_CPU_IDLE_SPIN
|
|
bool "Use busy loop for k_cpu_idle"
|
|
help
|
|
Use a spin loop instead of WAITI for the CPU idle state.
|
|
|
|
config XTENSA_WAITI_BUG
|
|
bool "Workaround sequence for WAITI bug on LX6"
|
|
help
|
|
SOF traditionally contains this workaround on its ADSP
|
|
platforms which prefixes a WAITI entry with 128 NOP
|
|
instructions followed by an ISYNC and EXTW.
|
|
|
|
config XTENSA_SMALL_VECTOR_TABLE_ENTRY
|
|
bool "Workaround for small vector table entries"
|
|
help
|
|
This option enables a small indirection to bypass the size
|
|
constraint of the vector table entry and moved the default
|
|
handlers to the end of vector table, renaming them to
|
|
_Level\LVL\()VectorHelper.
|
|
|
|
config XTENSA_RPO_CACHE
|
|
bool "Cached/uncached RPO mapping"
|
|
help
|
|
Support Cached/uncached RPO mapping.
|
|
|
|
A design trick on multi-core hardware is to map memory twice
|
|
so that it can be seen in both (incoherent) cached mappings
|
|
and a coherent "shared" area.
|
|
|
|
if XTENSA_RPO_CACHE
|
|
config XTENSA_CACHED_REGION
|
|
int "Cached RPO mapping"
|
|
range 0 7
|
|
help
|
|
This specifies which 512M region (0-7, as defined by the Xtensa
|
|
Region Protection Option) contains the "cached" mapping.
|
|
|
|
config XTENSA_UNCACHED_REGION
|
|
int "Uncached RPO mapping"
|
|
range 0 7
|
|
help
|
|
As for XTENSA_CACHED_REGION, this specifies which 512M
|
|
region (0-7) contains the "uncached" mapping.
|
|
|
|
endif
|
|
|
|
config XTENSA_CCOUNT_HZ
|
|
int "CCOUNT cycle rate"
|
|
default 1000000
|
|
help
|
|
Rate in HZ of the Xtensa core as measured by the value of
|
|
the CCOUNT register.
|
|
|
|
if CPU_HAS_MMU
|
|
|
|
config XTENSA_MMU
|
|
bool "Xtensa MMU Support"
|
|
default n
|
|
select MMU
|
|
select XTENSA_SMALL_VECTOR_TABLE_ENTRY
|
|
help
|
|
Enable support for Xtensa Memory Management Unit.
|
|
|
|
if XTENSA_MMU
|
|
|
|
choice
|
|
prompt "PageTable virtual adddress"
|
|
default XTENSA_MMU_PTEVADDR_20000000
|
|
help
|
|
The virtual address for Xtensa page table (PTEVADDR).
|
|
|
|
config XTENSA_MMU_PTEVADDR_20000000
|
|
bool "0x20000000"
|
|
|
|
endchoice
|
|
|
|
config XTENSA_MMU_PTEVADDR
|
|
hex
|
|
default 0x20000000 if XTENSA_MMU_PTEVADDR_20000000
|
|
help
|
|
The virtual address for Xtensa page table (PTEVADDR).
|
|
|
|
config XTENSA_MMU_PTEVADDR_SHIFT
|
|
int
|
|
default 29 if XTENSA_MMU_PTEVADDR_20000000
|
|
help
|
|
The bit shift number for the virtual address for Xtensa
|
|
page table (PTEVADDR).
|
|
|
|
config XTENSA_MMU_NUM_L2_TABLES
|
|
int "Number of L2 page tables"
|
|
default 10
|
|
help
|
|
Each table can address up to 4MB memory address.
|
|
|
|
config XTENSA_MMU_DOUBLE_MAP
|
|
bool "Map memory in cached and uncached region"
|
|
default n
|
|
help
|
|
This option specifies that the memory is mapped in two
|
|
distinct region, cached and uncached.
|
|
|
|
endif # XTENSA_MMU
|
|
|
|
endif # CPU_HAS_MMU
|
|
|
|
endmenu
|