]> git.sur5r.net Git - u-boot/blobdiff - drivers/bootcount/Kconfig
bootcount: Migrate CONFIG_SYS_BOOTCOUNT_ADDR
[u-boot] / drivers / bootcount / Kconfig
index e905295d4537f9a8e7f47088bd911b92698cfe8f..73972b7f9c375363feb71a7afdf73fb0b9841842 100644 (file)
@@ -13,6 +13,17 @@ if BOOTCOUNT_LIMIT
 choice
        prompt "Boot count device"
        default BOOTCOUNT_AM33XX if AM33XX || SOC_DA8XX
+       default BOOTCOUNT_AT91 if AT91SAM9XE
+       default BOOTCOUNT_GENERIC
+
+config BOOTCOUNT_GENERIC
+       bool "Generic default boot counter"
+       help
+         Generic bootcount stored at SYS_BOOTCOUNT_ADDR.
+
+         SYS_BOOTCOUNT_ADDR:
+           Set to the address where the bootcount and bootcount magic
+           will be stored.
 
 config BOOTCOUNT_EXT
        bool "Boot counter on EXT filesystem"
@@ -28,10 +39,49 @@ 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_ENV
+       bool "Boot counter in environment"
+       help
+         If no softreset save registers are found on the hardware
+         "bootcount" is stored in the environment. To prevent a
+         saveenv on all reboots, the environment variable
+         "upgrade_available" is used. If "upgrade_available" is
+         0, "bootcount" is always 0, if "upgrade_available" is
+         1 "bootcount" is incremented in the environment.
+         So the Userspace Application must set the "upgrade_available"
+         and "bootcount" variable to 0, if a boot was successfully.
+
+config BOOTCOUNT_RAM
+       bool "Boot counter in RAM"
+       help
+         Store the bootcount in DRAM protected against against bit errors
+         due to short power loss or holding a system in RESET.
+
+config BOOTCOUNT_I2C
+       bool "Boot counter on I2C device"
+       help
+         Enable support for the bootcounter on an i2c (like RTC) device.
+         CONFIG_SYS_I2C_RTC_ADDR = i2c chip address
+         CONFIG_SYS_BOOTCOUNT_ADDR = i2c addr which is used for
+                                     the bootcounter.
+
+config BOOTCOUNT_AT91
+       bool "Boot counter for Atmel AT91SAM9XE"
+       depends on AT91SAM9XE
+
 endchoice
 
+config BOOTCOUNT_ALEN
+       int "I2C address length"
+       default 1
+       depends on BOOTCOUNT_I2C
+       help
+         Length of the the I2C address at SYS_BOOTCOUNT_ADDR for storing
+         the boot counter.
+
 config SYS_BOOTCOUNT_SINGLEWORD
        bool "Use single word to pack boot count and magic value"
+       depends on BOOTCOUNT_GENERIC
        help
          This option enables packing boot count magic value and boot count
          into single word (32 bits).
@@ -61,8 +111,10 @@ config SYS_BOOTCOUNT_EXT_NAME
 
 config SYS_BOOTCOUNT_ADDR
        hex "RAM address used for reading and writing the boot counter"
-       default 0x7000A000
-       depends on BOOTCOUNT_EXT
+       default 0x44E3E000 if BOOTCOUNT_AM33XX
+       default 0xE0115FF8 if ARCH_LS1043A || ARCH_LS1021A
+       depends on BOOTCOUNT_AM33XX || BOOTCOUNT_GENERIC || BOOTCOUNT_EXT || \
+                  BOOTCOUNT_I2C
        help
          Set the address used for reading and writing the boot counter.