]> Git Repo - J-u-boot.git/blame - drivers/bootcount/Kconfig
Merge tag 'u-boot-imx-master-20250127' of https://gitlab.denx.de/u-boot/custodians...
[J-u-boot.git] / drivers / bootcount / Kconfig
CommitLineData
f31dac4e
IR
1#
2# Boot count configuration
3#
4
c1e1c1ec 5menuconfig BOOTCOUNT_LIMIT
d1ec9461
LM
6 bool "Enable support for checking boot count limit"
7 help
8 Enable checking for exceeding the boot count limit.
7387be52 9 More information: https://docs.u-boot.org/en/latest/api/bootcount.html
d1ec9461 10
3dccc10e 11if BOOTCOUNT_LIMIT
f31dac4e 12
c1e1c1ec
AK
13choice
14 prompt "Boot count device"
c35e2d91 15 default BOOTCOUNT_AM33XX if AM33XX || SOC_DA8XX
aa5a8632
AK
16 default BOOTCOUNT_GENERIC
17
18config BOOTCOUNT_GENERIC
19 bool "Generic default boot counter"
20 help
21 Generic bootcount stored at SYS_BOOTCOUNT_ADDR.
22
23 SYS_BOOTCOUNT_ADDR:
24 Set to the address where the bootcount and bootcount magic
25 will be stored.
c1e1c1ec 26
1d7e2120
VA
27config BOOTCOUNT_FS
28 bool "Boot counter on a filesystem"
f31dac4e 29 help
1d7e2120
VA
30 Add support for maintaining boot count in a file on a filesystem.
31 This requires that you have enabled write support for the filesystem
7f050668 32 that will be used by the partition that you configure this feature
1d7e2120 33 for.
f31dac4e 34
c35e2d91
AK
35config BOOTCOUNT_AM33XX
36 bool "Boot counter in AM33XX RTC IP block"
37 depends on AM33XX || SOC_DA8XX
3bf5f13c 38 select SPL_AM33XX_ENABLE_RTC32K_OSC if AM33XX
c35e2d91
AK
39 help
40 A bootcount driver for the RTC IP block found on many TI platforms.
41 This requires the RTC clocks, etc, to be enabled prior to use and
42 not all boards with this IP block on it will have the RTC in use.
43
caf94786
GH
44config BOOTCOUNT_AM33XX_NVMEM
45 bool "Boot counter in AM33XX RTC IP block with upgrade_available flag"
46 depends on AM33XX
47 select SPL_AM33XX_ENABLE_RTC32K_OSC if AM33XX
48 help
49 Add support for maintaining bootcount,upgrade_available,
50 version and BOOTMAGIC in a AM33xx RTC IP block
51 scratch register2.
52
53 A bootcount driver for the RTC IP block found on many TI platforms.
54 This requires the RTC clocks, etc, to be enabled prior to use and
55 not all boards with this IP block on it will have the RTC in use.
56
57 If there is upgrade in software then "upgrade_available" is 1,
58 "bootcount" is incremented otherwise "upgrade_available" and
59 "bootcount" is always 0. So the Userspace Application must set
60 the "upgrade_available" and "bootcount" variable to 0, if a boot
61 was successfully.
62
04c96ed2
AK
63config BOOTCOUNT_ENV
64 bool "Boot counter in environment"
65 help
66 If no softreset save registers are found on the hardware
67 "bootcount" is stored in the environment. To prevent a
68 saveenv on all reboots, the environment variable
69 "upgrade_available" is used. If "upgrade_available" is
fc1383ae
MO
70 0, "bootcount" is always 0. If "upgrade_available" is 1,
71 "bootcount" is incremented in the environment.
04c96ed2 72 So the Userspace Application must set the "upgrade_available"
fc1383ae 73 and "bootcount" variables to 0, if the system booted successfully.
04c96ed2 74
ff5410d3
AK
75config BOOTCOUNT_RAM
76 bool "Boot counter in RAM"
77 help
fc1383ae 78 Store the bootcount in DRAM protected against bit errors
ff5410d3
AK
79 due to short power loss or holding a system in RESET.
80
bec8c647
AK
81config BOOTCOUNT_AT91
82 bool "Boot counter for Atmel AT91SAM9XE"
83 depends on AT91SAM9XE
84
ebb73de1
PT
85config DM_BOOTCOUNT
86 bool "Boot counter in a device-model device"
87 help
88 Enables reading/writing the bootcount in a device-model based
89 backing store. If an entry in /chosen/u-boot,bootcount-device
90 exists, this will be the preferred bootcount device; otherwise
91 the first available bootcount device will be used.
92
c1e1c1ec
AK
93endchoice
94
482734aa
PT
95if DM_BOOTCOUNT
96
97menu "Backing stores for device-model backed bootcount"
98config DM_BOOTCOUNT_RTC
99 bool "Support RTC devices as a backing store for bootcount"
100 depends on DM_RTC
101 help
102 Enabled reading/writing the bootcount in a DM RTC device.
103 The wrapper device is to be specified with the compatible string
104 'u-boot,bootcount-rtc' and the 'rtc'-property (a phandle pointing
105 to the underlying RTC device) and an optional 'offset' property
106 are supported.
107
108 Accesses to the backing store are performed using the write16
109 and read16 ops of DM RTC devices.
110
5b6ee512
PRO
111config DM_BOOTCOUNT_I2C
112 bool "Driver Model boot counter on I2C device"
113 depends on DM_I2C
114 help
115 Enable support for the bootcounter on a generic i2c device, like a RTC
116 or PMIC. The bootcounter is configured in the device tree using the
117 "u-boot,bootcount-i2c" compatible string. It requires a phandle
118 'i2cbcdev' for the i2c device and an 'offset' property used within the
119 device.
120
ae3d38f3
RB
121config DM_BOOTCOUNT_I2C_EEPROM
122 bool "Support i2c eeprom devices as a backing store for bootcount"
123 depends on I2C_EEPROM
124 help
125 Enabled reading/writing the bootcount in a DM i2c eeprom device.
126 The wrapper device is to be specified with the compatible string
127 'u-boot,bootcount-i2c-eeprom' and the 'i2c-eeprom'-property (a phandle
128 pointing to the underlying i2c eeprom device) and an optional 'offset'
129 property are supported.
130
c537a368
PO
131config DM_BOOTCOUNT_PMIC_PFUZE100
132 bool "Enable Bootcount driver for PMIC PFUZE100"
133 depends on DM_PMIC_PFUZE100
134 help
135 Enable support for the bootcounter using PMIC PFUZE100 registers.
bda5f3e7 136 This works only, if the PMIC is not connected to a battery.
c537a368 137
cfe89496
SR
138config DM_BOOTCOUNT_SPI_FLASH
139 bool "Support SPI flash devices as a backing store for bootcount"
140 depends on DM_SPI_FLASH
141 help
142 Enabled reading/writing the bootcount in a DM SPI flash device.
143 The wrapper device is to be specified with the compatible string
144 'u-boot,bootcount-spi-flash' and the 'spi-flash'-property (a phandle
145 pointing to the underlying SPI flash device) and an optional 'offset'
146 property are supported.
147
80e8b8ad
HS
148config BOOTCOUNT_MEM
149 bool "Support memory based bootcounter"
150 help
151 Enabling Memory based bootcount, typically in a SoC register which
152 is not cleared on softreset.
153 compatible = "u-boot,bootcount";
154
c50b21b7
NH
155config DM_BOOTCOUNT_SYSCON
156 bool "Support SYSCON devices as a backing store for bootcount"
157 select REGMAP
158 select SYSCON
159 help
160 Enable reading/writing the bootcount value in a DM SYSCON device.
161 The driver supports a fixed 32 bits size register using the native
162 endianness. However, this can be controlled from the SYSCON DT node
163 configuration.
164
165 Accessing the backend is done using the regmap interface.
166
159dfef2
VA
167config DM_BOOTCOUNT_ZYNQMP
168 bool "Support ZynqMP PMUFW as a backing store for bootcount"
169 depends on ARCH_ZYNQMP
170 help
171 Enable support for the bootcount API by utilising the Persistent
172 Global General Storage Register 2 of the PMU.
173
482734aa
PT
174endmenu
175
176endif
177
c9ad6bc2
AK
178config BOOTCOUNT_BOOTLIMIT
179 int "Maximum number of reboot cycles allowed"
180 default 0
181 help
182 Set the Maximum number of reboot cycles allowed without the boot
183 counter being cleared.
fc1383ae 184 If set to 0, do not set a boot limit in the environment.
c9ad6bc2 185
c1e1c1ec
AK
186config SYS_BOOTCOUNT_SINGLEWORD
187 bool "Use single word to pack boot count and magic value"
aa5a8632 188 depends on BOOTCOUNT_GENERIC
c1e1c1ec
AK
189 help
190 This option enables packing boot count magic value and boot count
191 into single word (32 bits).
f31dac4e 192
1d7e2120
VA
193config SYS_BOOTCOUNT_FS_INTERFACE
194 string "Interface on which to find boot counter filesystem"
f31dac4e 195 default "mmc"
1d7e2120 196 depends on BOOTCOUNT_FS
f31dac4e
IR
197 help
198 Set the interface to use when locating the filesystem to use for the
199 boot counter.
200
1d7e2120
VA
201config SYS_BOOTCOUNT_FS_DEVPART
202 string "Partition of the boot counter filesystem"
f31dac4e 203 default "0:1"
1d7e2120 204 depends on BOOTCOUNT_FS
f31dac4e
IR
205 help
206 Set the partition to use when locating the filesystem to use for the
207 boot counter.
208
1d7e2120
VA
209config SYS_BOOTCOUNT_FS_NAME
210 string "Path and filename of the FS filesystem based boot counter"
f31dac4e 211 default "/boot/failures"
1d7e2120 212 depends on BOOTCOUNT_FS
f31dac4e
IR
213 help
214 Set the filename and path of the file used to store the boot counter.
215
216config SYS_BOOTCOUNT_ADDR
217 hex "RAM address used for reading and writing the boot counter"
caf94786 218 default 0x44E3E000 if BOOTCOUNT_AM33XX || BOOTCOUNT_AM33XX_NVMEM
39bcbb77 219 default 0xE0115FF8 if ARCH_LS1043A || ARCH_LS1021A
1d7e2120 220 depends on BOOTCOUNT_AM33XX || BOOTCOUNT_GENERIC || BOOTCOUNT_FS || \
31f4ee4b 221 BOOTCOUNT_AM33XX_NVMEM
f31dac4e
IR
222 help
223 Set the address used for reading and writing the boot counter.
224
758694ff
MV
225config SYS_BOOTCOUNT_MAGIC
226 hex "Magic value for the boot counter"
1d7e2120 227 default 0xB001C041 if BOOTCOUNT_GENERIC || BOOTCOUNT_FS || \
caf94786 228 BOOTCOUNT_AM33XX || BOOTCOUNT_ENV || \
31f4ee4b 229 BOOTCOUNT_RAM || BOOTCOUNT_AT91 || DM_BOOTCOUNT
caf94786 230 default 0xB0 if BOOTCOUNT_AM33XX_NVMEM
1d7e2120 231 depends on BOOTCOUNT_GENERIC || BOOTCOUNT_FS || \
caf94786 232 BOOTCOUNT_AM33XX || BOOTCOUNT_ENV || \
31f4ee4b 233 BOOTCOUNT_RAM || BOOTCOUNT_AT91 || DM_BOOTCOUNT || \
caf94786 234 BOOTCOUNT_AM33XX_NVMEM
758694ff
MV
235 help
236 Set the magic value used for the boot counter.
237
64a2a7b0
TR
238choice
239 prompt "Endianness of bootcount accessors"
240 default SYS_BOOTCOUNT_LE
241
242config SYS_BOOTCOUNT_LE
243 bool "Little endian accessors"
244
245config SYS_BOOTCOUNT_BE
246 bool "Big endian accessors"
247
248endchoice
f31dac4e 249endif
This page took 0.235615 seconds and 4 git commands to generate.