]>
Commit | Line | Data |
---|---|---|
f31dac4e IR |
1 | # |
2 | # Boot count configuration | |
3 | # | |
4 | ||
c1e1c1ec | 5 | menuconfig BOOTCOUNT_LIMIT |
d1ec9461 LM |
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 | ||
3dccc10e | 11 | if BOOTCOUNT_LIMIT |
f31dac4e | 12 | |
c1e1c1ec AK |
13 | choice |
14 | prompt "Boot count device" | |
c35e2d91 | 15 | default BOOTCOUNT_AM33XX if AM33XX || SOC_DA8XX |
bec8c647 | 16 | default BOOTCOUNT_AT91 if AT91SAM9XE |
aa5a8632 AK |
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. | |
c1e1c1ec | 27 | |
f31dac4e IR |
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 | ||
c35e2d91 AK |
34 | config BOOTCOUNT_AM33XX |
35 | bool "Boot counter in AM33XX RTC IP block" | |
36 | depends on AM33XX || SOC_DA8XX | |
3bf5f13c | 37 | select SPL_AM33XX_ENABLE_RTC32K_OSC if AM33XX |
c35e2d91 AK |
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 | ||
04c96ed2 AK |
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 | ||
ff5410d3 AK |
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 | ||
6cdd70eb AK |
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. | |
6cdd70eb | 68 | |
bec8c647 AK |
69 | config BOOTCOUNT_AT91 |
70 | bool "Boot counter for Atmel AT91SAM9XE" | |
71 | depends on AT91SAM9XE | |
72 | ||
ebb73de1 PT |
73 | config DM_BOOTCOUNT |
74 | bool "Boot counter in a device-model device" | |
75 | help | |
76 | Enables reading/writing the bootcount in a device-model based | |
77 | backing store. If an entry in /chosen/u-boot,bootcount-device | |
78 | exists, this will be the preferred bootcount device; otherwise | |
79 | the first available bootcount device will be used. | |
80 | ||
c1e1c1ec AK |
81 | endchoice |
82 | ||
482734aa PT |
83 | if DM_BOOTCOUNT |
84 | ||
85 | menu "Backing stores for device-model backed bootcount" | |
86 | config DM_BOOTCOUNT_RTC | |
87 | bool "Support RTC devices as a backing store for bootcount" | |
88 | depends on DM_RTC | |
89 | help | |
90 | Enabled reading/writing the bootcount in a DM RTC device. | |
91 | The wrapper device is to be specified with the compatible string | |
92 | 'u-boot,bootcount-rtc' and the 'rtc'-property (a phandle pointing | |
93 | to the underlying RTC device) and an optional 'offset' property | |
94 | are supported. | |
95 | ||
96 | Accesses to the backing store are performed using the write16 | |
97 | and read16 ops of DM RTC devices. | |
98 | ||
ae3d38f3 RB |
99 | config DM_BOOTCOUNT_I2C_EEPROM |
100 | bool "Support i2c eeprom devices as a backing store for bootcount" | |
101 | depends on I2C_EEPROM | |
102 | help | |
103 | Enabled reading/writing the bootcount in a DM i2c eeprom device. | |
104 | The wrapper device is to be specified with the compatible string | |
105 | 'u-boot,bootcount-i2c-eeprom' and the 'i2c-eeprom'-property (a phandle | |
106 | pointing to the underlying i2c eeprom device) and an optional 'offset' | |
107 | property are supported. | |
108 | ||
80e8b8ad HS |
109 | config BOOTCOUNT_MEM |
110 | bool "Support memory based bootcounter" | |
111 | help | |
112 | Enabling Memory based bootcount, typically in a SoC register which | |
113 | is not cleared on softreset. | |
114 | compatible = "u-boot,bootcount"; | |
115 | ||
482734aa PT |
116 | endmenu |
117 | ||
118 | endif | |
119 | ||
c9ad6bc2 AK |
120 | config BOOTCOUNT_BOOTLIMIT |
121 | int "Maximum number of reboot cycles allowed" | |
122 | default 0 | |
123 | help | |
124 | Set the Maximum number of reboot cycles allowed without the boot | |
125 | counter being cleared. | |
126 | If set to 0 do not set a boot limit in the environment. | |
127 | ||
4bc4f8a6 AK |
128 | config BOOTCOUNT_ALEN |
129 | int "I2C address length" | |
130 | default 1 | |
131 | depends on BOOTCOUNT_I2C | |
132 | help | |
133 | Length of the the I2C address at SYS_BOOTCOUNT_ADDR for storing | |
134 | the boot counter. | |
135 | ||
c1e1c1ec AK |
136 | config SYS_BOOTCOUNT_SINGLEWORD |
137 | bool "Use single word to pack boot count and magic value" | |
aa5a8632 | 138 | depends on BOOTCOUNT_GENERIC |
c1e1c1ec AK |
139 | help |
140 | This option enables packing boot count magic value and boot count | |
141 | into single word (32 bits). | |
f31dac4e IR |
142 | |
143 | config SYS_BOOTCOUNT_EXT_INTERFACE | |
144 | string "Interface on which to find boot counter EXT filesystem" | |
145 | default "mmc" | |
146 | depends on BOOTCOUNT_EXT | |
147 | help | |
148 | Set the interface to use when locating the filesystem to use for the | |
149 | boot counter. | |
150 | ||
151 | config SYS_BOOTCOUNT_EXT_DEVPART | |
152 | string "Partition of the boot counter EXT filesystem" | |
153 | default "0:1" | |
154 | depends on BOOTCOUNT_EXT | |
155 | help | |
156 | Set the partition to use when locating the filesystem to use for the | |
157 | boot counter. | |
158 | ||
159 | config SYS_BOOTCOUNT_EXT_NAME | |
160 | string "Path and filename of the EXT filesystem based boot counter" | |
161 | default "/boot/failures" | |
162 | depends on BOOTCOUNT_EXT | |
163 | help | |
164 | Set the filename and path of the file used to store the boot counter. | |
165 | ||
166 | config SYS_BOOTCOUNT_ADDR | |
167 | hex "RAM address used for reading and writing the boot counter" | |
39bcbb77 TR |
168 | default 0x44E3E000 if BOOTCOUNT_AM33XX |
169 | default 0xE0115FF8 if ARCH_LS1043A || ARCH_LS1021A | |
170 | depends on BOOTCOUNT_AM33XX || BOOTCOUNT_GENERIC || BOOTCOUNT_EXT || \ | |
171 | BOOTCOUNT_I2C | |
f31dac4e IR |
172 | help |
173 | Set the address used for reading and writing the boot counter. | |
174 | ||
758694ff MV |
175 | config SYS_BOOTCOUNT_MAGIC |
176 | hex "Magic value for the boot counter" | |
177 | default 0xB001C041 | |
178 | help | |
179 | Set the magic value used for the boot counter. | |
180 | ||
f31dac4e | 181 | endif |