Ian Ray | 542a48e | 2017-11-08 15:35:13 +0000 | [diff] [blame] | 1 | # |
| 2 | # Boot count configuration |
| 3 | # |
| 4 | |
Alex Kiernan | aa0abed | 2018-02-16 15:50:39 +0000 | [diff] [blame] | 5 | menuconfig BOOTCOUNT_LIMIT |
Lukasz Majewski | 6dd8c90 | 2018-02-09 23:50:57 +0100 | [diff] [blame] | 6 | bool "Enable support for checking boot count limit" |
| 7 | help |
| 8 | Enable checking for exceeding the boot count limit. |
| 9 | More information: http://www.denx.de/wiki/DULG/UBootBootCountLimit |
| 10 | |
Alex Kiernan | 4aa943f | 2018-02-16 15:50:38 +0000 | [diff] [blame] | 11 | if BOOTCOUNT_LIMIT |
Ian Ray | 542a48e | 2017-11-08 15:35:13 +0000 | [diff] [blame] | 12 | |
Alex Kiernan | aa0abed | 2018-02-16 15:50:39 +0000 | [diff] [blame] | 13 | choice |
| 14 | prompt "Boot count device" |
Alex Kiernan | 8845635 | 2018-02-16 15:50:40 +0000 | [diff] [blame] | 15 | default BOOTCOUNT_AM33XX if AM33XX || SOC_DA8XX |
Alex Kiernan | 48bfd65 | 2018-02-16 15:50:45 +0000 | [diff] [blame] | 16 | default BOOTCOUNT_AT91 if AT91SAM9XE |
Alex Kiernan | 4a80f1d | 2018-02-16 15:50:46 +0000 | [diff] [blame] | 17 | default BOOTCOUNT_GENERIC |
| 18 | |
| 19 | config BOOTCOUNT_GENERIC |
| 20 | bool "Generic default boot counter" |
| 21 | help |
| 22 | Generic bootcount stored at SYS_BOOTCOUNT_ADDR. |
| 23 | |
| 24 | SYS_BOOTCOUNT_ADDR: |
| 25 | Set to the address where the bootcount and bootcount magic |
| 26 | will be stored. |
Alex Kiernan | aa0abed | 2018-02-16 15:50:39 +0000 | [diff] [blame] | 27 | |
Ian Ray | 542a48e | 2017-11-08 15:35:13 +0000 | [diff] [blame] | 28 | config BOOTCOUNT_EXT |
| 29 | bool "Boot counter on EXT filesystem" |
| 30 | help |
| 31 | Add support for maintaining boot count in a file on an EXT |
| 32 | filesystem. |
| 33 | |
Alex Kiernan | 8845635 | 2018-02-16 15:50:40 +0000 | [diff] [blame] | 34 | config BOOTCOUNT_AM33XX |
| 35 | bool "Boot counter in AM33XX RTC IP block" |
| 36 | depends on AM33XX || SOC_DA8XX |
Alex Kiernan | 10238ef | 2018-03-15 22:11:46 +0000 | [diff] [blame] | 37 | select SPL_AM33XX_ENABLE_RTC32K_OSC if AM33XX |
Alex Kiernan | 8845635 | 2018-02-16 15:50:40 +0000 | [diff] [blame] | 38 | help |
| 39 | A bootcount driver for the RTC IP block found on many TI platforms. |
| 40 | This requires the RTC clocks, etc, to be enabled prior to use and |
| 41 | not all boards with this IP block on it will have the RTC in use. |
| 42 | |
Alex Kiernan | c5037a8 | 2018-02-16 15:50:41 +0000 | [diff] [blame] | 43 | config BOOTCOUNT_ENV |
| 44 | bool "Boot counter in environment" |
| 45 | help |
| 46 | If no softreset save registers are found on the hardware |
| 47 | "bootcount" is stored in the environment. To prevent a |
| 48 | saveenv on all reboots, the environment variable |
| 49 | "upgrade_available" is used. If "upgrade_available" is |
| 50 | 0, "bootcount" is always 0, if "upgrade_available" is |
| 51 | 1 "bootcount" is incremented in the environment. |
| 52 | So the Userspace Application must set the "upgrade_available" |
| 53 | and "bootcount" variable to 0, if a boot was successfully. |
| 54 | |
Alex Kiernan | 2a69429 | 2018-02-16 15:50:42 +0000 | [diff] [blame] | 55 | config BOOTCOUNT_RAM |
| 56 | bool "Boot counter in RAM" |
| 57 | help |
| 58 | Store the bootcount in DRAM protected against against bit errors |
| 59 | due to short power loss or holding a system in RESET. |
| 60 | |
Alex Kiernan | 3cbc810b | 2018-02-16 15:50:43 +0000 | [diff] [blame] | 61 | config BOOTCOUNT_I2C |
| 62 | bool "Boot counter on I2C device" |
| 63 | help |
| 64 | Enable support for the bootcounter on an i2c (like RTC) device. |
| 65 | CONFIG_SYS_I2C_RTC_ADDR = i2c chip address |
| 66 | CONFIG_SYS_BOOTCOUNT_ADDR = i2c addr which is used for |
| 67 | the bootcounter. |
Alex Kiernan | 3cbc810b | 2018-02-16 15:50:43 +0000 | [diff] [blame] | 68 | |
Alex Kiernan | 48bfd65 | 2018-02-16 15:50:45 +0000 | [diff] [blame] | 69 | config BOOTCOUNT_AT91 |
| 70 | bool "Boot counter for Atmel AT91SAM9XE" |
| 71 | depends on AT91SAM9XE |
| 72 | |
Alex Kiernan | aa0abed | 2018-02-16 15:50:39 +0000 | [diff] [blame] | 73 | endchoice |
| 74 | |
Alex Kiernan | cf9888f | 2018-07-21 20:25:32 +0000 | [diff] [blame] | 75 | config BOOTCOUNT_BOOTLIMIT |
| 76 | int "Maximum number of reboot cycles allowed" |
| 77 | default 0 |
| 78 | help |
| 79 | Set the Maximum number of reboot cycles allowed without the boot |
| 80 | counter being cleared. |
| 81 | If set to 0 do not set a boot limit in the environment. |
| 82 | |
Alex Kiernan | 74910a7 | 2018-02-16 15:50:47 +0000 | [diff] [blame] | 83 | config BOOTCOUNT_ALEN |
| 84 | int "I2C address length" |
| 85 | default 1 |
| 86 | depends on BOOTCOUNT_I2C |
| 87 | help |
| 88 | Length of the the I2C address at SYS_BOOTCOUNT_ADDR for storing |
| 89 | the boot counter. |
| 90 | |
Alex Kiernan | aa0abed | 2018-02-16 15:50:39 +0000 | [diff] [blame] | 91 | config SYS_BOOTCOUNT_SINGLEWORD |
| 92 | bool "Use single word to pack boot count and magic value" |
Alex Kiernan | 4a80f1d | 2018-02-16 15:50:46 +0000 | [diff] [blame] | 93 | depends on BOOTCOUNT_GENERIC |
Alex Kiernan | aa0abed | 2018-02-16 15:50:39 +0000 | [diff] [blame] | 94 | help |
| 95 | This option enables packing boot count magic value and boot count |
| 96 | into single word (32 bits). |
Ian Ray | 542a48e | 2017-11-08 15:35:13 +0000 | [diff] [blame] | 97 | |
| 98 | config SYS_BOOTCOUNT_EXT_INTERFACE |
| 99 | string "Interface on which to find boot counter EXT filesystem" |
| 100 | default "mmc" |
| 101 | depends on BOOTCOUNT_EXT |
| 102 | help |
| 103 | Set the interface to use when locating the filesystem to use for the |
| 104 | boot counter. |
| 105 | |
| 106 | config SYS_BOOTCOUNT_EXT_DEVPART |
| 107 | string "Partition of the boot counter EXT filesystem" |
| 108 | default "0:1" |
| 109 | depends on BOOTCOUNT_EXT |
| 110 | help |
| 111 | Set the partition to use when locating the filesystem to use for the |
| 112 | boot counter. |
| 113 | |
| 114 | config SYS_BOOTCOUNT_EXT_NAME |
| 115 | string "Path and filename of the EXT filesystem based boot counter" |
| 116 | default "/boot/failures" |
| 117 | depends on BOOTCOUNT_EXT |
| 118 | help |
| 119 | Set the filename and path of the file used to store the boot counter. |
| 120 | |
| 121 | config SYS_BOOTCOUNT_ADDR |
| 122 | hex "RAM address used for reading and writing the boot counter" |
Tom Rini | c98ed5f | 2018-02-24 16:50:41 -0500 | [diff] [blame] | 123 | default 0x44E3E000 if BOOTCOUNT_AM33XX |
| 124 | default 0xE0115FF8 if ARCH_LS1043A || ARCH_LS1021A |
| 125 | depends on BOOTCOUNT_AM33XX || BOOTCOUNT_GENERIC || BOOTCOUNT_EXT || \ |
| 126 | BOOTCOUNT_I2C |
Ian Ray | 542a48e | 2017-11-08 15:35:13 +0000 | [diff] [blame] | 127 | help |
| 128 | Set the address used for reading and writing the boot counter. |
| 129 | |
Marek Vasut | 6ae0ded | 2018-10-11 00:13:54 +0200 | [diff] [blame] | 130 | config SYS_BOOTCOUNT_MAGIC |
| 131 | hex "Magic value for the boot counter" |
| 132 | default 0xB001C041 |
| 133 | help |
| 134 | Set the magic value used for the boot counter. |
| 135 | |
Ian Ray | 542a48e | 2017-11-08 15:35:13 +0000 | [diff] [blame] | 136 | endif |