[U-Boot] [PATCH] rockchip: move CONFIG_ENV_SIZE and CONFIG_ENV_OFFSET to Kconfig

Klaus Goger klaus.goger at theobroma-systems.com
Mon Dec 11 16:56:08 UTC 2017


These settings are not not user visible via a menuconfig prompt. This 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 at theobroma-systems.com>

---

 board/theobroma-systems/puma_rk3399/Kconfig |  6 ++++++
 env/Kconfig                                 | 19 +++++++++++++++++++
 include/configs/puma_rk3399.h               |  8 --------
 include/configs/rockchip-common.h           |  6 ------
 4 files changed, 25 insertions(+), 14 deletions(-)

diff --git a/board/theobroma-systems/puma_rk3399/Kconfig b/board/theobroma-systems/puma_rk3399/Kconfig
index a645590d78..80b3460d4c 100644
--- a/board/theobroma-systems/puma_rk3399/Kconfig
+++ b/board/theobroma-systems/puma_rk3399/Kconfig
@@ -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
diff --git a/env/Kconfig b/env/Kconfig
index 2477bf8530..12c6d80785 100644
--- a/env/Kconfig
+++ b/env/Kconfig
@@ -427,4 +427,23 @@ 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
+	depends on !ENV_IS_NOWHERE
+	default 0x8000
+	help
+	  Size of the environment storage area
+
+endif
+
 endmenu
diff --git a/include/configs/puma_rk3399.h b/include/configs/puma_rk3399.h
index 39d0786266..6523a7c34a 100644
--- a/include/configs/puma_rk3399.h
+++ b/include/configs/puma_rk3399.h
@@ -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)
diff --git a/include/configs/rockchip-common.h b/include/configs/rockchip-common.h
index 35d948ae29..9da6dcaf72 100644
--- a/include/configs/rockchip-common.h
+++ b/include/configs/rockchip-common.h
@@ -61,12 +61,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_ */
-- 
2.11.0



More information about the U-Boot mailing list