################################################################################
# Embtoolkit
# Copyright(C) 2009-2012 Abdoulaye Walsimou GAYE.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
#
################################################################################
#
# \file arch-variant-arm.kconfig
# \brief ARM architecture kconfig options
# \author Abdoulaye Walsimou GAYE
# \date August 2009
################################################################################
choice
prompt "ARM Endian"
depends on EMBTK_ARCH_ARM
help
Select your ARM MCU endian
config EMBTK_ARCH_ARM_LITTLE_ENDIAN
bool "armel: Little endian"
select EMBTK_TARGET_ARCH_LITTLE_ENDIAN
help
Your ARM MCU is little endian
config EMBTK_ARCH_ARM_BIG_ENDIAN
bool "armeb: Big endian"
select EMBTK_TARGET_ARCH_BIG_ENDIAN
help
Your ARM MCU is big endian
endchoice
choice
prompt "ARM ABI to use"
depends on EMBTK_ARCH_ARM
help
Select ARM abi to use.
config EMBTK_ARCH_ARM_ABI_EABI
bool "eabi"
endchoice
choice
prompt "ARM Family"
depends on EMBTK_ARCH_ARM
help
Select ARM MCU family you want to use.
config EMBTK_ARCH_ARM_FAMILY_ARM7TDMI
bool "arm7tdmi"
config EMBTK_ARCH_ARM_FAMILY_STRONGARM
bool "StrongARM"
config EMBTK_ARCH_ARM_FAMILY_ARM8
bool "arm8"
config EMBTK_ARCH_ARM_FAMILY_ARM9TDMI
bool "arm9tdmi"
config EMBTK_ARCH_ARM_FAMILY_ARM9E
bool "arm9e"
select EMBTK_TARGET_ARCH_MAYUSE_FPU
select EMBTK_ARCH_ARM_MAYUSE_FPU_ALL
config EMBTK_ARCH_ARM_FAMILY_ARM10E
bool "arm10e"
select EMBTK_TARGET_ARCH_MAYUSE_FPU
select EMBTK_ARCH_ARM_MAYUSE_FPU_ALL
config EMBTK_ARCH_ARM_FAMILY_XSCALE
bool "xscale"
select EMBTK_TARGET_ARCH_MAYUSE_FPU
select EMBTK_ARCH_ARM_MAYUSE_FPU_ALL
config EMBTK_ARCH_ARM_FAMILY_ARM11
bool "arm11"
select EMBTK_TARGET_ARCH_MAYUSE_FPU
select EMBTK_ARCH_ARM_MAYUSE_FPU_ALL
config EMBTK_ARCH_ARM_FAMILY_CORTEX
bool "cortex"
select EMBTK_TARGET_ARCH_MAYUSE_FPU
select EMBTK_ARCH_ARM_MAYUSE_FPU_ALL
config EMBTK_ARCH_ARM_FAMILY_IWMMXT
bool "iwmmxt"
select EMBTK_TARGET_ARCH_MAYUSE_FPU
select EMBTK_ARCH_ARM_MAYUSE_FPU_ALL
endchoice
choice
prompt "ARM arm7tdmi core in the target"
depends on EMBTK_ARCH_ARM_FAMILY_ARM7TDMI
help
Please choose which arm7tdmi core you want to use.
config EMBTK_ARCH_ARM_FAMILY_ARM7TDMI_ARM7TDMI
bool "arm7tdmi"
config EMBTK_ARCH_ARM_FAMILY_ARM7TDMI_ARM7TDMI-S
bool "arm7tdmi-s"
config EMBTK_ARCH_ARM_FAMILY_ARM7TDMI_ARM710T
bool "arm710t"
config EMBTK_ARCH_ARM_FAMILY_ARM7TDMI_ARM720T
bool "arm720t"
config EMBTK_ARCH_ARM_FAMILY_ARM7TDMI_ARM740T
bool "arm740t"
# config EMBTK_ARCH_ARM_FAMILY_ARM7TDMI_ARM7EJ-S
# bool "arm7ej-s"
endchoice
choice
prompt "StrongARM core in the target"
depends on EMBTK_ARCH_ARM_FAMILY_STRONGARM
help
Please choose which StrongARM core you want to use.
config EMBTK_ARCH_ARM_FAMILY_STRONGARM_SA
bool "strongarm"
config EMBTK_ARCH_ARM_FAMILY_STRONGARM_SA-110
bool "strongarm110"
config EMBTK_ARCH_ARM_FAMILY_STRONGARM_SA-1100
bool "strongarm1100"
config EMBTK_ARCH_ARM_FAMILY_STRONGARM_SA-1110
bool "strongarm1110"
endchoice
choice
prompt "ARM arm8 core in the target"
depends on EMBTK_ARCH_ARM_FAMILY_ARM8
help
Please choose which arm8 core you want to use.
config EMBTK_ARCH_ARM_FAMILY_ARM8_ARM810
bool "arm810"
endchoice
choice
prompt "ARM arm9tdmi core in the target"
depends on EMBTK_ARCH_ARM_FAMILY_ARM9TDMI
help
Please choose which arm9tdmi core you want to use.
config EMBTK_ARCH_ARM_FAMILY_ARM9TDMI_ARM9TDMI
bool "arm9tdmi"
config EMBTK_ARCH_ARM_FAMILY_ARM9TDMI_ARM920T
bool "arm920t"
config EMBTK_ARCH_ARM_FAMILY_ARM9TDMI_ARM922T
bool "arm922t"
config EMBTK_ARCH_ARM_FAMILY_ARM9TDMI_ARM940T
bool "arm940t"
endchoice
choice
prompt "ARM arm9e core in the target"
depends on EMBTK_ARCH_ARM_FAMILY_ARM9E
help
Please choose which arm9e core you want to use.
config EMBTK_ARCH_ARM_FAMILY_ARM9E_ARM946E-S
bool "arm946e-s"
config EMBTK_ARCH_ARM_FAMILY_ARM9E_ARM966E-S
bool "arm966e-s"
config EMBTK_ARCH_ARM_FAMILY_ARM9E_ARM968E-S
bool "arm968e-s"
config EMBTK_ARCH_ARM_FAMILY_ARM9E_ARM926EJ-S
bool "arm926ej-s"
# config EMBTK_ARCH_ARM_FAMILY_ARM9E_ARM996HS
# bool "arm996hs"
endchoice
choice
prompt "ARM arm10e core in the target"
depends on EMBTK_ARCH_ARM_FAMILY_ARM10E
help
Please choose which arm10e core you want to use.
config EMBTK_ARCH_ARM_FAMILY_ARM10E_ARM1020E
bool "arm1020e"
config EMBTK_ARCH_ARM_FAMILY_ARM10E_ARM1022E
bool "arm1022e"
config EMBTK_ARCH_ARM_FAMILY_ARM10E_ARM1026EJ-S
bool "arm1026ej-s"
endchoice
choice
prompt "ARM xscale core in the target"
depends on EMBTK_ARCH_ARM_FAMILY_XSCALE
help
Please choose which xscale core you want to use.
config EMBTK_ARCH_ARM_FAMILY_XSCALE_XSCALE
bool "xscale"
endchoice
choice
prompt "ARM arm11 core in the target"
depends on EMBTK_ARCH_ARM_FAMILY_ARM11
help
Please choose which arm11 core you want to use.
config EMBTK_ARCH_ARM_FAMILY_ARM11_ARM1136J-S
bool "arm1136j-s"
config EMBTK_ARCH_ARM_FAMILY_ARM11_ARM1136JF-S
bool "arm1136jf-s"
config EMBTK_ARCH_ARM_FAMILY_ARM11_ARM1156T2-S
bool "arm1156t2-s"
# config EMBTK_ARCH_ARM_FAMILY_ARM11_ARM1156T2F-S
# bool "arm1156t2f-s"
config EMBTK_ARCH_ARM_FAMILY_ARM11_ARM1176JZ-S
bool "arm1176jz-s"
config EMBTK_ARCH_ARM_FAMILY_ARM11_ARM1176JZF-S
bool "arm1176jzf-s"
config EMBTK_ARCH_ARM_FAMILY_ARM11_MPCORE
bool "mpcore"
endchoice
choice
prompt "ARM cortex core in the target"
depends on EMBTK_ARCH_ARM_FAMILY_CORTEX
help
Please choose which cortex core you want to use.
config EMBTK_ARCH_ARM_FAMILY_CORTEX_CORTEX-A8
bool "cortex-a8"
config EMBTK_ARCH_ARM_FAMILY_CORTEX_CORTEX-A9
bool "cortex-a9"
# config EMBTK_ARCH_ARM_FAMILY_CORTEX_CORTEX-A9_MPCORE
# bool "cortex-a9 mpcore"
config EMBTK_ARCH_ARM_FAMILY_CORTEX_CORTEX-R4
bool "cortex-r4"
config EMBTK_ARCH_ARM_FAMILY_CORTEX_CORTEX-R4F
bool "cortex-r4f"
config EMBTK_ARCH_ARM_FAMILY_CORTEX_CORTEX-M3
bool "cortex-m3"
# config EMBTK_ARCH_ARM_FAMILY_CORTEX_CORTEX-M0
# depends on EMBTK_ARCH_ARM_FAMILY_CORTEX
# bool "cortex-m0"
config EMBTK_ARCH_ARM_FAMILY_CORTEX_CORTEX-M1
bool "cortex-m1"
endchoice
choice
prompt "ARM iwmmxt core in the target"
depends on EMBTK_ARCH_ARM_FAMILY_IWMMXT
help
Please choose which iwmmxt core you want to use.
config EMBTK_ARCH_ARM_FAMILY_IWMMXT_IWMMXT
bool "iwmmxt"
config EMBTK_ARCH_ARM_FAMILY_IWMMXT_IWMMXT2
bool "iwmmxt2"
endchoice
config EMBTK_ARM_MCU_STRING
depends on EMBTK_ARCH_ARM
string
default "arm7tdmi" if EMBTK_ARCH_ARM_FAMILY_ARM7TDMI_ARM7TDMI
default "arm7tdmi-s" if EMBTK_ARCH_ARM_FAMILY_ARM7TDMI_ARM7TDMI-S
default "arm710t" if EMBTK_ARCH_ARM_FAMILY_ARM7TDMI_ARM710T
default "arm720t" if EMBTK_ARCH_ARM_FAMILY_ARM7TDMI_ARM720T
default "arm740t" if EMBTK_ARCH_ARM_FAMILY_ARM7TDMI_ARM740T
default "strongarm" if EMBTK_ARCH_ARM_FAMILY_STRONGARM_SA
default "strongarm110" if EMBTK_ARCH_ARM_FAMILY_STRONGARM_SA-110
default "strongarm1100" if EMBTK_ARCH_ARM_FAMILY_STRONGARM_SA-1100
default "strongarm1110" if EMBTK_ARCH_ARM_FAMILY_STRONGARM_SA-1110
default "arm810" if EMBTK_ARCH_ARM_FAMILY_ARM8_ARM810
default "arm9tdmi" if EMBTK_ARCH_ARM_FAMILY_ARM9TDMI_ARM9TDMI
default "arm920t" if EMBTK_ARCH_ARM_FAMILY_ARM9TDMI_ARM920T
default "arm922t" if EMBTK_ARCH_ARM_FAMILY_ARM9TDMI_ARM922T
default "arm940t" if EMBTK_ARCH_ARM_FAMILY_ARM9TDMI_ARM940T
default "arm946e-s" if EMBTK_ARCH_ARM_FAMILY_ARM9E_ARM946E-S
default "arm966e-s" if EMBTK_ARCH_ARM_FAMILY_ARM9E_ARM966E-S
default "arm968e-s" if EMBTK_ARCH_ARM_FAMILY_ARM9E_ARM968E-S
default "arm926ej-s" if EMBTK_ARCH_ARM_FAMILY_ARM9E_ARM926EJ-S
default "arm1020e" if EMBTK_ARCH_ARM_FAMILY_ARM10E_ARM1020E
default "arm1022e" if EMBTK_ARCH_ARM_FAMILY_ARM10E_ARM1022E
default "arm1026ej-s" if EMBTK_ARCH_ARM_FAMILY_ARM10E_ARM1026EJ-S
default "xscale" if EMBTK_ARCH_ARM_FAMILY_XSCALE_XSCALE
default "arm1136j-s" if EMBTK_ARCH_ARM_FAMILY_ARM11_ARM1136J-S
default "arm1136jf-s" if EMBTK_ARCH_ARM_FAMILY_ARM11_ARM1136JF-S
default "arm1156t2-s" if EMBTK_ARCH_ARM_FAMILY_ARM11_ARM1156T2-S
default "arm1176jz-s" if EMBTK_ARCH_ARM_FAMILY_ARM11_ARM1176JZ-S
default "arm1176jzf-s" if EMBTK_ARCH_ARM_FAMILY_ARM11_ARM1176JZF-S
default "mpcore" if EMBTK_ARCH_ARM_FAMILY_ARM11_MPCORE
default "cortex-a8" if EMBTK_ARCH_ARM_FAMILY_CORTEX_CORTEX-A8
default "cortex-a9" if EMBTK_ARCH_ARM_FAMILY_CORTEX_CORTEX-A9
default "cortex-r4" if EMBTK_ARCH_ARM_FAMILY_CORTEX_CORTEX-R4
default "cortex-r4f" if EMBTK_ARCH_ARM_FAMILY_CORTEX_CORTEX-R4F
default "cortex-m3" if EMBTK_ARCH_ARM_FAMILY_CORTEX_CORTEX-M3
default "cortex-m1" if EMBTK_ARCH_ARM_FAMILY_CORTEX_CORTEX-M1
default "iwmmxt" if EMBTK_ARCH_ARM_FAMILY_IWMMXT_IWMMXT
default "iwmmxt2" if EMBTK_ARCH_ARM_FAMILY_IWMMXT_IWMMXT2