mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-19 08:28:51 +09:00
![Masahiro Yamada](/assets/img/avatar_default.png)
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>
170 lines
3.8 KiB
Plaintext
170 lines
3.8 KiB
Plaintext
config HAVE_GENERIC_BOARD
|
|
bool
|
|
|
|
config SYS_GENERIC_BOARD
|
|
bool
|
|
depends on HAVE_GENERIC_BOARD
|
|
|
|
choice
|
|
prompt "Architecture select"
|
|
default SANDBOX
|
|
|
|
config ARC
|
|
bool "ARC architecture"
|
|
select HAVE_PRIVATE_LIBGCC
|
|
select HAVE_GENERIC_BOARD
|
|
select SYS_GENERIC_BOARD
|
|
select SUPPORT_OF_CONTROL
|
|
|
|
config ARM
|
|
bool "ARM architecture"
|
|
select HAVE_PRIVATE_LIBGCC
|
|
select HAVE_GENERIC_BOARD
|
|
select SUPPORT_OF_CONTROL
|
|
|
|
config AVR32
|
|
bool "AVR32 architecture"
|
|
select HAVE_GENERIC_BOARD
|
|
|
|
config BLACKFIN
|
|
bool "Blackfin architecture"
|
|
select HAVE_GENERIC_BOARD
|
|
select SYS_GENERIC_BOARD
|
|
|
|
config M68K
|
|
bool "M68000 architecture"
|
|
select HAVE_GENERIC_BOARD
|
|
select SYS_GENERIC_BOARD
|
|
|
|
config MICROBLAZE
|
|
bool "MicroBlaze architecture"
|
|
select HAVE_GENERIC_BOARD
|
|
select SYS_GENERIC_BOARD
|
|
select SUPPORT_OF_CONTROL
|
|
|
|
config MIPS
|
|
bool "MIPS architecture"
|
|
select HAVE_PRIVATE_LIBGCC
|
|
select HAVE_GENERIC_BOARD
|
|
select SYS_GENERIC_BOARD
|
|
|
|
config NDS32
|
|
bool "NDS32 architecture"
|
|
|
|
config NIOS2
|
|
bool "Nios II architecture"
|
|
select HAVE_GENERIC_BOARD
|
|
select SYS_GENERIC_BOARD
|
|
|
|
config OPENRISC
|
|
bool "OpenRISC architecture"
|
|
|
|
config PPC
|
|
bool "PowerPC architecture"
|
|
select HAVE_PRIVATE_LIBGCC
|
|
select HAVE_GENERIC_BOARD
|
|
select SUPPORT_OF_CONTROL
|
|
|
|
config SANDBOX
|
|
bool "Sandbox"
|
|
select HAVE_GENERIC_BOARD
|
|
select SYS_GENERIC_BOARD
|
|
select SUPPORT_OF_CONTROL
|
|
select DM
|
|
select DM_SPI_FLASH
|
|
select DM_SERIAL
|
|
select DM_I2C
|
|
select DM_SPI
|
|
select DM_GPIO
|
|
|
|
config SH
|
|
bool "SuperH architecture"
|
|
select HAVE_PRIVATE_LIBGCC
|
|
|
|
config SPARC
|
|
bool "SPARC architecture"
|
|
|
|
config X86
|
|
bool "x86 architecture"
|
|
select HAVE_PRIVATE_LIBGCC
|
|
select HAVE_GENERIC_BOARD
|
|
select SYS_GENERIC_BOARD
|
|
select SUPPORT_OF_CONTROL
|
|
select DM
|
|
select DM_SERIAL
|
|
select DM_GPIO
|
|
|
|
endchoice
|
|
|
|
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.
|
|
|
|
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"
|