2012-12-13 23:20:48 +01:00
|
|
|
# arm cpu features
|
|
|
|
config BR2_ARM_CPU_HAS_NEON
|
|
|
|
bool
|
|
|
|
|
|
|
|
# for some cores, NEON support is optional
|
|
|
|
config BR2_ARM_CPU_MAYBE_HAS_NEON
|
|
|
|
bool
|
|
|
|
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
choice
|
|
|
|
prompt "Target Architecture Variant"
|
|
|
|
depends on BR2_arm || BR2_armeb
|
2013-04-04 09:29:45 +02:00
|
|
|
default BR2_arm926t
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
help
|
|
|
|
Specific CPU variant to use
|
|
|
|
|
|
|
|
config BR2_arm7tdmi
|
|
|
|
bool "arm7tdmi"
|
|
|
|
config BR2_arm720t
|
|
|
|
bool "arm720t"
|
|
|
|
config BR2_arm920t
|
|
|
|
bool "arm920t"
|
|
|
|
config BR2_arm922t
|
|
|
|
bool "arm922t"
|
|
|
|
config BR2_arm926t
|
|
|
|
bool "arm926t"
|
|
|
|
config BR2_arm10t
|
|
|
|
bool "arm10t"
|
2013-02-01 10:33:24 +01:00
|
|
|
config BR2_arm1136jf_s_r0
|
|
|
|
bool "arm1136jf_s rev0"
|
|
|
|
config BR2_arm1136jf_s_r1
|
|
|
|
bool "arm1136jf_s rev1"
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
config BR2_arm1176jz_s
|
|
|
|
bool "arm1176jz-s"
|
|
|
|
config BR2_arm1176jzf_s
|
|
|
|
bool "arm1176jzf-s"
|
2012-12-09 12:54:03 +01:00
|
|
|
config BR2_cortex_a5
|
|
|
|
bool "cortex-A5"
|
2012-12-13 23:20:48 +01:00
|
|
|
select BR2_ARM_CPU_MAYBE_HAS_NEON
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
config BR2_cortex_a8
|
|
|
|
bool "cortex-A8"
|
2012-12-13 23:20:48 +01:00
|
|
|
select BR2_ARM_CPU_HAS_NEON
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
config BR2_cortex_a9
|
|
|
|
bool "cortex-A9"
|
2012-12-13 23:20:48 +01:00
|
|
|
select BR2_ARM_CPU_MAYBE_HAS_NEON
|
2012-12-09 12:54:03 +01:00
|
|
|
config BR2_cortex_a15
|
|
|
|
bool "cortex-A15"
|
2012-12-13 23:20:48 +01:00
|
|
|
select BR2_ARM_CPU_HAS_NEON
|
2013-04-04 09:29:45 +02:00
|
|
|
config BR2_fa526
|
|
|
|
bool "fa526/626"
|
2013-04-29 10:54:24 +02:00
|
|
|
config BR2_pj4
|
|
|
|
bool "pj4"
|
2013-04-04 09:29:45 +02:00
|
|
|
config BR2_strongarm
|
|
|
|
bool "strongarm sa110/sa1100"
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
config BR2_xscale
|
|
|
|
bool "xscale"
|
|
|
|
config BR2_iwmmxt
|
|
|
|
bool "iwmmxt"
|
|
|
|
endchoice
|
|
|
|
|
2013-02-01 10:33:24 +01:00
|
|
|
config BR2_arm1136jf_s
|
|
|
|
bool
|
|
|
|
default BR2_arm1136jf_s_r0 || BR2_arm1136jf_s_r1
|
|
|
|
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
choice
|
|
|
|
prompt "Target ABI"
|
|
|
|
depends on BR2_arm || BR2_armeb
|
2013-02-06 14:51:24 +01:00
|
|
|
depends on BR2_DEPRECATED
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
default BR2_ARM_EABI
|
|
|
|
help
|
|
|
|
Application Binary Interface to use
|
|
|
|
|
|
|
|
Note:
|
|
|
|
Using OABI is discouraged.
|
|
|
|
|
2013-02-07 10:04:48 +01:00
|
|
|
config BR2_ARM_EABI_CHOICE
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
bool "EABI"
|
|
|
|
config BR2_ARM_OABI
|
|
|
|
bool "OABI"
|
|
|
|
depends on !BR2_GCC_VERSION_4_7_X
|
|
|
|
endchoice
|
|
|
|
|
2013-02-06 14:51:24 +01:00
|
|
|
config BR2_ARM_EABI
|
2013-02-07 10:04:48 +01:00
|
|
|
def_bool y
|
|
|
|
depends on !BR2_ARM_OABI
|
2013-02-06 14:51:24 +01:00
|
|
|
|
2012-12-13 23:20:48 +01:00
|
|
|
config BR2_ARM_ENABLE_NEON
|
|
|
|
bool "Enable NEON SIMD extension support"
|
|
|
|
depends on BR2_ARM_CPU_MAYBE_HAS_NEON
|
|
|
|
select BR2_ARM_CPU_HAS_NEON
|
|
|
|
help
|
|
|
|
For some CPU cores, the NEON SIMD extension is optional.
|
|
|
|
Select this option if you are certain your particular
|
|
|
|
implementation has NEON support and you want to use it.
|
|
|
|
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
config BR2_ARCH
|
|
|
|
default "arm" if BR2_arm
|
|
|
|
default "armeb" if BR2_armeb
|
|
|
|
|
|
|
|
config BR2_ENDIAN
|
|
|
|
default "LITTLE" if BR2_arm
|
|
|
|
default "BIG" if BR2_armeb
|
|
|
|
|
|
|
|
config BR2_GCC_TARGET_TUNE
|
2012-11-15 04:53:53 +01:00
|
|
|
default "arm7tdmi" if BR2_arm7tdmi
|
|
|
|
default "arm7tdmi" if BR2_arm720t
|
|
|
|
default "arm7tdmi" if BR2_arm740t
|
|
|
|
default "arm920" if BR2_arm920
|
|
|
|
default "arm920t" if BR2_arm920t
|
|
|
|
default "arm922t" if BR2_arm922t
|
|
|
|
default "arm926ej-s" if BR2_arm926t
|
|
|
|
default "arm1136j-s" if BR2_arm1136j_s
|
|
|
|
default "arm1136jf-s" if BR2_arm1136jf_s
|
|
|
|
default "arm1176jz-s" if BR2_arm1176jz_s
|
|
|
|
default "arm1176jzf-s" if BR2_arm1176jzf_s
|
2012-12-09 12:54:03 +01:00
|
|
|
default "cortex-a5" if BR2_cortex_a5
|
2012-11-15 04:53:53 +01:00
|
|
|
default "cortex-a8" if BR2_cortex_a8
|
|
|
|
default "cortex-a9" if BR2_cortex_a9
|
2012-12-09 12:54:03 +01:00
|
|
|
default "cortex-a15" if BR2_cortex_a15
|
2013-04-04 09:29:45 +02:00
|
|
|
default "fa526" if BR2_fa526
|
2013-04-29 10:54:24 +02:00
|
|
|
default "marvell-pj4" if BR2_pj4
|
2013-04-04 09:29:45 +02:00
|
|
|
default "strongarm" if BR2_strongarm
|
2012-11-15 04:53:53 +01:00
|
|
|
default "xscale" if BR2_xscale
|
|
|
|
default "iwmmxt" if BR2_iwmmxt
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
|
|
|
|
config BR2_GCC_TARGET_ARCH
|
2012-11-15 04:53:53 +01:00
|
|
|
default "armv4t" if BR2_arm7tdmi
|
|
|
|
default "armv4t" if BR2_arm720t
|
|
|
|
default "armv4t" if BR2_arm920t
|
|
|
|
default "armv4t" if BR2_arm922t
|
|
|
|
default "armv5te" if BR2_arm926t
|
|
|
|
default "armv5t" if BR2_arm10t
|
2013-02-01 10:33:24 +01:00
|
|
|
default "armv6j" if BR2_arm1136jf_s_r0
|
|
|
|
default "armv6k" if BR2_arm1136jf_s_r1
|
2012-11-15 04:53:53 +01:00
|
|
|
default "armv6zk" if BR2_arm1176jz_s
|
|
|
|
default "armv6zk" if BR2_arm1176jzf_s
|
2012-12-09 12:54:03 +01:00
|
|
|
default "armv7-a" if BR2_cortex_a5
|
2012-11-15 04:53:53 +01:00
|
|
|
default "armv7-a" if BR2_cortex_a8
|
|
|
|
default "armv7-a" if BR2_cortex_a9
|
2012-12-09 12:54:03 +01:00
|
|
|
default "armv7-a" if BR2_cortex_a15
|
2013-04-04 09:29:45 +02:00
|
|
|
default "armv4" if BR2_fa526
|
2013-04-29 10:54:24 +02:00
|
|
|
default "armv7-a" if BR2_pj4
|
2013-04-04 09:29:45 +02:00
|
|
|
default "armv4" if BR2_strongarm
|
2012-11-15 04:53:53 +01:00
|
|
|
default "armv5te" if BR2_xscale
|
|
|
|
default "iwmmxt" if BR2_iwmmxt
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
|
|
|
|
config BR2_GCC_TARGET_ABI
|
2012-11-15 04:53:53 +01:00
|
|
|
default "apcs-gnu" if BR2_ARM_OABI
|
|
|
|
default "aapcs-linux" if BR2_ARM_EABI
|