]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
bootcount: Remove legacy I2C driver
authorPhilip Richard Oberfichtner <pro@denx.de>
Tue, 31 Oct 2023 07:38:44 +0000 (08:38 +0100)
committerHeiko Schocher <hs@denx.de>
Tue, 31 Oct 2023 08:08:36 +0000 (09:08 +0100)
The legacy I2C bootcounter will hereby be removed and eventually
be replaced by a driver model implementation in the follow-up commit.

The legacy driver has the following drawbacks:
- It's not adhering to the driver model
- Settings are grabbed from Kconfig rather than device tree
- i2c_{read,write} are being used instead of dm_i2c_{read,write}

Signed-off-by: Philip Richard Oberfichtner <pro@denx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
drivers/bootcount/Kconfig
drivers/bootcount/Makefile
drivers/bootcount/bootcount_i2c.c [deleted file]

index 570252d186a4afeda4e6a139d258bf8d8f453d04..7a2548ace21ae3da8b255742227d680711b5fef4 100644 (file)
@@ -79,14 +79,6 @@ config BOOTCOUNT_RAM
          Store the bootcount in DRAM protected against bit errors
          due to short power loss or holding a system in RESET.
 
-config BOOTCOUNT_I2C
-       bool "Boot counter on I2C device"
-       help
-         Enable support for the bootcounter on an i2c (like RTC) device.
-         CFG_SYS_I2C_RTC_ADDR = i2c chip address
-         CONFIG_SYS_BOOTCOUNT_ADDR = i2c addr which is used for
-                                     the bootcounter.
-
 config BOOTCOUNT_AT91
        bool "Boot counter for Atmel AT91SAM9XE"
        depends on AT91SAM9XE
@@ -175,14 +167,6 @@ config BOOTCOUNT_BOOTLIMIT
          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
-       depends on BOOTCOUNT_I2C
-       help
-         Length of the the I2C address at SYS_BOOTCOUNT_ADDR for storing
-         the boot counter.
-
 config SYS_BOOTCOUNT_SINGLEWORD
        bool "Use single word to pack boot count and magic value"
        depends on BOOTCOUNT_GENERIC
@@ -218,7 +202,7 @@ config SYS_BOOTCOUNT_ADDR
        default 0x44E3E000 if BOOTCOUNT_AM33XX || BOOTCOUNT_AM33XX_NVMEM
        default 0xE0115FF8 if ARCH_LS1043A || ARCH_LS1021A
        depends on BOOTCOUNT_AM33XX || BOOTCOUNT_GENERIC || BOOTCOUNT_EXT || \
-                  BOOTCOUNT_I2C || BOOTCOUNT_AM33XX_NVMEM
+                  BOOTCOUNT_AM33XX_NVMEM
        help
          Set the address used for reading and writing the boot counter.
 
@@ -226,13 +210,11 @@ config SYS_BOOTCOUNT_MAGIC
        hex "Magic value for the boot counter"
        default 0xB001C041 if BOOTCOUNT_GENERIC || BOOTCOUNT_EXT || \
                              BOOTCOUNT_AM33XX || BOOTCOUNT_ENV || \
-                             BOOTCOUNT_RAM || BOOTCOUNT_I2C || \
-                             BOOTCOUNT_AT91 || DM_BOOTCOUNT
+                             BOOTCOUNT_RAM || BOOTCOUNT_AT91 || DM_BOOTCOUNT
        default 0xB0 if BOOTCOUNT_AM33XX_NVMEM
        depends on BOOTCOUNT_GENERIC || BOOTCOUNT_EXT || \
                   BOOTCOUNT_AM33XX || BOOTCOUNT_ENV || \
-                  BOOTCOUNT_RAM || BOOTCOUNT_I2C || \
-                  BOOTCOUNT_AT91 || DM_BOOTCOUNT || \
+                  BOOTCOUNT_RAM || BOOTCOUNT_AT91 || DM_BOOTCOUNT || \
                   BOOTCOUNT_AM33XX_NVMEM
        help
          Set the magic value used for the boot counter.
index b65959a384b9cf05d27d58587f75644c56802456..d6d2389c16adf9848c11333896e19b99619c29c9 100644 (file)
@@ -6,7 +6,6 @@ obj-$(CONFIG_BOOTCOUNT_AT91)    += bootcount_at91.o
 obj-$(CONFIG_BOOTCOUNT_AM33XX) += bootcount_davinci.o
 obj-$(CONFIG_BOOTCOUNT_RAM)    += bootcount_ram.o
 obj-$(CONFIG_BOOTCOUNT_ENV)    += bootcount_env.o
-obj-$(CONFIG_BOOTCOUNT_I2C)    += bootcount_i2c.o
 obj-$(CONFIG_BOOTCOUNT_EXT)    += bootcount_ext.o
 obj-$(CONFIG_BOOTCOUNT_AM33XX_NVMEM)   += bootcount_nvmem.o
 
diff --git a/drivers/bootcount/bootcount_i2c.c b/drivers/bootcount/bootcount_i2c.c
deleted file mode 100644 (file)
index b3ac67e..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * (C) Copyright 2013
- * Heiko Schocher, DENX Software Engineering, hs@denx.de.
- */
-
-#include <bootcount.h>
-#include <linux/compiler.h>
-#include <i2c.h>
-
-#define BC_MAGIC       0xbc
-
-void bootcount_store(ulong a)
-{
-       unsigned char buf[3];
-       int ret;
-
-       buf[0] = BC_MAGIC;
-       buf[1] = (a & 0xff);
-       ret = i2c_write(CFG_SYS_I2C_RTC_ADDR, CONFIG_SYS_BOOTCOUNT_ADDR,
-                 CONFIG_BOOTCOUNT_ALEN, buf, 2);
-       if (ret != 0)
-               puts("Error writing bootcount\n");
-}
-
-ulong bootcount_load(void)
-{
-       unsigned char buf[3];
-       int ret;
-
-       ret = i2c_read(CFG_SYS_I2C_RTC_ADDR, CONFIG_SYS_BOOTCOUNT_ADDR,
-                      CONFIG_BOOTCOUNT_ALEN, buf, 2);
-       if (ret != 0) {
-               puts("Error loading bootcount\n");
-               return 0;
-       }
-       if (buf[0] == BC_MAGIC)
-               return buf[1];
-
-       bootcount_store(0);
-
-       return 0;
-}