kbuild: create symbolic link only for ARM, AVR32, SPARC, PowerPC, x86
The symbolic link to SoC/CPU specific header directory is created
during the build, while it is only necessary for ARM, AVR32, SPARC,
x86, and some CPUs of PowerPC. For the other architectures, it just
results in a broken symbolic link.
Introduce CONFIG_CREATE_ARCH_SYMLINK to not create unneeded symbolic
links.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2015-07-15 11:59:29 +00:00
|
|
|
config CREATE_ARCH_SYMLINK
|
|
|
|
bool
|
|
|
|
|
2015-03-19 10:42:51 +00:00
|
|
|
config HAVE_GENERIC_BOARD
|
|
|
|
bool
|
|
|
|
|
2015-03-19 10:42:52 +00:00
|
|
|
config SYS_GENERIC_BOARD
|
|
|
|
bool
|
|
|
|
depends on HAVE_GENERIC_BOARD
|
|
|
|
|
2014-07-30 05:08:15 +00:00
|
|
|
choice
|
|
|
|
prompt "Architecture select"
|
|
|
|
default SANDBOX
|
|
|
|
|
|
|
|
config ARC
|
|
|
|
bool "ARC architecture"
|
2015-02-03 10:58:20 +00:00
|
|
|
select HAVE_PRIVATE_LIBGCC
|
2015-03-19 10:42:51 +00:00
|
|
|
select HAVE_GENERIC_BOARD
|
2015-03-19 10:42:52 +00:00
|
|
|
select SYS_GENERIC_BOARD
|
2015-03-17 11:55:14 +00:00
|
|
|
select SUPPORT_OF_CONTROL
|
2014-07-30 05:08:15 +00:00
|
|
|
|
|
|
|
config ARM
|
|
|
|
bool "ARM architecture"
|
kbuild: create symbolic link only for ARM, AVR32, SPARC, PowerPC, x86
The symbolic link to SoC/CPU specific header directory is created
during the build, while it is only necessary for ARM, AVR32, SPARC,
x86, and some CPUs of PowerPC. For the other architectures, it just
results in a broken symbolic link.
Introduce CONFIG_CREATE_ARCH_SYMLINK to not create unneeded symbolic
links.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2015-07-15 11:59:29 +00:00
|
|
|
select CREATE_ARCH_SYMLINK
|
2015-07-03 07:13:09 +00:00
|
|
|
select HAVE_PRIVATE_LIBGCC if !ARM64
|
2015-03-19 10:42:51 +00:00
|
|
|
select HAVE_GENERIC_BOARD
|
2015-10-20 12:09:06 +00:00
|
|
|
select SYS_GENERIC_BOARD
|
2014-09-22 10:59:05 +00:00
|
|
|
select SUPPORT_OF_CONTROL
|
2014-07-30 05:08:15 +00:00
|
|
|
|
|
|
|
config AVR32
|
|
|
|
bool "AVR32 architecture"
|
kbuild: create symbolic link only for ARM, AVR32, SPARC, PowerPC, x86
The symbolic link to SoC/CPU specific header directory is created
during the build, while it is only necessary for ARM, AVR32, SPARC,
x86, and some CPUs of PowerPC. For the other architectures, it just
results in a broken symbolic link.
Introduce CONFIG_CREATE_ARCH_SYMLINK to not create unneeded symbolic
links.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2015-07-15 11:59:29 +00:00
|
|
|
select CREATE_ARCH_SYMLINK
|
2015-03-19 10:42:51 +00:00
|
|
|
select HAVE_GENERIC_BOARD
|
2015-06-11 10:14:50 +00:00
|
|
|
select SYS_GENERIC_BOARD
|
2014-07-30 05:08:15 +00:00
|
|
|
|
|
|
|
config BLACKFIN
|
|
|
|
bool "Blackfin architecture"
|
2015-03-19 10:42:51 +00:00
|
|
|
select HAVE_GENERIC_BOARD
|
2015-03-19 10:42:52 +00:00
|
|
|
select SYS_GENERIC_BOARD
|
2014-07-30 05:08:15 +00:00
|
|
|
|
|
|
|
config M68K
|
|
|
|
bool "M68000 architecture"
|
2015-03-19 10:42:51 +00:00
|
|
|
select HAVE_GENERIC_BOARD
|
2015-03-19 10:42:52 +00:00
|
|
|
select SYS_GENERIC_BOARD
|
2014-07-30 05:08:15 +00:00
|
|
|
|
|
|
|
config MICROBLAZE
|
|
|
|
bool "MicroBlaze architecture"
|
2015-03-19 10:42:51 +00:00
|
|
|
select HAVE_GENERIC_BOARD
|
2015-03-19 10:42:52 +00:00
|
|
|
select SYS_GENERIC_BOARD
|
2014-09-22 10:59:05 +00:00
|
|
|
select SUPPORT_OF_CONTROL
|
2014-07-30 05:08:15 +00:00
|
|
|
|
|
|
|
config MIPS
|
|
|
|
bool "MIPS architecture"
|
2014-10-23 16:30:43 +00:00
|
|
|
select HAVE_PRIVATE_LIBGCC
|
2015-03-19 10:42:51 +00:00
|
|
|
select HAVE_GENERIC_BOARD
|
2015-03-19 10:42:52 +00:00
|
|
|
select SYS_GENERIC_BOARD
|
2014-07-30 05:08:15 +00:00
|
|
|
|
|
|
|
config NDS32
|
|
|
|
bool "NDS32 architecture"
|
2015-08-24 06:52:35 +00:00
|
|
|
select HAVE_GENERIC_BOARD
|
|
|
|
select SYS_GENERIC_BOARD
|
2014-07-30 05:08:15 +00:00
|
|
|
|
|
|
|
config NIOS2
|
|
|
|
bool "Nios II architecture"
|
2015-03-19 10:42:51 +00:00
|
|
|
select HAVE_GENERIC_BOARD
|
2015-03-19 10:42:52 +00:00
|
|
|
select SYS_GENERIC_BOARD
|
2015-09-04 05:18:00 +00:00
|
|
|
select SUPPORT_OF_CONTROL
|
2015-10-21 13:34:57 +00:00
|
|
|
select OF_CONTROL
|
|
|
|
select DM
|
|
|
|
select CPU
|
2014-07-30 05:08:15 +00:00
|
|
|
|
|
|
|
config OPENRISC
|
|
|
|
bool "OpenRISC architecture"
|
|
|
|
|
|
|
|
config PPC
|
|
|
|
bool "PowerPC architecture"
|
2014-10-23 16:30:43 +00:00
|
|
|
select HAVE_PRIVATE_LIBGCC
|
2015-03-19 10:42:51 +00:00
|
|
|
select HAVE_GENERIC_BOARD
|
2015-10-20 12:09:06 +00:00
|
|
|
select SYS_GENERIC_BOARD
|
2015-02-07 18:51:35 +00:00
|
|
|
select SUPPORT_OF_CONTROL
|
2014-07-30 05:08:15 +00:00
|
|
|
|
|
|
|
config SANDBOX
|
|
|
|
bool "Sandbox"
|
2015-03-19 10:42:51 +00:00
|
|
|
select HAVE_GENERIC_BOARD
|
2015-03-19 10:42:52 +00:00
|
|
|
select SYS_GENERIC_BOARD
|
2014-09-22 10:59:05 +00:00
|
|
|
select SUPPORT_OF_CONTROL
|
dm: select CONFIG_DM* options
As mentioned in the previous commit, adding default values in each
Kconfig causes problems because it does not co-exist with the
"depends on" syntax. (Please note this is not a bug of Kconfig.)
We should not do so unless we have a special reason. Actually,
for CONFIG_DM*, we have no good reason to do so.
Generally, CONFIG_DM is not a user-configurable option. Once we
convert a driver into Driver Model, the board only works with Driver
Model, i.e. CONFIG_DM must be always enabled for that board.
So, using "select DM" is more suitable rather than allowing users to
modify it. Another good thing is, Kconfig warns unmet dependencies
for "select" syntax, so we easily notice bugs.
Actually, CONFIG_DM and other related options have been added
without consistency: some into arch/*/Kconfig, some into
board/*/Kconfig, and some into configs/*_defconfig.
This commit prefers "select" and cleans up the following issues.
[1] Never use "CONFIG_DM=n" in defconfig files
It is really rare to add "CONFIG_FOO=n" to disable CONFIG options.
It is more common to use "# CONFIG_FOO is not set". But here, we
do not even have to do it.
Less than half of OMAP3 boards have been converted to Driver Model.
Adding the default values to arch/arm/cpu/armv7/omap3/Kconfig is
weird. Instead, add "select DM" only to appropriate boards, which
eventually eliminates "CONFIG_DM=n", etc.
[2] Delete redundant CONFIGs
Sandbox sets CONFIG_DM in arch/sandbox/Kconfig and defines it again
in configs/sandbox_defconfig.
Likewise, OMAP3 sets CONFIG_DM arch/arm/cpu/armv7/omap3/Kconfig and
defines it also in omap3_beagle_defconfig and devkit8000_defconfig.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-03-31 03:47:53 +00:00
|
|
|
select DM
|
|
|
|
select DM_SPI_FLASH
|
|
|
|
select DM_SERIAL
|
|
|
|
select DM_I2C
|
|
|
|
select DM_SPI
|
|
|
|
select DM_GPIO
|
2014-07-30 05:08:15 +00:00
|
|
|
|
|
|
|
config SH
|
|
|
|
bool "SuperH architecture"
|
2014-10-23 16:30:43 +00:00
|
|
|
select HAVE_PRIVATE_LIBGCC
|
2014-07-30 05:08:15 +00:00
|
|
|
|
|
|
|
config SPARC
|
|
|
|
bool "SPARC architecture"
|
kbuild: create symbolic link only for ARM, AVR32, SPARC, PowerPC, x86
The symbolic link to SoC/CPU specific header directory is created
during the build, while it is only necessary for ARM, AVR32, SPARC,
x86, and some CPUs of PowerPC. For the other architectures, it just
results in a broken symbolic link.
Introduce CONFIG_CREATE_ARCH_SYMLINK to not create unneeded symbolic
links.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2015-07-15 11:59:29 +00:00
|
|
|
select CREATE_ARCH_SYMLINK
|
2014-07-30 05:08:15 +00:00
|
|
|
|
|
|
|
config X86
|
|
|
|
bool "x86 architecture"
|
kbuild: create symbolic link only for ARM, AVR32, SPARC, PowerPC, x86
The symbolic link to SoC/CPU specific header directory is created
during the build, while it is only necessary for ARM, AVR32, SPARC,
x86, and some CPUs of PowerPC. For the other architectures, it just
results in a broken symbolic link.
Introduce CONFIG_CREATE_ARCH_SYMLINK to not create unneeded symbolic
links.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2015-07-15 11:59:29 +00:00
|
|
|
select CREATE_ARCH_SYMLINK
|
2014-10-23 16:30:43 +00:00
|
|
|
select HAVE_PRIVATE_LIBGCC
|
2015-03-19 10:42:51 +00:00
|
|
|
select HAVE_GENERIC_BOARD
|
2015-03-19 10:42:52 +00:00
|
|
|
select SYS_GENERIC_BOARD
|
2014-09-22 10:59:05 +00:00
|
|
|
select SUPPORT_OF_CONTROL
|
dm: select CONFIG_DM* options
As mentioned in the previous commit, adding default values in each
Kconfig causes problems because it does not co-exist with the
"depends on" syntax. (Please note this is not a bug of Kconfig.)
We should not do so unless we have a special reason. Actually,
for CONFIG_DM*, we have no good reason to do so.
Generally, CONFIG_DM is not a user-configurable option. Once we
convert a driver into Driver Model, the board only works with Driver
Model, i.e. CONFIG_DM must be always enabled for that board.
So, using "select DM" is more suitable rather than allowing users to
modify it. Another good thing is, Kconfig warns unmet dependencies
for "select" syntax, so we easily notice bugs.
Actually, CONFIG_DM and other related options have been added
without consistency: some into arch/*/Kconfig, some into
board/*/Kconfig, and some into configs/*_defconfig.
This commit prefers "select" and cleans up the following issues.
[1] Never use "CONFIG_DM=n" in defconfig files
It is really rare to add "CONFIG_FOO=n" to disable CONFIG options.
It is more common to use "# CONFIG_FOO is not set". But here, we
do not even have to do it.
Less than half of OMAP3 boards have been converted to Driver Model.
Adding the default values to arch/arm/cpu/armv7/omap3/Kconfig is
weird. Instead, add "select DM" only to appropriate boards, which
eventually eliminates "CONFIG_DM=n", etc.
[2] Delete redundant CONFIGs
Sandbox sets CONFIG_DM in arch/sandbox/Kconfig and defines it again
in configs/sandbox_defconfig.
Likewise, OMAP3 sets CONFIG_DM arch/arm/cpu/armv7/omap3/Kconfig and
defines it also in omap3_beagle_defconfig and devkit8000_defconfig.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-03-31 03:47:53 +00:00
|
|
|
select DM
|
|
|
|
select DM_SERIAL
|
|
|
|
select DM_GPIO
|
2015-04-27 15:22:27 +00:00
|
|
|
select DM_SPI
|
|
|
|
select DM_SPI_FLASH
|
2014-07-30 05:08:15 +00:00
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
2014-09-13 18:01:48 +00:00
|
|
|
config SYS_ARCH
|
|
|
|
string
|
|
|
|
help
|
|
|
|
This option should contain the architecture name to build the
|
|
|
|
appropriate arch/<CONFIG_SYS_ARCH> directory.
|
|
|
|
All the architectures should specify this option correctly.
|
|
|
|
|
|
|
|
config SYS_CPU
|
|
|
|
string
|
|
|
|
help
|
|
|
|
This option should contain the CPU name to build the correct
|
|
|
|
arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU> directory.
|
|
|
|
|
|
|
|
This is optional. For those targets without the CPU directory,
|
|
|
|
leave this option empty.
|
|
|
|
|
|
|
|
config SYS_SOC
|
|
|
|
string
|
|
|
|
help
|
|
|
|
This option should contain the SoC name to build the directory
|
|
|
|
arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU>/<CONFIG_SYS_SOC>.
|
|
|
|
|
|
|
|
This is optional. For those targets without the SoC directory,
|
|
|
|
leave this option empty.
|
|
|
|
|
|
|
|
config SYS_VENDOR
|
|
|
|
string
|
|
|
|
help
|
|
|
|
This option should contain the vendor name of the target board.
|
|
|
|
If it is set and
|
|
|
|
board/<CONFIG_SYS_VENDOR>/common/Makefile exists, the vendor common
|
|
|
|
directory is compiled.
|
|
|
|
If CONFIG_SYS_BOARD is also set, the sources under
|
|
|
|
board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> directory are compiled.
|
|
|
|
|
|
|
|
This is optional. For those targets without the vendor directory,
|
|
|
|
leave this option empty.
|
|
|
|
|
|
|
|
config SYS_BOARD
|
|
|
|
string
|
|
|
|
help
|
|
|
|
This option should contain the name of the target board.
|
|
|
|
If it is set, either board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD>
|
|
|
|
or board/<CONFIG_SYS_BOARD> directory is compiled depending on
|
|
|
|
whether CONFIG_SYS_VENDOR is set or not.
|
|
|
|
|
|
|
|
This is optional. For those targets without the board directory,
|
|
|
|
leave this option empty.
|
|
|
|
|
|
|
|
config SYS_CONFIG_NAME
|
|
|
|
string
|
|
|
|
help
|
|
|
|
This option should contain the base name of board header file.
|
|
|
|
The header file include/configs/<CONFIG_SYS_CONFIG_NAME>.h
|
|
|
|
should be included from include/config.h.
|
|
|
|
|
2014-07-30 05:08:15 +00:00
|
|
|
source "arch/arc/Kconfig"
|
|
|
|
source "arch/arm/Kconfig"
|
|
|
|
source "arch/avr32/Kconfig"
|
|
|
|
source "arch/blackfin/Kconfig"
|
|
|
|
source "arch/m68k/Kconfig"
|
|
|
|
source "arch/microblaze/Kconfig"
|
|
|
|
source "arch/mips/Kconfig"
|
|
|
|
source "arch/nds32/Kconfig"
|
|
|
|
source "arch/nios2/Kconfig"
|
|
|
|
source "arch/openrisc/Kconfig"
|
|
|
|
source "arch/powerpc/Kconfig"
|
|
|
|
source "arch/sandbox/Kconfig"
|
|
|
|
source "arch/sh/Kconfig"
|
|
|
|
source "arch/sparc/Kconfig"
|
|
|
|
source "arch/x86/Kconfig"
|