rockchip: rk3399: Add bootcount support

Add bootcount support for Rockchip rk3399.

The bootcount value is preserved in PMU_SYS_REG0 register,
this would help to support redundent boot.

Once the redundant boot triggers, the altboot command
will look for extlinux-rollback.conf on particular
bootable partition which supposed to be a recovery
partition where redundant boot required.

Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
This commit is contained in:
Jagan Teki 2020-01-09 14:22:19 +05:30 committed by Kever Yang
parent ee6321fa14
commit efebc8edd6
3 changed files with 16 additions and 1 deletions

View File

@ -244,6 +244,8 @@ config ROCKCHIP_RK3399
imply TPL_CLK imply TPL_CLK
imply TPL_TINY_MEMSET imply TPL_TINY_MEMSET
imply TPL_ROCKCHIP_COMMON_BOARD imply TPL_ROCKCHIP_COMMON_BOARD
imply SYS_BOOTCOUNT_SINGLEWORD if BOOTCOUNT_LIMIT
imply CMD_BOOTCOUNT if BOOTCOUNT_LIMIT
help help
The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72 The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
and quad-core Cortex-A53. and quad-core Cortex-A53.

View File

@ -113,6 +113,16 @@ config TPL_TEXT_BASE
config SPL_STACK_R_ADDR config SPL_STACK_R_ADDR
default 0x04000000 default 0x04000000
if BOOTCOUNT_LIMIT
config BOOTCOUNT_BOOTLIMIT
default 3
config SYS_BOOTCOUNT_ADDR
default 0xff3100f0 # PMU_SYS_REG0
endif # BOOTCOUNT_LIMIT
source "board/rockchip/evb_rk3399/Kconfig" source "board/rockchip/evb_rk3399/Kconfig"
source "board/theobroma-systems/puma_rk3399/Kconfig" source "board/theobroma-systems/puma_rk3399/Kconfig"
source "board/vamrs/rock960_rk3399/Kconfig" source "board/vamrs/rock960_rk3399/Kconfig"

View File

@ -63,7 +63,10 @@
"fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
"partitions=" PARTS_DEFAULT \ "partitions=" PARTS_DEFAULT \
ROCKCHIP_DEVICE_SETTINGS \ ROCKCHIP_DEVICE_SETTINGS \
BOOTENV BOOTENV \
"altbootcmd=" \
"setenv boot_syslinux_conf extlinux/extlinux-rollback.conf;" \
"run distro_bootcmd\0"
#endif #endif