diff options
author | York Sun <york.sun@nxp.com> | 2018-06-26 10:03:22 -0700 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2018-07-21 12:24:31 -0400 |
commit | 474ecd2c84d97314b8145fbe3a57887f41b2edb3 (patch) | |
tree | af23d2f9097bfaef92c69a4ed3177f85454c2907 | |
parent | 646f1ab4bcfedf2db7df47a46ac2353366b7b2b7 (diff) | |
download | u-boot-474ecd2c84d97314b8145fbe3a57887f41b2edb3.tar.gz u-boot-474ecd2c84d97314b8145fbe3a57887f41b2edb3.tar.bz2 u-boot-474ecd2c84d97314b8145fbe3a57887f41b2edb3.zip |
env: Simplify Makefile using $(SPL_TPL_)
Add Kconfig options SPL_ENV_* and TPL_ENV_* and simplify Makefile.
This allows SPL/TPL image has different environment setting from
full feature U-Boot.
Signed-off-by: York Sun <york.sun@nxp.com>
-rw-r--r-- | env/Kconfig | 115 | ||||
-rw-r--r-- | env/Makefile | 40 |
2 files changed, 126 insertions, 29 deletions
diff --git a/env/Kconfig b/env/Kconfig index 787b487bb2..be99efb937 100644 --- a/env/Kconfig +++ b/env/Kconfig @@ -533,4 +533,119 @@ config ENV_VARS_UBOOT_RUNTIME_CONFIG run-time determined information about the hardware to the environment. These will be named board_name, board_rev. +if SPL_ENV_SUPPORT +config SPL_ENV_IS_NOWHERE + bool "SPL Environment is not stored" + default y if ENV_IS_NOWHERE + help + Similar to ENV_IS_NOWHERE, used for SPL environment. + +config SPL_ENV_IS_IN_MMC + bool "SPL Environment in an MMC device" + depends on !SPL_ENV_IS_NOWHERE + depends on ENV_IS_IN_MMC + default y + help + Similar to ENV_IS_IN_MMC, used for SPL environment. + +config SPL_ENV_IS_IN_FAT + bool "SPL Environment is in a FAT filesystem" + depends on !SPL_ENV_IS_NOWHERE + depends on ENV_IS_IN_FAT + default y + help + Similar to ENV_IS_IN_FAT, used for SPL environment. + +config SPL_ENV_IS_IN_EXT4 + bool "SPL Environment is in a EXT4 filesystem" + depends on !SPL_ENV_IS_NOWHERE + depends on ENV_IS_IN_EXT4 + default y + help + Similar to ENV_IS_IN_EXT4, used for SPL environment. + +config SPL_ENV_IS_IN_NAND + bool "SPL Environment in a NAND device" + depends on !SPL_ENV_IS_NOWHERE + depends on ENV_IS_IN_NAND + default y + help + Similar to ENV_IS_IN_NAND, used for SPL environment. + +config SPL_ENV_IS_IN_SPI_FLASH + bool "SPL Environment is in SPI flash" + depends on !SPL_ENV_IS_NOWHERE + depends on ENV_IS_IN_SPI_FLASH + default y + help + Similar to ENV_IS_IN_SPI_FLASH, used for SPL environment. + +config SPL_ENV_IS_IN_FLASH + bool "SPL Environment in flash memory" + depends on !SPL_ENV_IS_NOWHERE + depends on ENV_IS_IN_FLASH + default y + help + Similar to ENV_IS_IN_FLASH, used for SPL environment. + +endif + +if TPL_ENV_SUPPORT + +config TPL_ENV_IS_NOWHERE + bool "TPL Environment is not stored" + default y if ENV_IS_NOWHERE + help + Similar to ENV_IS_NOWHERE, used for TPL environment. + +config TPL_ENV_IS_IN_MMC + bool "TPL Environment in an MMC device" + depends on !TPL_ENV_IS_NOWHERE + depends on ENV_IS_IN_MMC + default y + help + Similar to ENV_IS_IN_MMC, used for TPL environment. + +config TPL_ENV_IS_IN_FAT + bool "TPL Environment is in a FAT filesystem" + depends on !TPL_ENV_IS_NOWHERE + depends on ENV_IS_IN_FAT + default y + help + Similar to ENV_IS_IN_FAT, used for TPL environment. + +config TPL_ENV_IS_IN_EXT4 + bool "TPL Environment is in a EXT4 filesystem" + depends on !TPL_ENV_IS_NOWHERE + depends on ENV_IS_IN_EXT4 + default y + help + Similar to ENV_IS_IN_EXT4, used for TPL environment. + +config TPL_ENV_IS_IN_NAND + bool "TPL Environment in a NAND device" + depends on !TPL_ENV_IS_NOWHERE + depends on ENV_IS_IN_NAND + default y + help + Similar to ENV_IS_IN_NAND, used for TPL environment. + +config TPL_ENV_IS_IN_SPI_FLASH + bool "TPL Environment is in SPI flash" + depends on !TPL_ENV_IS_NOWHERE + depends on ENV_IS_IN_SPI_FLASH + default y + help + Similar to ENV_IS_IN_SPI_FLASH, used for TPL environment. + +config TPL_ENV_IS_IN_FLASH + bool "TPL Environment in flash memory" + depends on !TPL_ENV_IS_NOWHERE + depends on ENV_IS_IN_FLASH + default y + help + Similar to ENV_IS_IN_FLASH, used for TPL environment. + +endif + endmenu diff --git a/env/Makefile b/env/Makefile index fa635c8082..90144d6caf 100644 --- a/env/Makefile +++ b/env/Makefile @@ -14,41 +14,23 @@ extra-$(CONFIG_ENV_IS_EMBEDDED) += embedded.o obj-$(CONFIG_ENV_IS_IN_EEPROM) += embedded.o extra-$(CONFIG_ENV_IS_IN_FLASH) += embedded.o obj-$(CONFIG_ENV_IS_IN_NVRAM) += embedded.o -obj-$(CONFIG_ENV_IS_IN_FLASH) += flash.o -obj-$(CONFIG_ENV_IS_IN_MMC) += mmc.o -obj-$(CONFIG_ENV_IS_IN_FAT) += fat.o -obj-$(CONFIG_ENV_IS_IN_EXT4) += ext4.o -obj-$(CONFIG_ENV_IS_IN_NAND) += nand.o obj-$(CONFIG_ENV_IS_IN_NVRAM) += nvram.o obj-$(CONFIG_ENV_IS_IN_ONENAND) += onenand.o obj-$(CONFIG_ENV_IS_IN_SATA) += sata.o -obj-$(CONFIG_ENV_IS_IN_SPI_FLASH) += sf.o obj-$(CONFIG_ENV_IS_IN_REMOTE) += remote.o obj-$(CONFIG_ENV_IS_IN_UBI) += ubi.o -obj-$(CONFIG_ENV_IS_NOWHERE) += nowhere.o -endif - -ifdef CONFIG_SPL_BUILD -obj-$(CONFIG_ENV_IS_IN_FLASH) += flash.o -# environment -ifdef CONFIG_TPL_BUILD -obj-$(CONFIG_TPL_ENV_SUPPORT) += attr.o -obj-$(CONFIG_TPL_ENV_SUPPORT) += flags.o -obj-$(CONFIG_TPL_ENV_SUPPORT) += callback.o else -obj-$(CONFIG_SPL_ENV_SUPPORT) += attr.o -obj-$(CONFIG_SPL_ENV_SUPPORT) += flags.o -obj-$(CONFIG_SPL_ENV_SUPPORT) += callback.o -endif -ifneq ($(CONFIG_TPL_ENV_SUPPORT)$(CONFIG_SPL_ENV_SUPPORT),) -obj-$(CONFIG_ENV_IS_NOWHERE) += nowhere.o -obj-$(CONFIG_ENV_IS_IN_MMC) += mmc.o -obj-$(CONFIG_ENV_IS_IN_FAT) += fat.o -obj-$(CONFIG_ENV_IS_IN_EXT4) += ext4.o -obj-$(CONFIG_ENV_IS_IN_NAND) += nand.o -obj-$(CONFIG_ENV_IS_IN_SPI_FLASH) += sf.o -obj-$(CONFIG_ENV_IS_IN_FLASH) += flash.o -endif +obj-$(CONFIG_$(SPL_TPL_)ENV_SUPPORT) += attr.o +obj-$(CONFIG_$(SPL_TPL_)ENV_SUPPORT) += flags.o +obj-$(CONFIG_$(SPL_TPL_)ENV_SUPPORT) += callback.o endif +obj-$(CONFIG_$(SPL_TPL_)ENV_IS_NOWHERE) += nowhere.o +obj-$(CONFIG_$(SPL_TPL_)ENV_IS_IN_MMC) += mmc.o +obj-$(CONFIG_$(SPL_TPL_)ENV_IS_IN_FAT) += fat.o +obj-$(CONFIG_$(SPL_TPL_)ENV_IS_IN_EXT4) += ext4.o +obj-$(CONFIG_$(SPL_TPL_)ENV_IS_IN_NAND) += nand.o +obj-$(CONFIG_$(SPL_TPL_)ENV_IS_IN_SPI_FLASH) += sf.o +obj-$(CONFIG_$(SPL_TPL_)ENV_IS_IN_FLASH) += flash.o + CFLAGS_embedded.o := -Wa,--no-warn -DENV_CRC=$(shell tools/envcrc 2>/dev/null) |