Merge tag 'u-boot-stm32-20200424' of https://gitlab.denx.de/u-boot/custodians/u-boot-stm
[oweals/u-boot.git] / drivers / bootcount / Kconfig
index d335ed14b96172a5bbd29768546cf863d2f7bb8e..0356f8ba1815edfe01dba33ad2229019aea2adfd 100644 (file)
@@ -70,8 +70,61 @@ config BOOTCOUNT_AT91
        bool "Boot counter for Atmel AT91SAM9XE"
        depends on AT91SAM9XE
 
+config DM_BOOTCOUNT
+        bool "Boot counter in a device-model device"
+       help
+         Enables reading/writing the bootcount in a device-model based
+         backing store.  If an entry in /chosen/u-boot,bootcount-device
+         exists, this will be the preferred bootcount device; otherwise
+         the first available bootcount device will be used.
+
 endchoice
 
+if DM_BOOTCOUNT
+
+menu "Backing stores for device-model backed bootcount"
+config DM_BOOTCOUNT_RTC
+       bool "Support RTC devices as a backing store for bootcount"
+       depends on DM_RTC
+       help
+         Enabled reading/writing the bootcount in a DM RTC device.
+         The wrapper device is to be specified with the compatible string
+         'u-boot,bootcount-rtc' and the 'rtc'-property (a phandle pointing
+         to the underlying RTC device) and an optional 'offset' property
+         are supported.
+
+         Accesses to the backing store are performed using the write16
+         and read16 ops of DM RTC devices.
+
+config DM_BOOTCOUNT_I2C_EEPROM
+       bool "Support i2c eeprom devices as a backing store for bootcount"
+       depends on I2C_EEPROM
+       help
+         Enabled reading/writing the bootcount in a DM i2c eeprom device.
+         The wrapper device is to be specified with the compatible string
+         'u-boot,bootcount-i2c-eeprom' and the 'i2c-eeprom'-property (a phandle
+         pointing to the underlying i2c eeprom device) and an optional 'offset'
+         property are supported.
+
+config BOOTCOUNT_MEM
+       bool "Support memory based bootcounter"
+       help
+         Enabling Memory based bootcount, typically in a SoC register which
+         is not cleared on softreset.
+         compatible = "u-boot,bootcount";
+
+endmenu
+
+endif
+
+config BOOTCOUNT_BOOTLIMIT
+       int "Maximum number of reboot cycles allowed"
+       default 0
+       help
+         Set the Maximum number of reboot cycles allowed without the boot
+         counter being cleared.
+         If set to 0 do not set a boot limit in the environment.
+
 config BOOTCOUNT_ALEN
        int "I2C address length"
        default 1
@@ -119,4 +172,10 @@ config SYS_BOOTCOUNT_ADDR
        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
+       help
+         Set the magic value used for the boot counter.
+
 endif