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
|
|
|
|
|
2016-06-28 01:48:42 +00:00
|
|
|
config HAVE_ARCH_IOREMAP
|
|
|
|
bool
|
|
|
|
|
2014-07-30 05:08:15 +00:00
|
|
|
choice
|
|
|
|
prompt "Architecture select"
|
|
|
|
default SANDBOX
|
|
|
|
|
|
|
|
config ARC
|
|
|
|
bool "ARC architecture"
|
2017-01-23 20:31:19 +00:00
|
|
|
select ARCH_EARLY_INIT_R
|
2018-07-23 13:55:13 +00:00
|
|
|
select ARC_TIMER
|
2017-03-21 11:49:49 +00:00
|
|
|
select CLK
|
2018-07-23 13:55:13 +00:00
|
|
|
select HAVE_PRIVATE_LIBGCC
|
|
|
|
select SUPPORT_OF_CONTROL
|
2017-03-21 11:49:49 +00:00
|
|
|
select TIMER
|
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
|
2014-09-22 10:59:05 +00:00
|
|
|
select SUPPORT_OF_CONTROL
|
2014-07-30 05:08:15 +00:00
|
|
|
|
|
|
|
config M68K
|
|
|
|
bool "M68000 architecture"
|
2015-12-06 16:47:59 +00:00
|
|
|
select HAVE_PRIVATE_LIBGCC
|
2018-01-22 23:17:10 +00:00
|
|
|
select SYS_BOOT_GET_CMDLINE
|
|
|
|
select SYS_BOOT_GET_KBD
|
2014-07-30 05:08:15 +00:00
|
|
|
|
|
|
|
config MICROBLAZE
|
|
|
|
bool "MicroBlaze architecture"
|
2014-09-22 10:59:05 +00:00
|
|
|
select SUPPORT_OF_CONTROL
|
2017-05-17 09:25:39 +00:00
|
|
|
imply CMD_IRQ
|
2014-07-30 05:08:15 +00:00
|
|
|
|
|
|
|
config MIPS
|
|
|
|
bool "MIPS architecture"
|
2016-06-28 01:48:42 +00:00
|
|
|
select HAVE_ARCH_IOREMAP
|
2014-10-23 16:30:43 +00:00
|
|
|
select HAVE_PRIVATE_LIBGCC
|
2015-12-19 19:20:48 +00:00
|
|
|
select SUPPORT_OF_CONTROL
|
2014-07-30 05:08:15 +00:00
|
|
|
|
|
|
|
config NDS32
|
|
|
|
bool "NDS32 architecture"
|
2017-04-17 06:41:58 +00:00
|
|
|
select SUPPORT_OF_CONTROL
|
2014-07-30 05:08:15 +00:00
|
|
|
|
|
|
|
config NIOS2
|
|
|
|
bool "Nios II architecture"
|
2015-10-21 13:34:57 +00:00
|
|
|
select CPU
|
2018-07-23 13:55:13 +00:00
|
|
|
select DM
|
|
|
|
select OF_CONTROL
|
|
|
|
select SUPPORT_OF_CONTROL
|
2018-07-23 13:55:14 +00:00
|
|
|
imply CMD_DM
|
2014-07-30 05:08:15 +00:00
|
|
|
|
|
|
|
config PPC
|
|
|
|
bool "PowerPC architecture"
|
2014-10-23 16:30:43 +00:00
|
|
|
select HAVE_PRIVATE_LIBGCC
|
2015-02-07 18:51:35 +00:00
|
|
|
select SUPPORT_OF_CONTROL
|
2018-01-22 23:17:10 +00:00
|
|
|
select SYS_BOOT_GET_CMDLINE
|
|
|
|
select SYS_BOOT_GET_KBD
|
2014-07-30 05:08:15 +00:00
|
|
|
|
2017-12-26 05:55:58 +00:00
|
|
|
config RISCV
|
2018-09-26 13:55:06 +00:00
|
|
|
bool "RISC-V architecture"
|
2017-12-26 05:55:58 +00:00
|
|
|
select SUPPORT_OF_CONTROL
|
2018-09-26 13:55:19 +00:00
|
|
|
select OF_CONTROL
|
|
|
|
select DM
|
2018-09-26 13:55:20 +00:00
|
|
|
imply DM_SERIAL
|
|
|
|
imply DM_ETH
|
|
|
|
imply DM_MMC
|
|
|
|
imply DM_SPI
|
|
|
|
imply DM_SPI_FLASH
|
|
|
|
imply BLK
|
|
|
|
imply CLK
|
|
|
|
imply MTD
|
|
|
|
imply TIMER
|
2018-09-26 13:55:19 +00:00
|
|
|
imply CMD_DM
|
2017-12-26 05:55:58 +00:00
|
|
|
|
2014-07-30 05:08:15 +00:00
|
|
|
config SANDBOX
|
|
|
|
bool "Sandbox"
|
2017-01-23 00:43:11 +00:00
|
|
|
select BOARD_LATE_INIT
|
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
|
2018-07-23 13:55:13 +00:00
|
|
|
select DM_GPIO
|
|
|
|
select DM_I2C
|
2016-09-08 09:47:35 +00:00
|
|
|
select DM_KEYBOARD
|
2018-07-23 13:55:13 +00:00
|
|
|
select DM_MMC
|
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_SERIAL
|
|
|
|
select DM_SPI
|
2018-07-23 13:55:13 +00:00
|
|
|
select DM_SPI_FLASH
|
2018-02-06 18:43:56 +00:00
|
|
|
select HAVE_BLOCK_DEVICE
|
2017-07-22 22:36:16 +00:00
|
|
|
select LZO
|
2018-07-23 13:55:13 +00:00
|
|
|
select SPI
|
|
|
|
select SUPPORT_OF_CONTROL
|
2018-08-03 06:58:03 +00:00
|
|
|
imply BITREVERSE
|
2018-07-23 13:55:14 +00:00
|
|
|
imply CMD_DM
|
2017-05-17 09:25:44 +00:00
|
|
|
imply CMD_GETTIME
|
2017-05-17 09:25:25 +00:00
|
|
|
imply CMD_HASH
|
2017-05-17 09:25:34 +00:00
|
|
|
imply CMD_IO
|
2017-05-17 09:25:36 +00:00
|
|
|
imply CMD_IOTRACE
|
2017-05-17 09:25:43 +00:00
|
|
|
imply CMD_LZMADEC
|
2018-07-23 13:55:13 +00:00
|
|
|
imply CMD_SATA
|
|
|
|
imply CMD_SF_TEST
|
2017-06-02 15:03:50 +00:00
|
|
|
imply CRC32_VERIFY
|
|
|
|
imply FAT_WRITE
|
2018-09-19 10:43:46 +00:00
|
|
|
imply FIRMWARE
|
2017-05-19 16:26:58 +00:00
|
|
|
imply HASH_VERIFY
|
2017-06-02 15:03:50 +00:00
|
|
|
imply LZMA
|
2017-06-15 03:28:21 +00:00
|
|
|
imply SCSI
|
2018-09-25 14:40:17 +00:00
|
|
|
imply TEE
|
2018-09-25 14:40:23 +00:00
|
|
|
imply AVB_VERIFY
|
|
|
|
imply LIBAVB
|
|
|
|
imply CMD_AVB
|
|
|
|
imply UDP_FUNCTION_FASTBOOT
|
2018-10-15 09:21:26 +00:00
|
|
|
imply VIRTIO_MMIO
|
|
|
|
imply VIRTIO_PCI
|
|
|
|
imply VIRTIO_SANDBOX
|
|
|
|
imply VIRTIO_BLK
|
|
|
|
imply VIRTIO_NET
|
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 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
|
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
|
2017-07-30 13:23:09 +00:00
|
|
|
select DM_PCI
|
2018-10-15 09:21:16 +00:00
|
|
|
select HAVE_ARCH_IOMAP
|
2018-07-23 13:55:13 +00:00
|
|
|
select HAVE_PRIVATE_LIBGCC
|
|
|
|
select OF_CONTROL
|
2017-07-30 13:23:16 +00:00
|
|
|
select PCI
|
2018-07-23 13:55:13 +00:00
|
|
|
select SUPPORT_OF_CONTROL
|
2017-07-30 13:23:07 +00:00
|
|
|
select TIMER
|
2018-07-23 13:55:13 +00:00
|
|
|
select USE_PRIVATE_LIBGCC
|
2017-07-30 13:23:07 +00:00
|
|
|
select X86_TSC_TIMER
|
2017-07-31 02:24:02 +00:00
|
|
|
imply BLK
|
2018-07-23 13:55:14 +00:00
|
|
|
imply CMD_DM
|
2018-07-23 13:55:13 +00:00
|
|
|
imply CMD_FPGA_LOADMK
|
|
|
|
imply CMD_GETTIME
|
|
|
|
imply CMD_IO
|
|
|
|
imply CMD_IRQ
|
|
|
|
imply CMD_PCI
|
|
|
|
imply CMD_SF_TEST
|
|
|
|
imply CMD_ZBOOT
|
2017-07-30 13:23:16 +00:00
|
|
|
imply DM_ETH
|
|
|
|
imply DM_GPIO
|
|
|
|
imply DM_KEYBOARD
|
2017-07-31 02:24:01 +00:00
|
|
|
imply DM_MMC
|
2017-07-30 13:23:16 +00:00
|
|
|
imply DM_RTC
|
2017-07-31 02:24:02 +00:00
|
|
|
imply DM_SCSI
|
2018-07-23 13:55:13 +00:00
|
|
|
imply DM_SERIAL
|
2017-07-30 13:23:16 +00:00
|
|
|
imply DM_SPI
|
|
|
|
imply DM_SPI_FLASH
|
|
|
|
imply DM_USB
|
|
|
|
imply DM_VIDEO
|
2018-07-19 10:07:33 +00:00
|
|
|
imply SYSRESET
|
|
|
|
imply SYSRESET_X86
|
2017-08-28 08:50:46 +00:00
|
|
|
imply USB_ETHER_ASIX
|
|
|
|
imply USB_ETHER_SMSC95XX
|
2018-07-23 13:55:13 +00:00
|
|
|
imply USB_HOST_ETHER
|
2014-07-30 05:08:15 +00:00
|
|
|
|
2016-08-10 15:36:44 +00:00
|
|
|
config XTENSA
|
|
|
|
bool "Xtensa architecture"
|
|
|
|
select CREATE_ARCH_SYMLINK
|
|
|
|
select SUPPORT_OF_CONTROL
|
|
|
|
|
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/m68k/Kconfig"
|
|
|
|
source "arch/microblaze/Kconfig"
|
|
|
|
source "arch/mips/Kconfig"
|
|
|
|
source "arch/nds32/Kconfig"
|
|
|
|
source "arch/nios2/Kconfig"
|
|
|
|
source "arch/powerpc/Kconfig"
|
|
|
|
source "arch/sandbox/Kconfig"
|
|
|
|
source "arch/sh/Kconfig"
|
|
|
|
source "arch/x86/Kconfig"
|
2016-08-10 15:36:44 +00:00
|
|
|
source "arch/xtensa/Kconfig"
|
2017-12-26 05:55:58 +00:00
|
|
|
source "arch/riscv/Kconfig"
|