Completing the terminology change started with change 4008 by updating the Kconfig files processed to produce the online documentation, plus header files processed by doxygen. References to 'platform' are change to 'board' Change-Id: Id0ed3dc1439a0ea0a4bd19d4904889cf79bec33e Jira: ZEP-534 Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
292 lines
7.7 KiB
Text
292 lines
7.7 KiB
Text
# ARC EM4 options
|
|
|
|
#
|
|
# Copyright (c) 2014 Wind River Systems, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
|
|
choice
|
|
prompt "ARC SoC Selection"
|
|
depends on ARC
|
|
|
|
source "arch/arc/soc/*/Kconfig.soc"
|
|
endchoice
|
|
|
|
|
|
menu "ARC Options"
|
|
depends on ARC
|
|
|
|
config ARCH
|
|
default "arc"
|
|
|
|
config ARCH_DEFCONFIG
|
|
string
|
|
default "arch/arc/defconfig"
|
|
|
|
menu "ARC EM4 processor options"
|
|
|
|
config CPU_ARCEM4
|
|
bool
|
|
default y
|
|
select CPU_ARCV2
|
|
select ATOMIC_OPERATIONS_C
|
|
help
|
|
This option signifies the use of an ARC EM4 CPU
|
|
|
|
endmenu
|
|
|
|
menu "ARCv2 Family Options"
|
|
|
|
config CPU_ARCV2
|
|
bool
|
|
default y
|
|
select NANOKERNEL_TICKLESS_IDLE_SUPPORTED
|
|
help
|
|
This option signifies the use of a CPU of the ARCv2 family.
|
|
|
|
config NSIM
|
|
prompt "Running on the MetaWare nSIM simulator"
|
|
bool
|
|
default n
|
|
help
|
|
For running on nSIM simulator.
|
|
|
|
a) Uses non-XIP to run in RAM.
|
|
b) Linked at address 0x4000 with 0x4000 of RAM so that it works with
|
|
a pc_size of 16 (default).
|
|
|
|
config DATA_ENDIANNESS_LITTLE
|
|
bool
|
|
default y
|
|
help
|
|
This is driven by the processor implementation, since it is fixed in
|
|
hardware. The BSP should set this value to 'n' if the data is
|
|
implemented as big endian.
|
|
|
|
config NUM_IRQ_PRIO_LEVELS
|
|
int
|
|
prompt "Number of supported interrupt priority levels"
|
|
range 1 16
|
|
help
|
|
Interrupt priorities available will be 0 to NUM_IRQ_PRIO_LEVELS-1.
|
|
The minimum value is 1.
|
|
|
|
The BSP must provide a valid default for proper operation.
|
|
|
|
config NUM_REGULAR_IRQ_PRIO_LEVELS
|
|
int
|
|
prompt "Number of supported regular interrupt priority levels"
|
|
range 1 16
|
|
help
|
|
This represents the number of Regular Interrupt priorities, which
|
|
does NOT include the Fast (FIRQ) priority.
|
|
The Regular Interrupt priorities available will be
|
|
|
|
(NUM_IRQ_PRIO_LEVELS - NUM_REGULAR_IRQ_PRIO_LEVELS) to
|
|
(NUM_REGULAR_IRQ_PRIO_LEVELS - 1).
|
|
|
|
The maximum value is NUM_IRQ_PRIO_LEVELS.
|
|
|
|
The BSP must provide a valid default for proper operation.
|
|
|
|
config NUM_IRQS
|
|
int
|
|
prompt "Upper limit of interrupt numbers/IDs used"
|
|
range 17 256
|
|
help
|
|
Interrupts available will be 0 to NUM_IRQS-1.
|
|
The minimum value is 17 as the first 16 entries in the vector
|
|
table are for CPU exceptions.
|
|
|
|
The BSP must provide a valid default. This drives the size of the
|
|
vector table.
|
|
|
|
config FIRQ_STACK_SIZE
|
|
int
|
|
prompt "Size of stack for FIRQs (in bytes)"
|
|
depends on CPU_ARCV2
|
|
default 1024
|
|
help
|
|
FIRQs and regular IRQs have different stacks so that a FIRQ can start
|
|
running without doing stack switching in software.
|
|
|
|
config ARC_STACK_CHECKING
|
|
bool "Enable Stack Checking"
|
|
depends on CPU_ARCV2
|
|
default n
|
|
help
|
|
ARCV2 has a special feature allowing to check stack overflows. This
|
|
enables code that allows using this debug feature
|
|
|
|
config FAULT_DUMP
|
|
int
|
|
prompt "Fault dump level"
|
|
default 2
|
|
range 0 2
|
|
help
|
|
Different levels for display information when a fault occurs.
|
|
|
|
2: The default. Display specific and verbose information. Consumes
|
|
the most memory (long strings).
|
|
|
|
1: Display general and short information. Consumes less memory
|
|
(short strings).
|
|
|
|
0: Off.
|
|
|
|
config IRQ_OFFLOAD
|
|
bool "Enable IRQ offload"
|
|
default n
|
|
help
|
|
Enable irq_offload() API which allows functions to be synchronously
|
|
run in interrupt context. Uses one entry in the IDT. Mainly useful
|
|
for test cases.
|
|
|
|
config XIP
|
|
default n if NSIM
|
|
default y
|
|
|
|
config HARVARD
|
|
prompt "Harvard Architecture"
|
|
bool
|
|
default n
|
|
help
|
|
The ARC CPU can be configured to have two busses;
|
|
one for instruction fetching and another that serves as a data bus.
|
|
|
|
config ICCM_SIZE
|
|
int "ICCM Size in kB"
|
|
help
|
|
This option specifies the size of the ICCM in kB. It is normally set by
|
|
the board's defconfig file and the user should generally avoid modifying
|
|
it via the menu configuration.
|
|
|
|
config ICCM_BASE_ADDRESS
|
|
hex "ICCM Base Address"
|
|
help
|
|
This option specifies the base address of the ICCM on the board. It is
|
|
normally set by the board's defconfig file and the user should generally
|
|
avoid modifying it via the menu configuration.
|
|
|
|
config DCCM_SIZE
|
|
int "DCCM Size in kB"
|
|
help
|
|
This option specifies the size of the DCCM in kB. It is normally set by
|
|
the board's defconfig file and the user should generally avoid modifying
|
|
it via the menu configuration.
|
|
|
|
config DCCM_BASE_ADDRESS
|
|
hex "DCCM Base Address"
|
|
help
|
|
This option specifies the base address of the DCCM on the board. It is
|
|
normally set by the board's defconfig file and the user should generally
|
|
avoid modifying it via the menu configuration.
|
|
|
|
config SRAM_SIZE
|
|
int "SRAM Size in kB"
|
|
help
|
|
This option specifies the size of the SRAM in kB. It is normally set by
|
|
the board's defconfig file and the user should generally avoid modifying
|
|
it via the menu configuration.
|
|
|
|
config SRAM_BASE_ADDRESS
|
|
hex "SRAM Base Address"
|
|
help
|
|
This option specifies the base address of the SRAM on the board. It is
|
|
normally set by the board's defconfig file and the user should generally
|
|
avoid modifying it via the menu configuration.
|
|
|
|
config FLASH_SIZE
|
|
int "Flash Size in kB"
|
|
help
|
|
This option specifies the size of the flash in kB. It is normally set by
|
|
the board's defconfig file and the user should generally avoid modifying
|
|
it via the menu configuration.
|
|
|
|
config FLASH_BASE_ADDRESS
|
|
hex "Flash Base Address"
|
|
help
|
|
This option specifies the base address of the flash on the board. It is
|
|
normally set by the board's defconfig file and the user should generally
|
|
avoid modifying it via the menu configuration.
|
|
|
|
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 exeception/interrupt exit stub is automatically done.
|
|
|
|
This has to be enabled for dynamically connecting interrupt handlers
|
|
at runtime (SW_ISR_TABLE_DYNAMIC).
|
|
|
|
config SW_ISR_TABLE_DYNAMIC
|
|
bool
|
|
prompt "Allow installing interrupt handlers at runtime"
|
|
depends on SW_ISR_TABLE
|
|
default n
|
|
help
|
|
This option enables irq_connect_dynamic(). It moves the ISR table to
|
|
SRAM so that it is writable. This has the side-effect of removing
|
|
write-protection on the ISR table.
|
|
|
|
config IRQ_VECTOR_TABLE_CUSTOM
|
|
bool
|
|
prompt "Projects provide a custom static IRQ part of vector table"
|
|
depends on !SW_ISR_TABLE
|
|
default n
|
|
help
|
|
Projects, not the BSP, provide the IRQ part of the vector table.
|
|
|
|
This is the table of interrupt handlers with the best potential
|
|
performance, but is the less flexible.
|
|
|
|
The ISRs are installed directly in the vector table, thus are
|
|
directly called by the CPU when an interrupt is taken. This adds
|
|
the least overhead when handling an interrupt.
|
|
|
|
Downsides:
|
|
|
|
- ISRs cannot have a parameter
|
|
- ISRs cannot be connected at runtime
|
|
- ISRs must notify the kernel manually by invoking _ExcExit() when
|
|
then are about to return.
|
|
|
|
config IRQ_VECTOR_TABLE_BSP
|
|
bool
|
|
# omit prompt to signify a "hidden" option
|
|
depends on SW_ISR_TABLE || !IRQ_VECTOR_TABLE_CUSTOM
|
|
default y
|
|
help
|
|
Not user-selectable, helps build system logic.
|
|
|
|
config ARCH_HAS_TASK_ABORT
|
|
bool
|
|
# omit prompt to signify a "hidden" option
|
|
default n
|
|
|
|
config ARCH_HAS_NANO_FIBER_ABORT
|
|
bool
|
|
# omit prompt to signify a "hidden" option
|
|
default n
|
|
|
|
endmenu
|
|
|
|
|
|
source "arch/arc/soc/*/Kconfig"
|
|
|
|
endmenu
|