mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
Merge patch series "bootcount: Small clean-up and fix, and dm_i2c single-word support"
Niko Mauno <niko.mauno@vaisala.com> says: In this series, we first introduce a clean-up where we switch to use predefined bit masks instead of hard-coded values for count and magic halves in the single-word (32-bit) boot count scheme. Then we fix a case of missing boot count value masking in single-word scenario in bootcount.c, which allowed clobbering of the magic half when storing the value. With this change the clobbering preventing behavior becomes consistent with existing single word bootcount storing implementations in bootcount_at91.c and bootcount_davinci.c. Finally, we enable the DM I2C bootcount driver to work also in single word (4 byte) mode, in addition to the pre-existing half-word (2 byte) mode. By default the driver still operates in half word mode as so far, but can now be used alternatively in single word mode by adding 'size = <0x4>;' in the associated device tree node. Link: https://lore.kernel.org/r/cover.1770197302.git.niko.mauno@vaisala.com
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
#include <asm/io.h>
|
||||
#include <asm/byteorder.h>
|
||||
#include <env.h>
|
||||
#include <linux/bitops.h>
|
||||
|
||||
#ifdef CONFIG_DM_BOOTCOUNT
|
||||
|
||||
@@ -59,6 +60,10 @@ int dm_bootcount_set(struct udevice *dev, u32 bootcount);
|
||||
|
||||
#endif
|
||||
|
||||
/* Bit masks for magic and count parts in single word scheme */
|
||||
#define BOOTCOUNT_MAGIC_MASK GENMASK(31, 16)
|
||||
#define BOOTCOUNT_COUNT_MASK GENMASK(15, 0)
|
||||
|
||||
/** bootcount_store() - store the current bootcount */
|
||||
void bootcount_store(ulong);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user