################################################################################ # GAYE Abdoulaye Walsimou, # Copyright(C) 2009 GAYE Abdoulaye Walsimou. All rights reserved. # # This program is free software; you can distribute it and/or modify it # under the terms of the GNU General Public License # (Version 2 or later) published by the Free Software Foundation. # # This program is distributed in the hope 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, write to the Free Software Foundation, Inc., # 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. ################################################################################ # # \file arch-variant.kconfig # \brief arch-variant.kconfig of EmbToolkit, here we give users the # \brief ability to choose which variant of CPU to use. # \author GAYE Abdoulaye Walsimou, # \date May 2009 ################################################################################ ################################## MIPS ARCH ################################### choice prompt "Architecture variant" depends on EMBTK_ARCH_MIPS default EMBTK_ARCH_MIPS_MIPS32_LITTLE help Select architecture variant. config EMBTK_ARCH_MIPS_MIPS1_LITTLE bool "MIPS I little endian" select EMBTK_TARGET_ARCH_32BITS config EMBTK_ARCH_MIPS_MIPS1_BIG bool "MIPS I big endian" select EMBTK_TARGET_ARCH_32BITS config EMBTK_ARCH_MIPS_MIPS2_LITTLE bool "MIPS II little endian" select EMBTK_TARGET_ARCH_32BITS config EMBTK_ARCH_MIPS_MIPS2_BIG bool "MIPS II big endian" select EMBTK_TARGET_ARCH_32BITS config EMBTK_ARCH_MIPS_MIPS3_LITTLE bool "MIPS III little endian" select EMBTK_TARGET_ARCH_64BITS config EMBTK_ARCH_MIPS_MIPS3_BIG bool "MIPS III big endian" select EMBTK_TARGET_ARCH_64BITS config EMBTK_ARCH_MIPS_MIPS4_LITTLE bool "MIPS IV little endian" select EMBTK_TARGET_ARCH_64BITS config EMBTK_ARCH_MIPS_MIPS4_BIG bool "MIPS IV big endian" select EMBTK_TARGET_ARCH_64BITS config EMBTK_ARCH_MIPS_MIPS32_LITTLE bool "MIPS32 little endian" select EMBTK_TARGET_ARCH_32BITS config EMBTK_ARCH_MIPS_MIPS32_BIG bool "MIPS32 big endian" select EMBTK_TARGET_ARCH_32BITS config EMBTK_ARCH_MIPS_MIPS32R2_LITTLE bool "MIPS32 release 2 little endian" select EMBTK_TARGET_ARCH_32BITS config EMBTK_ARCH_MIPS_MIPS32R2_BIG bool "MIPS32 release 2 big endian" select EMBTK_TARGET_ARCH_32BITS config EMBTK_ARCH_MIPS_MIPS64_LITTLE bool "MIPS64 little endian" select EMBTK_TARGET_ARCH_64BITS config EMBTK_ARCH_MIPS_MIPS64_BIG bool "MIPS64 big endian" select EMBTK_TARGET_ARCH_64BITS config EMBTK_ARCH_MIPS_MIPS64R2_LITTLE bool "MIPS64 release 2 little endian" select EMBTK_TARGET_ARCH_64BITS config EMBTK_ARCH_MIPS_MIPS64R2_BIG bool "MIPS64 release 2 big endian" select EMBTK_TARGET_ARCH_64BITS endchoice choice prompt "ABI" depends on EMBTK_ARCH_MIPS default EMBTK_ARCH_MIPS_ABI_O32 help Here you can select which abi you want to use. config EMBTK_ARCH_MIPS_ABI_O32 bool "o32" if !EMBTK_TARGET_ARCH_64BITS config EMBTK_ARCH_MIPS_ABI_N32 bool "n32" if EMBTK_TARGET_ARCH_64BITS # config EMBTK_ARCH_MIPS_ABI_EABI # bool "eabi (BROKEN)" if EMBTK_TARGET_ARCH_64BITS # config EMBTK_ARCH_MIPS_ABI_O64 # bool "o64 (BROKEN)" if EMBTK_TARGET_ARCH_64BITS config EMBTK_ARCH_MIPS_ABI_N64 bool "n64" if EMBTK_TARGET_ARCH_64BITS endchoice ################################## End MIPS ARCH ############################### ################################## ARM ARCH #################################### 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" help Your ARM MCU is little endian config EMBTK_ARCH_ARM_BIG_ENDIAN bool "armeb: 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" config EMBTK_ARCH_ARM_FAMILY_ARM10E bool "arm10e" config EMBTK_ARCH_ARM_FAMILY_XSCALE bool "xscale" config EMBTK_ARCH_ARM_FAMILY_ARM11 bool "arm11" config EMBTK_ARCH_ARM_FAMILY_CORTEX bool "cortex" config EMBTK_ARCH_ARM_FAMILY_IWMMXT bool "iwmmxt" endchoice choice prompt "ARM MCU" depends on EMBTK_ARCH_ARM #### arm7tdmi MCU Family #### config EMBTK_ARCH_ARM_FAMILY_ARM7TDMI_ARM7TDMI depends on EMBTK_ARCH_ARM_FAMILY_ARM7TDMI bool "arm7tdmi" config EMBTK_ARCH_ARM_FAMILY_ARM7TDMI_ARM7TDMI-S depends on EMBTK_ARCH_ARM_FAMILY_ARM7TDMI bool "arm7tdmi-s" config EMBTK_ARCH_ARM_FAMILY_ARM7TDMI_ARM710T depends on EMBTK_ARCH_ARM_FAMILY_ARM7TDMI bool "arm710t" config EMBTK_ARCH_ARM_FAMILY_ARM7TDMI_ARM720T depends on EMBTK_ARCH_ARM_FAMILY_ARM7TDMI bool "arm720t" config EMBTK_ARCH_ARM_FAMILY_ARM7TDMI_ARM740T depends on EMBTK_ARCH_ARM_FAMILY_ARM7TDMI bool "arm740t" # config EMBTK_ARCH_ARM_FAMILY_ARM7TDMI_ARM7EJ-S # depends on EMBTK_ARCH_ARM_FAMILY_ARM7TDMI # bool "arm7ej-s" #### StrongARM MCU Family #### config EMBTK_ARCH_ARM_FAMILY_STRONGARM_SA depends on EMBTK_ARCH_ARM_FAMILY_STRONGARM bool "strongarm" config EMBTK_ARCH_ARM_FAMILY_STRONGARM_SA-110 depends on EMBTK_ARCH_ARM_FAMILY_STRONGARM bool "strongarm110" config EMBTK_ARCH_ARM_FAMILY_STRONGARM_SA-1100 depends on EMBTK_ARCH_ARM_FAMILY_STRONGARM bool "strongarm1100" config EMBTK_ARCH_ARM_FAMILY_STRONGARM_SA-1110 depends on EMBTK_ARCH_ARM_FAMILY_STRONGARM bool "strongarm1110" #### ARM8 MCU Family #### config EMBTK_ARCH_ARM_FAMILY_ARM8_ARM810 depends on EMBTK_ARCH_ARM_FAMILY_ARM8 bool "arm810" #### ARM9TDMI MCU Family #### config EMBTK_ARCH_ARM_FAMILY_ARM9TDMI_ARM9TDMI depends on EMBTK_ARCH_ARM_FAMILY_ARM9TDMI bool "arm9tdmi" config EMBTK_ARCH_ARM_FAMILY_ARM9TDMI_ARM920T depends on EMBTK_ARCH_ARM_FAMILY_ARM9TDMI bool "arm920t" config EMBTK_ARCH_ARM_FAMILY_ARM9TDMI_ARM922T depends on EMBTK_ARCH_ARM_FAMILY_ARM9TDMI bool "arm922t" config EMBTK_ARCH_ARM_FAMILY_ARM9TDMI_ARM940T depends on EMBTK_ARCH_ARM_FAMILY_ARM9TDMI bool "arm940t" #### ARM9E MCU Family #### config EMBTK_ARCH_ARM_FAMILY_ARM9E_ARM946E-S depends on EMBTK_ARCH_ARM_FAMILY_ARM9E bool "arm946e-s" config EMBTK_ARCH_ARM_FAMILY_ARM9E_ARM966E-S depends on EMBTK_ARCH_ARM_FAMILY_ARM9E bool "arm966e-s" config EMBTK_ARCH_ARM_FAMILY_ARM9E_ARM968E-S depends on EMBTK_ARCH_ARM_FAMILY_ARM9E bool "arm968e-s" config EMBTK_ARCH_ARM_FAMILY_ARM9E_ARM926EJ-S depends on EMBTK_ARCH_ARM_FAMILY_ARM9E bool "arm926ej-s" # config EMBTK_ARCH_ARM_FAMILY_ARM9E_ARM996HS # depends on EMBTK_ARCH_ARM_FAMILY_ARM9E # bool "arm996hs" #### ARM10E MCU Family #### config EMBTK_ARCH_ARM_FAMILY_ARM10E_ARM1020E depends on EMBTK_ARCH_ARM_FAMILY_ARM10E bool "arm1020e" config EMBTK_ARCH_ARM_FAMILY_ARM10E_ARM1022E depends on EMBTK_ARCH_ARM_FAMILY_ARM10E bool "arm1022e" config EMBTK_ARCH_ARM_FAMILY_ARM10E_ARM1026EJ-S depends on EMBTK_ARCH_ARM_FAMILY_ARM10E bool "arm1026ej-s" #### XSCALE MCU Family #### config EMBTK_ARCH_ARM_FAMILY_XSCALE_XSCALE depends on EMBTK_ARCH_ARM_FAMILY_XSCALE bool "xscale" #### ARM11 MCU Family #### config EMBTK_ARCH_ARM_FAMILY_ARM11_ARM1136J-S depends on EMBTK_ARCH_ARM_FAMILY_ARM11 bool "arm1136j-s" config EMBTK_ARCH_ARM_FAMILY_ARM11_ARM1136JF-S depends on EMBTK_ARCH_ARM_FAMILY_ARM11 bool "arm1136jf-s" config EMBTK_ARCH_ARM_FAMILY_ARM11_ARM1156T2-S depends on EMBTK_ARCH_ARM_FAMILY_ARM11 bool "arm1156t2-s" # config EMBTK_ARCH_ARM_FAMILY_ARM11_ARM1156T2F-S # depends on EMBTK_ARCH_ARM_FAMILY_ARM11 # bool "arm1156t2f-s" config EMBTK_ARCH_ARM_FAMILY_ARM11_ARM1176JZ-S depends on EMBTK_ARCH_ARM_FAMILY_ARM11 bool "arm1176jz-s" config EMBTK_ARCH_ARM_FAMILY_ARM11_ARM1176JZF-S depends on EMBTK_ARCH_ARM_FAMILY_ARM11 bool "arm1176jzf-s" config EMBTK_ARCH_ARM_FAMILY_ARM11_MPCORE depends on EMBTK_ARCH_ARM_FAMILY_ARM11 bool "mpcore" #### CORTEX MCU Family #### config EMBTK_ARCH_ARM_FAMILY_CORTEX_CORTEX-A8 depends on EMBTK_ARCH_ARM_FAMILY_CORTEX bool "cortex-a8" config EMBTK_ARCH_ARM_FAMILY_CORTEX_CORTEX-A9 depends on EMBTK_ARCH_ARM_FAMILY_CORTEX bool "cortex-a9" # config EMBTK_ARCH_ARM_FAMILY_CORTEX_CORTEX-A9_MPCORE # depends on EMBTK_ARCH_ARM_FAMILY_CORTEX # bool "cortex-a9 mpcore" config EMBTK_ARCH_ARM_FAMILY_CORTEX_CORTEX-R4 depends on EMBTK_ARCH_ARM_FAMILY_CORTEX bool "cortex-r4" config EMBTK_ARCH_ARM_FAMILY_CORTEX_CORTEX-R4F depends on EMBTK_ARCH_ARM_FAMILY_CORTEX bool "cortex-r4f" config EMBTK_ARCH_ARM_FAMILY_CORTEX_CORTEX-M3 depends on EMBTK_ARCH_ARM_FAMILY_CORTEX 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 depends on EMBTK_ARCH_ARM_FAMILY_CORTEX bool "cortex-m1" #### IWMMXT MCU Family #### config EMBTK_ARCH_ARM_FAMILY_IWMMXT_IWMMXT depends on EMBTK_ARCH_ARM_FAMILY_IWMMXT bool "iwmmxt" config EMBTK_ARCH_ARM_FAMILY_IWMMXT_IWMMXT2 depends on EMBTK_ARCH_ARM_FAMILY_IWMMXT 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 ################################## End ARM ARCH ################################ choice prompt "Floating point type" help Select the floating point type you want to use. config EMBTK_SOFTFLOAT bool "Soft floating point" help Select if your CPU has a hardware floating point unit. If you say no here, your toolchain will be built without software floating point. config EMBTK_HARDFLOAT bool "Hard floating point" help Select if your CPU has a hardware floating point unit. If you say no here, your toolchain will be built without hardware floating point. endchoice