aboutsummaryrefslogtreecommitdiff
path: root/drivers/bootcount/Kconfig
diff options
context:
space:
mode:
authorGireesh Hiremath2021-06-11 16:13:48 +0000
committerLokesh Vutla2021-07-15 17:56:03 +0530
commitcaf9478624878687b7098c3037202d8892b1dee6 (patch)
tree00f9715250a7e32103cfa4f1666ac9506edd7443 /drivers/bootcount/Kconfig
parent9cd380ef5ff668b5850429f3fbcf141af4eb2202 (diff)
am335x, guardian: software update available status is stored in AM3352 RTC scracth register
RTC second scratch register[32-bit]: -zero byte hold boot count value -first byte hold update available state -second byte hold version -third byte hold magic number Signed-off-by: Gireesh Hiremath <Gireesh.Hiremath@in.bosch.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Link: https://lore.kernel.org/r/20210611161350.2141-17-Gireesh.Hiremath@in.bosch.com Gbp-Pq: Topic apertis/guardian Gbp-Pq: Name am335x-guardian-software-update-available-status-is-store.patch
Diffstat (limited to 'drivers/bootcount/Kconfig')
-rw-r--r--drivers/bootcount/Kconfig34
1 files changed, 31 insertions, 3 deletions
diff --git a/drivers/bootcount/Kconfig b/drivers/bootcount/Kconfig
index b5ccea0d9c2..0de2b7bd78c 100644
--- a/drivers/bootcount/Kconfig
+++ b/drivers/bootcount/Kconfig
@@ -42,6 +42,25 @@ config BOOTCOUNT_AM33XX
This requires the RTC clocks, etc, to be enabled prior to use and
not all boards with this IP block on it will have the RTC in use.
+config BOOTCOUNT_AM33XX_NVMEM
+ bool "Boot counter in AM33XX RTC IP block with upgrade_available flag"
+ depends on AM33XX
+ select SPL_AM33XX_ENABLE_RTC32K_OSC if AM33XX
+ help
+ Add support for maintaining bootcount,upgrade_available,
+ version and BOOTMAGIC in a AM33xx RTC IP block
+ scratch register2.
+
+ A bootcount driver for the RTC IP block found on many TI platforms.
+ This requires the RTC clocks, etc, to be enabled prior to use and
+ not all boards with this IP block on it will have the RTC in use.
+
+ If there is upgrade in software then "upgrade_available" is 1,
+ "bootcount" is incremented otherwise "upgrade_available" and
+ "bootcount" is always 0. So the Userspace Application must set
+ the "upgrade_available" and "bootcount" variable to 0, if a boot
+ was successfully.
+
config BOOTCOUNT_ENV
bool "Boot counter in environment"
help
@@ -177,16 +196,25 @@ config SYS_BOOTCOUNT_EXT_NAME
config SYS_BOOTCOUNT_ADDR
hex "RAM address used for reading and writing the boot counter"
- default 0x44E3E000 if BOOTCOUNT_AM33XX
+ default 0x44E3E000 if BOOTCOUNT_AM33XX || BOOTCOUNT_AM33XX_NVMEM
default 0xE0115FF8 if ARCH_LS1043A || ARCH_LS1021A
depends on BOOTCOUNT_AM33XX || BOOTCOUNT_GENERIC || BOOTCOUNT_EXT || \
- BOOTCOUNT_I2C
+ BOOTCOUNT_I2C || BOOTCOUNT_AM33XX_NVMEM
help
Set the address used for reading and writing the boot counter.
config SYS_BOOTCOUNT_MAGIC
hex "Magic value for the boot counter"
- default 0xB001C041
+ default 0xB001C041 if BOOTCOUNT_GENERIC || BOOTCOUNT_EXT || \
+ BOOTCOUNT_AM33XX || BOOTCOUNT_ENV || \
+ BOOTCOUNT_RAM || BOOTCOUNT_I2C || \
+ BOOTCOUNT_AT91 || DM_BOOTCOUNT
+ default 0xB0 if BOOTCOUNT_AM33XX_NVMEM
+ depends on BOOTCOUNT_GENERIC || BOOTCOUNT_EXT || \
+ BOOTCOUNT_AM33XX || BOOTCOUNT_ENV || \
+ BOOTCOUNT_RAM || BOOTCOUNT_I2C || \
+ BOOTCOUNT_AT91 || DM_BOOTCOUNT || \
+ BOOTCOUNT_AM33XX_NVMEM
help
Set the magic value used for the boot counter.