2015-06-20 21:23:14 +08:00
|
|
|
# ARC EM4 options
|
|
|
|
|
|
|
|
#
|
|
|
|
# Copyright (c) 2014 Wind River Systems, Inc.
|
|
|
|
#
|
2017-01-19 09:01:01 +08:00
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
2015-06-20 21:23:14 +08:00
|
|
|
#
|
2016-03-16 01:24:36 +08:00
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "ARC SoC Selection"
|
|
|
|
depends on ARC
|
|
|
|
|
|
|
|
source "arch/arc/soc/*/Kconfig.soc"
|
|
|
|
endchoice
|
|
|
|
|
2016-03-19 07:43:40 +08:00
|
|
|
|
2016-03-16 01:24:36 +08:00
|
|
|
menu "ARC Options"
|
2015-10-09 18:20:52 +08:00
|
|
|
depends on ARC
|
2015-08-24 01:08:06 +08:00
|
|
|
|
2015-10-09 18:20:52 +08:00
|
|
|
config ARCH
|
|
|
|
default "arc"
|
2015-06-20 21:23:14 +08:00
|
|
|
|
2015-10-09 18:20:52 +08:00
|
|
|
config ARCH_DEFCONFIG
|
|
|
|
string
|
|
|
|
default "arch/arc/defconfig"
|
2015-09-11 01:54:09 +08:00
|
|
|
|
boards: Update arc em_starterkit support from 2.2 to 2.3
Here are the main changes:
* board: Update EMSK onboard resources such as Button, Switch and LEDs
+ update soc.h for em7d, em9d, em11d
+ update board.h for em_starterkit board
* arc: Add floating point support and code density support
+ add kconfig configuration
+ add compiler options
+ add register definitions, marcos, assembly codes
+ fixes in existing codes and configurations.
* arc: Update detailed board configurations for cores of emsk 2.3
* script: Provide arc_debugger.sh for debugging em_starterkit board
+ make BOARD=em_starterkit debug
This will start openocd server for emsk, and arc gdb will connect
to this debug server, user can run `continue` command if user just
want to run the application, or other commands if debugging needed.
+ make BOARD=em_starterkit debugserver
This will start an openocd debugger server for emsk, and user can
connect to this debugserver using arc gdb and do what they want to.
+ make BOARD=em_starterkit flash
This will download the zephyr application elf file to emsk,
and run it.
Signed-off-by: Huaqi Fang <huaqi.fang@synopsys.com>
2017-05-17 15:18:51 +08:00
|
|
|
config CPU_HAS_MPU
|
|
|
|
bool
|
|
|
|
# Omit prompt to signify "hidden" option
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
This option is enabled when the CPU has a Memory Protection Unit (MPU).
|
|
|
|
|
|
|
|
config CPU_HAS_FPU
|
|
|
|
# Hidden config selected by CPU family
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
This option is enabled when the CPU has hardware floating point
|
|
|
|
unit.
|
|
|
|
|
2015-06-20 21:23:14 +08:00
|
|
|
menu "ARC EM4 processor options"
|
|
|
|
|
|
|
|
config CPU_ARCEM4
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
select CPU_ARCV2
|
2016-04-27 00:59:44 +08:00
|
|
|
select ATOMIC_OPERATIONS_C
|
2015-06-20 21:23:14 +08:00
|
|
|
help
|
2015-10-09 18:20:52 +08:00
|
|
|
This option signifies the use of an ARC EM4 CPU
|
2015-06-20 21:23:14 +08:00
|
|
|
|
|
|
|
endmenu
|
|
|
|
|
|
|
|
menu "ARCv2 Family Options"
|
|
|
|
|
|
|
|
config CPU_ARCV2
|
|
|
|
bool
|
2017-09-09 09:14:06 +08:00
|
|
|
select ARCH_HAS_STACK_PROTECTION
|
2015-06-20 21:23:14 +08:00
|
|
|
default y
|
|
|
|
help
|
|
|
|
This option signifies the use of a CPU of the ARCv2 family.
|
|
|
|
|
|
|
|
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_IRQS
|
|
|
|
int
|
|
|
|
prompt "Upper limit of interrupt numbers/IDs used"
|
2016-01-05 05:54:14 +08:00
|
|
|
range 17 256
|
2015-06-20 21:23:14 +08:00
|
|
|
help
|
|
|
|
Interrupts available will be 0 to NUM_IRQS-1.
|
2016-01-05 05:54:14 +08:00
|
|
|
The minimum value is 17 as the first 16 entries in the vector
|
|
|
|
table are for CPU exceptions.
|
2015-06-20 21:23:14 +08:00
|
|
|
|
|
|
|
The BSP must provide a valid default. This drives the size of the
|
|
|
|
vector table.
|
|
|
|
|
2016-10-08 01:29:11 +08:00
|
|
|
config RGF_NUM_BANKS
|
|
|
|
int
|
|
|
|
prompt "Number of General Purpose Register Banks"
|
|
|
|
depends on CPU_ARCV2
|
|
|
|
range 1 2
|
|
|
|
default 2
|
|
|
|
help
|
|
|
|
The ARC CPU can be configured to have more than one register
|
|
|
|
bank. If fast interrupts are supported (FIRQ), the 2nd
|
|
|
|
register bank, in the set, will be used by FIRQ interrupts.
|
|
|
|
If fast interrupts are supported but there is only 1
|
|
|
|
register bank, the fast interrupt handler must save
|
2017-04-21 08:02:29 +08:00
|
|
|
and restore general purpose registers.
|
2016-10-08 01:29:11 +08:00
|
|
|
|
2016-03-12 01:29:14 +08:00
|
|
|
config ARC_STACK_CHECKING
|
2017-09-09 09:14:06 +08:00
|
|
|
bool
|
|
|
|
default y if HW_STACK_PROTECTION
|
2017-05-12 06:33:16 +08:00
|
|
|
select THREAD_STACK_INFO
|
2016-03-12 01:29:14 +08:00
|
|
|
help
|
|
|
|
ARCV2 has a special feature allowing to check stack overflows. This
|
|
|
|
enables code that allows using this debug feature
|
|
|
|
|
2015-06-20 21:23:14 +08:00
|
|
|
config FAULT_DUMP
|
|
|
|
int
|
|
|
|
prompt "Fault dump level"
|
|
|
|
default 2
|
2015-11-02 06:21:26 +08:00
|
|
|
range 0 2
|
2015-06-20 21:23:14 +08:00
|
|
|
help
|
2016-06-22 03:34:38 +08:00
|
|
|
Different levels for display information when a fault occurs.
|
2015-06-20 21:23:14 +08:00
|
|
|
|
2016-06-22 03:34:38 +08:00
|
|
|
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.
|
2015-06-20 21:23:14 +08:00
|
|
|
|
2015-11-18 06:08:45 +08:00
|
|
|
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.
|
|
|
|
|
2015-06-20 21:23:14 +08:00
|
|
|
config XIP
|
|
|
|
default n if NSIM
|
|
|
|
default y
|
|
|
|
|
2017-02-14 01:36:32 +08:00
|
|
|
config GEN_ISR_TABLES
|
|
|
|
default y
|
|
|
|
|
|
|
|
config GEN_IRQ_START_VECTOR
|
|
|
|
default 16
|
|
|
|
|
2016-05-07 08:23:05 +08:00
|
|
|
config HARVARD
|
|
|
|
prompt "Harvard Architecture"
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
help
|
boards: Update arc em_starterkit support from 2.2 to 2.3
Here are the main changes:
* board: Update EMSK onboard resources such as Button, Switch and LEDs
+ update soc.h for em7d, em9d, em11d
+ update board.h for em_starterkit board
* arc: Add floating point support and code density support
+ add kconfig configuration
+ add compiler options
+ add register definitions, marcos, assembly codes
+ fixes in existing codes and configurations.
* arc: Update detailed board configurations for cores of emsk 2.3
* script: Provide arc_debugger.sh for debugging em_starterkit board
+ make BOARD=em_starterkit debug
This will start openocd server for emsk, and arc gdb will connect
to this debug server, user can run `continue` command if user just
want to run the application, or other commands if debugging needed.
+ make BOARD=em_starterkit debugserver
This will start an openocd debugger server for emsk, and user can
connect to this debugserver using arc gdb and do what they want to.
+ make BOARD=em_starterkit flash
This will download the zephyr application elf file to emsk,
and run it.
Signed-off-by: Huaqi Fang <huaqi.fang@synopsys.com>
2017-05-17 15:18:51 +08:00
|
|
|
The ARC CPU can be configured to have two busses;
|
|
|
|
one for instruction fetching and another that serves as a data bus.
|
|
|
|
|
|
|
|
config CODE_DENSITY
|
|
|
|
prompt "Code Density Option"
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
help
|
2017-06-13 06:48:38 +08:00
|
|
|
Enable code density option to get better code density
|
boards: Update arc em_starterkit support from 2.2 to 2.3
Here are the main changes:
* board: Update EMSK onboard resources such as Button, Switch and LEDs
+ update soc.h for em7d, em9d, em11d
+ update board.h for em_starterkit board
* arc: Add floating point support and code density support
+ add kconfig configuration
+ add compiler options
+ add register definitions, marcos, assembly codes
+ fixes in existing codes and configurations.
* arc: Update detailed board configurations for cores of emsk 2.3
* script: Provide arc_debugger.sh for debugging em_starterkit board
+ make BOARD=em_starterkit debug
This will start openocd server for emsk, and arc gdb will connect
to this debug server, user can run `continue` command if user just
want to run the application, or other commands if debugging needed.
+ make BOARD=em_starterkit debugserver
This will start an openocd debugger server for emsk, and user can
connect to this debugserver using arc gdb and do what they want to.
+ make BOARD=em_starterkit flash
This will download the zephyr application elf file to emsk,
and run it.
Signed-off-by: Huaqi Fang <huaqi.fang@synopsys.com>
2017-05-17 15:18:51 +08:00
|
|
|
|
|
|
|
menu "Floating Point Options"
|
|
|
|
depends on CPU_HAS_FPU
|
|
|
|
|
|
|
|
config FLOAT
|
|
|
|
bool
|
|
|
|
prompt "Floating point registers"
|
|
|
|
default n
|
|
|
|
help
|
2017-10-29 19:10:22 +08:00
|
|
|
This option allows threads to use the floating point registers.
|
|
|
|
By default, only a single thread may use the registers.
|
boards: Update arc em_starterkit support from 2.2 to 2.3
Here are the main changes:
* board: Update EMSK onboard resources such as Button, Switch and LEDs
+ update soc.h for em7d, em9d, em11d
+ update board.h for em_starterkit board
* arc: Add floating point support and code density support
+ add kconfig configuration
+ add compiler options
+ add register definitions, marcos, assembly codes
+ fixes in existing codes and configurations.
* arc: Update detailed board configurations for cores of emsk 2.3
* script: Provide arc_debugger.sh for debugging em_starterkit board
+ make BOARD=em_starterkit debug
This will start openocd server for emsk, and arc gdb will connect
to this debug server, user can run `continue` command if user just
want to run the application, or other commands if debugging needed.
+ make BOARD=em_starterkit debugserver
This will start an openocd debugger server for emsk, and user can
connect to this debugserver using arc gdb and do what they want to.
+ make BOARD=em_starterkit flash
This will download the zephyr application elf file to emsk,
and run it.
Signed-off-by: Huaqi Fang <huaqi.fang@synopsys.com>
2017-05-17 15:18:51 +08:00
|
|
|
|
2017-10-29 19:10:22 +08:00
|
|
|
Disabling this option means that any thread that uses a
|
boards: Update arc em_starterkit support from 2.2 to 2.3
Here are the main changes:
* board: Update EMSK onboard resources such as Button, Switch and LEDs
+ update soc.h for em7d, em9d, em11d
+ update board.h for em_starterkit board
* arc: Add floating point support and code density support
+ add kconfig configuration
+ add compiler options
+ add register definitions, marcos, assembly codes
+ fixes in existing codes and configurations.
* arc: Update detailed board configurations for cores of emsk 2.3
* script: Provide arc_debugger.sh for debugging em_starterkit board
+ make BOARD=em_starterkit debug
This will start openocd server for emsk, and arc gdb will connect
to this debug server, user can run `continue` command if user just
want to run the application, or other commands if debugging needed.
+ make BOARD=em_starterkit debugserver
This will start an openocd debugger server for emsk, and user can
connect to this debugserver using arc gdb and do what they want to.
+ make BOARD=em_starterkit flash
This will download the zephyr application elf file to emsk,
and run it.
Signed-off-by: Huaqi Fang <huaqi.fang@synopsys.com>
2017-05-17 15:18:51 +08:00
|
|
|
floating point register will get a fatal exception.
|
|
|
|
|
|
|
|
config FP_SHARING
|
|
|
|
bool
|
|
|
|
prompt "Floating point register sharing"
|
|
|
|
depends on FLOAT
|
|
|
|
default n
|
|
|
|
help
|
2017-10-29 19:10:22 +08:00
|
|
|
This option allows multiple threads to use the floating point
|
boards: Update arc em_starterkit support from 2.2 to 2.3
Here are the main changes:
* board: Update EMSK onboard resources such as Button, Switch and LEDs
+ update soc.h for em7d, em9d, em11d
+ update board.h for em_starterkit board
* arc: Add floating point support and code density support
+ add kconfig configuration
+ add compiler options
+ add register definitions, marcos, assembly codes
+ fixes in existing codes and configurations.
* arc: Update detailed board configurations for cores of emsk 2.3
* script: Provide arc_debugger.sh for debugging em_starterkit board
+ make BOARD=em_starterkit debug
This will start openocd server for emsk, and arc gdb will connect
to this debug server, user can run `continue` command if user just
want to run the application, or other commands if debugging needed.
+ make BOARD=em_starterkit debugserver
This will start an openocd debugger server for emsk, and user can
connect to this debugserver using arc gdb and do what they want to.
+ make BOARD=em_starterkit flash
This will download the zephyr application elf file to emsk,
and run it.
Signed-off-by: Huaqi Fang <huaqi.fang@synopsys.com>
2017-05-17 15:18:51 +08:00
|
|
|
registers.
|
|
|
|
|
|
|
|
endmenu
|
2016-05-07 08:23:05 +08:00
|
|
|
|
2017-08-15 12:20:42 +08:00
|
|
|
menu "ARC MPU Options"
|
|
|
|
depends on CPU_HAS_MPU
|
|
|
|
|
|
|
|
config ARC_MPU_ENABLE
|
|
|
|
bool "Enable MPU"
|
|
|
|
depends on CPU_HAS_MPU
|
|
|
|
select ARC_MPU
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Enable MPU
|
|
|
|
|
|
|
|
source "arch/arc/core/mpu/Kconfig"
|
|
|
|
|
|
|
|
endmenu
|
|
|
|
|
2016-04-29 05:22:00 +08:00
|
|
|
config ICCM_SIZE
|
|
|
|
int "ICCM Size in kB"
|
|
|
|
help
|
|
|
|
This option specifies the size of the ICCM in kB. It is normally set by
|
2016-08-18 07:33:08 +08:00
|
|
|
the board's defconfig file and the user should generally avoid modifying
|
2016-04-29 05:22:00 +08:00
|
|
|
it via the menu configuration.
|
|
|
|
|
|
|
|
config ICCM_BASE_ADDRESS
|
|
|
|
hex "ICCM Base Address"
|
|
|
|
help
|
2016-08-18 07:33:08 +08:00
|
|
|
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
|
2016-04-29 05:22:00 +08:00
|
|
|
avoid modifying it via the menu configuration.
|
|
|
|
|
2016-04-24 09:37:48 +08:00
|
|
|
config DCCM_SIZE
|
|
|
|
int "DCCM Size in kB"
|
|
|
|
help
|
|
|
|
This option specifies the size of the DCCM in kB. It is normally set by
|
2016-08-18 07:33:08 +08:00
|
|
|
the board's defconfig file and the user should generally avoid modifying
|
2016-04-24 09:37:48 +08:00
|
|
|
it via the menu configuration.
|
|
|
|
|
|
|
|
config DCCM_BASE_ADDRESS
|
|
|
|
hex "DCCM Base Address"
|
|
|
|
help
|
2016-08-18 07:33:08 +08:00
|
|
|
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
|
2016-04-24 09:37:48 +08:00
|
|
|
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
|
2016-08-18 07:33:08 +08:00
|
|
|
the board's defconfig file and the user should generally avoid modifying
|
2016-04-24 09:37:48 +08:00
|
|
|
it via the menu configuration.
|
|
|
|
|
|
|
|
config SRAM_BASE_ADDRESS
|
|
|
|
hex "SRAM Base Address"
|
|
|
|
help
|
2016-08-18 07:33:08 +08:00
|
|
|
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
|
2016-04-24 09:37:48 +08:00
|
|
|
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
|
2016-08-18 07:33:08 +08:00
|
|
|
the board's defconfig file and the user should generally avoid modifying
|
2016-04-24 09:37:48 +08:00
|
|
|
it via the menu configuration.
|
|
|
|
|
|
|
|
config FLASH_BASE_ADDRESS
|
|
|
|
hex "Flash Base Address"
|
|
|
|
help
|
2016-08-18 07:33:08 +08:00
|
|
|
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
|
2016-04-24 09:37:48 +08:00
|
|
|
avoid modifying it via the menu configuration.
|
2015-09-02 20:14:39 +08:00
|
|
|
|
2016-11-05 05:48:23 +08:00
|
|
|
config CACHE_LINE_SIZE_DETECT
|
|
|
|
bool
|
|
|
|
prompt "Detect d-cache line size at runtime"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
This option enables querying the d-cache build register for finding
|
|
|
|
the d-cache line size at the expense of taking more memory and code
|
|
|
|
and a slightly increased boot time.
|
|
|
|
|
|
|
|
If the CPU's d-cache line size is known in advance, disable this
|
|
|
|
option and manually enter the value for CACHE_LINE_SIZE.
|
|
|
|
|
|
|
|
config CACHE_LINE_SIZE
|
|
|
|
int
|
|
|
|
prompt "Cache line size" if !CACHE_LINE_SIZE_DETECT
|
|
|
|
default 32
|
|
|
|
help
|
|
|
|
Size in bytes of a CPU d-cache line.
|
|
|
|
|
|
|
|
Detect automatically at runtime by selecting CACHE_LINE_SIZE_DETECT.
|
2015-06-20 21:23:14 +08:00
|
|
|
|
2016-11-05 05:48:23 +08:00
|
|
|
config ARCH_CACHE_FLUSH_DETECT
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config CACHE_FLUSHING
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
prompt "Enable d-cache flushing mechanism"
|
|
|
|
help
|
|
|
|
This links in the sys_cache_flush() function, which provides a
|
|
|
|
way to flush multiple lines of the d-cache.
|
|
|
|
If the d-cache is present, set this to y.
|
|
|
|
If the d-cache is NOT present, set this to n.
|
|
|
|
|
|
|
|
endmenu
|
2015-06-20 21:23:14 +08:00
|
|
|
|
2015-12-17 21:54:35 +08:00
|
|
|
source "arch/arc/soc/*/Kconfig"
|
2015-09-11 01:54:09 +08:00
|
|
|
|
2015-10-09 18:20:52 +08:00
|
|
|
endmenu
|