rockchip: move CONFIG_ENV_SIZE and CONFIG_ENV_OFFSET to Kconfig

This commit adds ENV_SIZE and ENV_OFFSET configuration items for
ARCH_ROCKCHIP, but keeps these non-visible (i.e. not prompt is given).
With these new items present, the configuration from the header files
is moved to Kconfig.

Keeping these non-visible is necessary to have the possibility to
select new default values if CONFIG_IS_IN_* is changed (interactively
or with oldconfig). Otherwise it will always be set to a previous
value if used with a prompt.  As an example if we do a defconfig with
CONFIG_IS_IN_MMC and change it to CONFIG_IS_IN_SPI_FLASH via
menuconfig, ENV_SIZE and ENV_OFFSET will not be changed to the correct
values as defconfig will already have set them to the default values
of CONFIG_IS_IN_MMC in .config.

Signed-off-by: Klaus Goger <klaus.goger@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
This commit is contained in:
Klaus Goger 2017-12-11 17:56:08 +01:00 committed by Philipp Tomsich
parent aa41220f6f
commit 81f53b0daf
4 changed files with 24 additions and 14 deletions

View file

@ -12,4 +12,10 @@ config SYS_CONFIG_NAME
config BOARD_SPECIFIC_OPTIONS # dummy
def_bool y
config ENV_SIZE
default 0x2000 if ENV_IS_IN_SPI_FLASH
config ENV_OFFSET
default 0x3c000 if ENV_IS_IN_SPI_FLASH
endif

18
env/Kconfig vendored
View file

@ -427,4 +427,22 @@ config ENV_UBI_VOLUME
endif
if ARCH_ROCKCHIP
config ENV_OFFSET
hex
depends on !ENV_IS_IN_UBI
depends on !ENV_IS_NOWHERE
default 0x3f8000
help
Offset from the start of the device (or partition)
config ENV_SIZE
hex
default 0x8000
help
Size of the environment storage area
endif
endmenu

View file

@ -9,14 +9,6 @@
#include <configs/rk3399_common.h>
/*
* SPL @ 32kB for ~130kB
* ENV @ 240KB for 8kB
* FIT payload (ATF, U-Boot, FDT) @ 256kB
*/
#undef CONFIG_ENV_OFFSET
#define CONFIG_ENV_OFFSET (240 * 1024)
#if defined(CONFIG_ENV_IS_IN_MMC)
#define CONFIG_SYS_MMC_ENV_DEV 1
#elif defined(CONFIG_ENV_IS_IN_SPI_FLASH)

View file

@ -59,12 +59,6 @@
#endif
/*
* Rockchip SoCs use fixed ENV 32KB@(4MB-32KB)
*/
#define CONFIG_ENV_OFFSET (SZ_4M - SZ_32K)
#define CONFIG_ENV_SIZE SZ_32K
#define CONFIG_DISPLAY_BOARDINFO_LATE
#endif /* _ROCKCHIP_COMMON_H_ */