[PATCH v2 1/5] roc-pc-rk3399: Enable redundant SPI flash environment

Fabio Estevam festevam at gmail.com
Wed Jul 1 19:57:56 CEST 2026


From: Fabio Estevam <festevam at nabladev.com>

Enable redundant environment storage in the SPI NOR flash by enabling
CONFIG_ENV_REDUNDANT and defining CONFIG_ENV_OFFSET_REDUND.

Move the primary environment to 0x3f0000 and place the redundant copy
at 0x3f8000, matching the existing SPI NOR layout.

Having two copies of the environment improves robustness against
power loss or interrupted writes and is useful for software update
frameworks such as SWUpdate that modify the U-Boot environment during
system updates.

Signed-off-by: Fabio Estevam <festevam at nabladev.com>
---
Changes since v1:
- Use CONFIG_ENV_OFFSET=0x3F0000 and CONFIG_ENV_OFFSET_REDUND=0x3F8000.

 configs/roc-pc-rk3399_defconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/configs/roc-pc-rk3399_defconfig b/configs/roc-pc-rk3399_defconfig
index 1df5cb03adbb..c7cbe8ec34b3 100644
--- a/configs/roc-pc-rk3399_defconfig
+++ b/configs/roc-pc-rk3399_defconfig
@@ -7,6 +7,6 @@ CONFIG_NR_DRAM_BANKS=1
 CONFIG_SF_DEFAULT_SPEED=30000000
 CONFIG_ENV_SIZE=0x8000
-CONFIG_ENV_OFFSET=0x3F8000
+CONFIG_ENV_OFFSET=0x3F0000
 CONFIG_ENV_SECT_SIZE=0x1000
 CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3399-roc-pc"
 CONFIG_DM_RESET=y
@@ -17,6 +17,7 @@ CONFIG_SYS_LOAD_ADDR=0x800800
 CONFIG_SF_DEFAULT_BUS=1
 CONFIG_DEBUG_UART_BASE=0xFF1A0000
 CONFIG_DEBUG_UART_CLOCK=24000000
+CONFIG_ENV_OFFSET_REDUND=0x3F8000
 CONFIG_SPL_SPI_FLASH_SUPPORT=y
 CONFIG_SPL_SPI=y
 CONFIG_DEBUG_UART=y
@@ -39,6 +40,7 @@ CONFIG_CMD_TIME=y
 CONFIG_SPL_OF_CONTROL=y
 CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
 CONFIG_ENV_IS_IN_SPI_FLASH=y
+CONFIG_ENV_REDUNDANT=y
 CONFIG_ENV_RELOC_GD_ENV_ADDR=y
 CONFIG_ROCKCHIP_GPIO=y
 CONFIG_SYS_I2C_ROCKCHIP=y
-- 
2.43.0


More information about the U-Boot mailing list