[U-Boot] [PATCH] bootcount: Migrate CONFIG_SYS_BOOTCOUNT_ADDR

Migrate the users of CONFIG_SYS_BOOTCOUNT_ADDR to Kconfig. We can provide a default for BOOTCOUNT_AM33XX as that's a specific part of the RTC in use. We can also provide a default for ARCH_LS1043A and ARCH_LS1021A as they had been previously calculated and their symbols are in Kconfig. In the case of other QE-enabled platforms, they are not so we must update the relevant defconfig files. The previous default only applied in some cases, even on a specific SoC family.
Signed-off-by: Tom Rini trini@konsulko.com --- configs/calimain_defconfig | 1 + configs/dh_imx6_defconfig | 1 + configs/ge_b450v3_defconfig | 1 + configs/ge_b650v3_defconfig | 1 + configs/ge_b850v3_defconfig | 1 + configs/highbank_defconfig | 1 + configs/ids8313_defconfig | 1 + configs/kmcoge4_defconfig | 1 + configs/kmcoge5ne_defconfig | 1 + configs/kmeter1_defconfig | 1 + configs/kmlion1_defconfig | 1 + configs/kmopti2_defconfig | 1 + configs/kmsupx5_defconfig | 1 + configs/kmtegr1_defconfig | 1 + configs/kmtepr2_defconfig | 1 + configs/kmvect1_defconfig | 1 + configs/mx53ppd_defconfig | 1 + configs/socfpga_is1_defconfig | 1 + configs/socfpga_sr1500_defconfig | 1 + configs/suvd3_defconfig | 1 + configs/tqma6s_wru4_mmc_defconfig | 1 + configs/tuge1_defconfig | 1 + configs/tuxx1_defconfig | 1 + configs/x600_defconfig | 1 + drivers/bootcount/Kconfig | 6 ++++-- drivers/bootcount/bootcount.c | 16 ---------------- include/configs/brppt1.h | 3 --- include/configs/calimain.h | 1 - include/configs/dh_imx6.h | 1 - include/configs/ge_bx50v3.h | 2 -- include/configs/highbank.h | 1 - include/configs/ids8313.h | 3 --- include/configs/km/kmp204x-common.h | 3 --- include/configs/socfpga_is1.h | 2 -- include/configs/socfpga_sr1500.h | 2 -- include/configs/ti_am335x_common.h | 7 ------- include/configs/tqma6_wru4.h | 1 - include/configs/x600.h | 4 ---- 38 files changed, 28 insertions(+), 48 deletions(-)
diff --git a/configs/calimain_defconfig b/configs/calimain_defconfig index cbb31f6bf321..234b1a593567 100644 --- a/configs/calimain_defconfig +++ b/configs/calimain_defconfig @@ -23,6 +23,7 @@ CONFIG_CMD_DIAG=y CONFIG_ENV_IS_IN_FLASH=y CONFIG_BOOTP_DNS=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0x01C23000 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y CONFIG_SYS_NS16550=y diff --git a/configs/dh_imx6_defconfig b/configs/dh_imx6_defconfig index 251fcd01b69a..2b4fe9c2c596 100644 --- a/configs/dh_imx6_defconfig +++ b/configs/dh_imx6_defconfig @@ -35,6 +35,7 @@ CONFIG_CMD_EXT4_WRITE=y CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_DWC_AHSATA=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0x00900000 CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_PHYLIB=y diff --git a/configs/ge_b450v3_defconfig b/configs/ge_b450v3_defconfig index ee1cc432e0e0..045380b6de8e 100644 --- a/configs/ge_b450v3_defconfig +++ b/configs/ge_b450v3_defconfig @@ -29,6 +29,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_BOOTCOUNT_LIMIT=y CONFIG_BOOTCOUNT_EXT=y CONFIG_SYS_BOOTCOUNT_EXT_DEVPART="1:5" +CONFIG_SYS_BOOTCOUNT_ADDR=0x7000A000 CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y diff --git a/configs/ge_b650v3_defconfig b/configs/ge_b650v3_defconfig index 27a89b0be782..9d4b8aeebedc 100644 --- a/configs/ge_b650v3_defconfig +++ b/configs/ge_b650v3_defconfig @@ -29,6 +29,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_BOOTCOUNT_LIMIT=y CONFIG_BOOTCOUNT_EXT=y CONFIG_SYS_BOOTCOUNT_EXT_DEVPART="1:5" +CONFIG_SYS_BOOTCOUNT_ADDR=0x7000A000 CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y diff --git a/configs/ge_b850v3_defconfig b/configs/ge_b850v3_defconfig index af4ba9754331..94785681be7d 100644 --- a/configs/ge_b850v3_defconfig +++ b/configs/ge_b850v3_defconfig @@ -29,6 +29,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_BOOTCOUNT_LIMIT=y CONFIG_BOOTCOUNT_EXT=y CONFIG_SYS_BOOTCOUNT_EXT_DEVPART="1:5" +CONFIG_SYS_BOOTCOUNT_ADDR=0x7000A000 CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y diff --git a/configs/highbank_defconfig b/configs/highbank_defconfig index 7b9c0e7d4770..55f83ed1e17c 100644 --- a/configs/highbank_defconfig +++ b/configs/highbank_defconfig @@ -17,6 +17,7 @@ CONFIG_ENV_IS_IN_NVRAM=y CONFIG_SCSI_AHCI=y CONFIG_BOOTCOUNT_LIMIT=y CONFIG_SYS_BOOTCOUNT_SINGLEWORD=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xfff3cf0c # CONFIG_MMC is not set CONFIG_SCSI=y CONFIG_OF_LIBFDT=y diff --git a/configs/ids8313_defconfig b/configs/ids8313_defconfig index 5ca77030104f..44b411cc5932 100644 --- a/configs/ids8313_defconfig +++ b/configs/ids8313_defconfig @@ -36,6 +36,7 @@ CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTP_SUBNETMASK=y CONFIG_BOOTCOUNT_LIMIT=y CONFIG_BOOTCOUNT_I2C=y +CONFIG_SYS_BOOTCOUNT_ADDR=0x9 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y CONFIG_PHYLIB=y diff --git a/configs/kmcoge4_defconfig b/configs/kmcoge4_defconfig index fe731dc3c76d..9d22c211a37e 100644 --- a/configs/kmcoge4_defconfig +++ b/configs/kmcoge4_defconfig @@ -35,6 +35,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xFB000020 # CONFIG_MMC is not set CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_SPANSION=y diff --git a/configs/kmcoge5ne_defconfig b/configs/kmcoge5ne_defconfig index c360d06a1e42..3426adf5981b 100644 --- a/configs/kmcoge5ne_defconfig +++ b/configs/kmcoge5ne_defconfig @@ -28,6 +28,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xE011BFF8 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y # CONFIG_PCI is not set diff --git a/configs/kmeter1_defconfig b/configs/kmeter1_defconfig index 3e9ba80e9961..e795ac40d182 100644 --- a/configs/kmeter1_defconfig +++ b/configs/kmeter1_defconfig @@ -27,6 +27,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xE011BFF8 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y # CONFIG_PCI is not set diff --git a/configs/kmlion1_defconfig b/configs/kmlion1_defconfig index 9d4f3d7395a5..12c06cc54486 100644 --- a/configs/kmlion1_defconfig +++ b/configs/kmlion1_defconfig @@ -35,6 +35,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xFB000020 # CONFIG_MMC is not set CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_SPANSION=y diff --git a/configs/kmopti2_defconfig b/configs/kmopti2_defconfig index 484804ab0c3c..f3babb6a7e57 100644 --- a/configs/kmopti2_defconfig +++ b/configs/kmopti2_defconfig @@ -27,6 +27,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xE0113FF8 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y # CONFIG_PCI is not set diff --git a/configs/kmsupx5_defconfig b/configs/kmsupx5_defconfig index 0a82ca344736..ac3f336204db 100644 --- a/configs/kmsupx5_defconfig +++ b/configs/kmsupx5_defconfig @@ -27,6 +27,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xE0113FF8 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y # CONFIG_PCI is not set diff --git a/configs/kmtegr1_defconfig b/configs/kmtegr1_defconfig index 1b2d3df78593..a5930ef6a764 100644 --- a/configs/kmtegr1_defconfig +++ b/configs/kmtegr1_defconfig @@ -29,6 +29,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xE0113FF8 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y # CONFIG_PCI is not set diff --git a/configs/kmtepr2_defconfig b/configs/kmtepr2_defconfig index c3dcf86e32f4..7441e4a888cc 100644 --- a/configs/kmtepr2_defconfig +++ b/configs/kmtepr2_defconfig @@ -27,6 +27,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xE0113FF8 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y # CONFIG_PCI is not set diff --git a/configs/kmvect1_defconfig b/configs/kmvect1_defconfig index 0dc165e31297..b415c9d2030f 100644 --- a/configs/kmvect1_defconfig +++ b/configs/kmvect1_defconfig @@ -28,6 +28,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xE0113FF8 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y # CONFIG_PCI is not set diff --git a/configs/mx53ppd_defconfig b/configs/mx53ppd_defconfig index 8fb512651f5a..f4a0b9b639ff 100644 --- a/configs/mx53ppd_defconfig +++ b/configs/mx53ppd_defconfig @@ -25,6 +25,7 @@ CONFIG_CMD_FS_GENERIC=y CONFIG_BOOTCOUNT_LIMIT=y CONFIG_BOOTCOUNT_EXT=y CONFIG_SYS_BOOTCOUNT_EXT_DEVPART="0:5" +CONFIG_SYS_BOOTCOUNT_ADDR=0x7000A000 CONFIG_NETDEVICES=y CONFIG_RTC_S35392A=y CONFIG_USB=y diff --git a/configs/socfpga_is1_defconfig b/configs/socfpga_is1_defconfig index 4da9356baf68..53b5c34fd4c1 100644 --- a/configs/socfpga_is1_defconfig +++ b/configs/socfpga_is1_defconfig @@ -34,6 +34,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_SPL_DM=y CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xfffffff8 CONFIG_FPGA_SOCFPGA=y CONFIG_DM_GPIO=y CONFIG_DWAPB_GPIO=y diff --git a/configs/socfpga_sr1500_defconfig b/configs/socfpga_sr1500_defconfig index bdc12e4a6af9..d7df688f5012 100644 --- a/configs/socfpga_sr1500_defconfig +++ b/configs/socfpga_sr1500_defconfig @@ -38,6 +38,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_SPL_DM=y CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xfffffff8 CONFIG_FPGA_SOCFPGA=y CONFIG_DM_GPIO=y CONFIG_DWAPB_GPIO=y diff --git a/configs/suvd3_defconfig b/configs/suvd3_defconfig index c75c8022408b..0213101d2fbf 100644 --- a/configs/suvd3_defconfig +++ b/configs/suvd3_defconfig @@ -27,6 +27,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xE0113FF8 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y # CONFIG_PCI is not set diff --git a/configs/tqma6s_wru4_mmc_defconfig b/configs/tqma6s_wru4_mmc_defconfig index b6f5974fd49f..995a1ced0f5e 100644 --- a/configs/tqma6s_wru4_mmc_defconfig +++ b/configs/tqma6s_wru4_mmc_defconfig @@ -34,6 +34,7 @@ CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ENV_IS_IN_MMC=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0x00900000 CONFIG_LED_STATUS=y CONFIG_LED_STATUS0=y CONFIG_LED_STATUS_BIT=0 diff --git a/configs/tuge1_defconfig b/configs/tuge1_defconfig index 262a5c54793c..278d35ae61a5 100644 --- a/configs/tuge1_defconfig +++ b/configs/tuge1_defconfig @@ -27,6 +27,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xE0113FF8 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y # CONFIG_PCI is not set diff --git a/configs/tuxx1_defconfig b/configs/tuxx1_defconfig index a2c101e275a0..6414ac29364b 100644 --- a/configs/tuxx1_defconfig +++ b/configs/tuxx1_defconfig @@ -27,6 +27,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xE0113FF8 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y # CONFIG_PCI is not set diff --git a/configs/x600_defconfig b/configs/x600_defconfig index d1711e01fd45..b63bf41c2452 100644 --- a/configs/x600_defconfig +++ b/configs/x600_defconfig @@ -38,6 +38,7 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=nand:64M(ubi0),64M(ubi1)" CONFIG_CMD_UBI=y CONFIG_ENV_IS_IN_FLASH=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xD2801FF8 CONFIG_FPGA_XILINX=y CONFIG_SYS_I2C_DW=y # CONFIG_MMC is not set diff --git a/drivers/bootcount/Kconfig b/drivers/bootcount/Kconfig index c41b1316cd09..73972b7f9c37 100644 --- a/drivers/bootcount/Kconfig +++ b/drivers/bootcount/Kconfig @@ -111,8 +111,10 @@ config SYS_BOOTCOUNT_EXT_NAME
config SYS_BOOTCOUNT_ADDR hex "RAM address used for reading and writing the boot counter" - default 0x7000A000 - depends on BOOTCOUNT_EXT + default 0x44E3E000 if BOOTCOUNT_AM33XX + default 0xE0115FF8 if ARCH_LS1043A || ARCH_LS1021A + depends on BOOTCOUNT_AM33XX || BOOTCOUNT_GENERIC || BOOTCOUNT_EXT || \ + BOOTCOUNT_I2C help Set the address used for reading and writing the boot counter.
diff --git a/drivers/bootcount/bootcount.c b/drivers/bootcount/bootcount.c index 8b499fe12861..67554fa4a9b8 100644 --- a/drivers/bootcount/bootcount.c +++ b/drivers/bootcount/bootcount.c @@ -8,22 +8,7 @@ #include <bootcount.h> #include <linux/compiler.h>
-/* - * Only override CONFIG_SYS_BOOTCOUNT_ADDR if not already defined. This - * way, some boards can define it directly in their config header. - */ -#if !defined(CONFIG_SYS_BOOTCOUNT_ADDR) - -#if defined(CONFIG_QE) -#include <linux/immap_qe.h> -#define CONFIG_SYS_BOOTCOUNT_ADDR (CONFIG_SYS_IMMR + 0x110000 + \ - QE_MURAM_SIZE - 2 * sizeof(u32)) -#endif /* defined(CONFIG_QE) */ - -#endif /* !defined(CONFIG_SYS_BOOTCOUNT_ADDR) */ - /* Now implement the generic default functions */ -#if defined(CONFIG_SYS_BOOTCOUNT_ADDR) __weak void bootcount_store(ulong a) { void *reg = (void *)CONFIG_SYS_BOOTCOUNT_ADDR; @@ -54,4 +39,3 @@ __weak ulong bootcount_load(void) return raw_bootcount_load(reg); #endif /* defined(CONFIG_SYS_BOOTCOUNT_SINGLEWORD) */ } -#endif /* defined(CONFIG_SYS_BOOTCOUNT_ADDR) */ diff --git a/include/configs/brppt1.h b/include/configs/brppt1.h index 30ea2d22e894..02e989ad7ad0 100644 --- a/include/configs/brppt1.h +++ b/include/configs/brppt1.h @@ -20,9 +20,6 @@ #define CONFIG_LCD_DT_SIMPLEFB #define LCD_BPP LCD_COLOR32
-/* Bootcount using the RTC block */ -#define CONFIG_SYS_BOOTCOUNT_ADDR 0x44E3E000 - /* memory */ #define CONFIG_SYS_MALLOC_LEN (5 * 1024 * 1024)
diff --git a/include/configs/calimain.h b/include/configs/calimain.h index 854dc1ffedf0..364066feb21b 100644 --- a/include/configs/calimain.h +++ b/include/configs/calimain.h @@ -274,7 +274,6 @@ #define CONFIG_SYS_INIT_SP_ADDR (0x8001ff00)
#define CONFIG_SYS_BOOTCOUNT_LE /* Use little-endian accessors */ -#define CONFIG_SYS_BOOTCOUNT_ADDR DAVINCI_RTC_BASE
#ifndef __ASSEMBLY__ int calimain_get_osc_freq(void); diff --git a/include/configs/dh_imx6.h b/include/configs/dh_imx6.h index 1f7fccad3fbc..abe393e44c94 100644 --- a/include/configs/dh_imx6.h +++ b/include/configs/dh_imx6.h @@ -42,7 +42,6 @@ #define CONFIG_SYS_MALLOC_LEN (4 * SZ_1M)
/* Bootcounter */ -#define CONFIG_SYS_BOOTCOUNT_ADDR IRAM_BASE_ADDR #define CONFIG_SYS_BOOTCOUNT_BE
/* FEC ethernet */ diff --git a/include/configs/ge_bx50v3.h b/include/configs/ge_bx50v3.h index e4673d812dc2..cbfe30d536d0 100644 --- a/include/configs/ge_bx50v3.h +++ b/include/configs/ge_bx50v3.h @@ -263,6 +263,4 @@
#define CONFIG_BCH
-#define CONFIG_SYS_BOOTCOUNT_ADDR 0x7000A000 - #endif /* __GE_BX50V3_CONFIG_H */ diff --git a/include/configs/highbank.h b/include/configs/highbank.h index 0aa59bcafde1..785cad7762e9 100644 --- a/include/configs/highbank.h +++ b/include/configs/highbank.h @@ -25,7 +25,6 @@ #define CONFIG_CONS_INDEX 0
#define CONFIG_SYS_BOOTCOUNT_LE /* Use little-endian accessors */ -#define CONFIG_SYS_BOOTCOUNT_ADDR 0xfff3cf0c
#define CONFIG_MISC_INIT_R #define CONFIG_SCSI_AHCI_PLAT diff --git a/include/configs/ids8313.h b/include/configs/ids8313.h index 12c3aff4166d..a4acaa65b2d5 100644 --- a/include/configs/ids8313.h +++ b/include/configs/ids8313.h @@ -508,9 +508,6 @@ /* UBI Support */ #define CONFIG_MTD_PARTITIONS
-/* bootcount support */ -#define CONFIG_SYS_BOOTCOUNT_ADDR 0x9 - #define CONFIG_IMAGE_FORMAT_LEGACY
#endif /* __CONFIG_H */ diff --git a/include/configs/km/kmp204x-common.h b/include/configs/km/kmp204x-common.h index 7f735e0ac67e..f49f4361204f 100644 --- a/include/configs/km/kmp204x-common.h +++ b/include/configs/km/kmp204x-common.h @@ -188,9 +188,6 @@ unsigned long get_board_sys_clk(unsigned long dummy); #define CONFIG_SYS_BR1_PRELIM CONFIG_SYS_QRIO_BR_PRELIM /* QRIO Base Address */ #define CONFIG_SYS_OR1_PRELIM CONFIG_SYS_QRIO_OR_PRELIM /* QRIO Options */
-/* bootcounter in QRIO */ -#define CONFIG_SYS_BOOTCOUNT_ADDR (CONFIG_SYS_QRIO_BASE + 0x20) - #define CONFIG_BOARD_EARLY_INIT_R /* call board_early_init_r function */ #define CONFIG_MISC_INIT_F #define CONFIG_MISC_INIT_R diff --git a/include/configs/socfpga_is1.h b/include/configs/socfpga_is1.h index f2c3f405549a..88f9d4a46d07 100644 --- a/include/configs/socfpga_is1.h +++ b/include/configs/socfpga_is1.h @@ -30,8 +30,6 @@ /* * Bootcounter */ -/* last 2 lwords in OCRAM */ -#define CONFIG_SYS_BOOTCOUNT_ADDR 0xfffffff8 #define CONFIG_SYS_BOOTCOUNT_BE
#endif /* __CONFIG_SOCFPGA_IS1_H__ */ diff --git a/include/configs/socfpga_sr1500.h b/include/configs/socfpga_sr1500.h index 8879817b3020..492869bd37f6 100644 --- a/include/configs/socfpga_sr1500.h +++ b/include/configs/socfpga_sr1500.h @@ -29,8 +29,6 @@ /* * Bootcounter */ -/* last 2 lwords in OCRAM */ -#define CONFIG_SYS_BOOTCOUNT_ADDR 0xfffffff8 #define CONFIG_SYS_BOOTCOUNT_BE
/* Environment setting for SPI flash */ diff --git a/include/configs/ti_am335x_common.h b/include/configs/ti_am335x_common.h index 6c93fd3f9b6f..8251ceb63fa0 100644 --- a/include/configs/ti_am335x_common.h +++ b/include/configs/ti_am335x_common.h @@ -38,13 +38,6 @@
#define CONFIG_DRIVER_TI_CPSW /* Driver for IP block */ /* - * RTC related defines. To use bootcount you must set bootlimit in the - * environment to a non-zero value and enable CONFIG_BOOTCOUNT_LIMIT - * in the board config. - */ -#define CONFIG_SYS_BOOTCOUNT_ADDR 0x44E3E000 - -/* * SPL related defines. The Public RAM memory map the ROM defines the * area between 0x402F0400 and 0x4030B800 as a download area and * 0x4030B800 to 0x4030CE00 as a public stack area. The ROM also diff --git a/include/configs/tqma6_wru4.h b/include/configs/tqma6_wru4.h index d94f790148dc..24b62e701c10 100644 --- a/include/configs/tqma6_wru4.h +++ b/include/configs/tqma6_wru4.h @@ -34,7 +34,6 @@ /* LED */
/* Bootcounter */ -#define CONFIG_SYS_BOOTCOUNT_ADDR IRAM_BASE_ADDR #define CONFIG_SYS_BOOTCOUNT_BE
#endif /* __CONFIG_TQMA6_WRU4_H */ diff --git a/include/configs/x600.h b/include/configs/x600.h index 4bf8b1051e58..485522cd8729 100644 --- a/include/configs/x600.h +++ b/include/configs/x600.h @@ -116,10 +116,6 @@ #define CONFIG_SYS_MALLOC_LEN (8 << 20) #define CONFIG_SYS_LOAD_ADDR 0x00800000
-/* Use last 2 lwords in internal SRAM for bootcounter */ -#define CONFIG_SYS_BOOTCOUNT_ADDR (CONFIG_SRAM_BASE + \ - CONFIG_SRAM_SIZE) - #define CONFIG_HOSTNAME x600 #define CONFIG_UBI_PART ubi0 #define CONFIG_UBIFS_VOLUME rootfs

Hi Tom,
Migrate the users of CONFIG_SYS_BOOTCOUNT_ADDR to Kconfig. We can provide a default for BOOTCOUNT_AM33XX as that's a specific part of the RTC in use. We can also provide a default for ARCH_LS1043A and ARCH_LS1021A as they had been previously calculated and their symbols are in Kconfig. In the case of other QE-enabled platforms, they are not so we must update the relevant defconfig files. The previous default only applied in some cases, even on a specific SoC family.
Thanks for your patch.
I suppose, that it is a last puzzle to convert BOOTCOUNT to Kconfig.
Please correct me if I'm wrong, but it shall be applied on top of Alex's series:
http://patchwork.ozlabs.org/cover/874539/
Reviewed-by: Lukasz Majewski lukma@denx.de
Signed-off-by: Tom Rini trini@konsulko.com
configs/calimain_defconfig | 1 + configs/dh_imx6_defconfig | 1 + configs/ge_b450v3_defconfig | 1 + configs/ge_b650v3_defconfig | 1 + configs/ge_b850v3_defconfig | 1 + configs/highbank_defconfig | 1 + configs/ids8313_defconfig | 1 + configs/kmcoge4_defconfig | 1 + configs/kmcoge5ne_defconfig | 1 + configs/kmeter1_defconfig | 1 + configs/kmlion1_defconfig | 1 + configs/kmopti2_defconfig | 1 + configs/kmsupx5_defconfig | 1 + configs/kmtegr1_defconfig | 1 + configs/kmtepr2_defconfig | 1 + configs/kmvect1_defconfig | 1 + configs/mx53ppd_defconfig | 1 + configs/socfpga_is1_defconfig | 1 + configs/socfpga_sr1500_defconfig | 1 + configs/suvd3_defconfig | 1 + configs/tqma6s_wru4_mmc_defconfig | 1 + configs/tuge1_defconfig | 1 + configs/tuxx1_defconfig | 1 + configs/x600_defconfig | 1 + drivers/bootcount/Kconfig | 6 ++++-- drivers/bootcount/bootcount.c | 16 ---------------- include/configs/brppt1.h | 3 --- include/configs/calimain.h | 1 - include/configs/dh_imx6.h | 1 - include/configs/ge_bx50v3.h | 2 -- include/configs/highbank.h | 1 - include/configs/ids8313.h | 3 --- include/configs/km/kmp204x-common.h | 3 --- include/configs/socfpga_is1.h | 2 -- include/configs/socfpga_sr1500.h | 2 -- include/configs/ti_am335x_common.h | 7 ------- include/configs/tqma6_wru4.h | 1 - include/configs/x600.h | 4 ---- 38 files changed, 28 insertions(+), 48 deletions(-)
diff --git a/configs/calimain_defconfig b/configs/calimain_defconfig index cbb31f6bf321..234b1a593567 100644 --- a/configs/calimain_defconfig +++ b/configs/calimain_defconfig @@ -23,6 +23,7 @@ CONFIG_CMD_DIAG=y CONFIG_ENV_IS_IN_FLASH=y CONFIG_BOOTP_DNS=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0x01C23000 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y CONFIG_SYS_NS16550=y diff --git a/configs/dh_imx6_defconfig b/configs/dh_imx6_defconfig index 251fcd01b69a..2b4fe9c2c596 100644 --- a/configs/dh_imx6_defconfig +++ b/configs/dh_imx6_defconfig @@ -35,6 +35,7 @@ CONFIG_CMD_EXT4_WRITE=y CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_DWC_AHSATA=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0x00900000 CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_PHYLIB=y diff --git a/configs/ge_b450v3_defconfig b/configs/ge_b450v3_defconfig index ee1cc432e0e0..045380b6de8e 100644 --- a/configs/ge_b450v3_defconfig +++ b/configs/ge_b450v3_defconfig @@ -29,6 +29,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_BOOTCOUNT_LIMIT=y CONFIG_BOOTCOUNT_EXT=y CONFIG_SYS_BOOTCOUNT_EXT_DEVPART="1:5" +CONFIG_SYS_BOOTCOUNT_ADDR=0x7000A000 CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y diff --git a/configs/ge_b650v3_defconfig b/configs/ge_b650v3_defconfig index 27a89b0be782..9d4b8aeebedc 100644 --- a/configs/ge_b650v3_defconfig +++ b/configs/ge_b650v3_defconfig @@ -29,6 +29,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_BOOTCOUNT_LIMIT=y CONFIG_BOOTCOUNT_EXT=y CONFIG_SYS_BOOTCOUNT_EXT_DEVPART="1:5" +CONFIG_SYS_BOOTCOUNT_ADDR=0x7000A000 CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y diff --git a/configs/ge_b850v3_defconfig b/configs/ge_b850v3_defconfig index af4ba9754331..94785681be7d 100644 --- a/configs/ge_b850v3_defconfig +++ b/configs/ge_b850v3_defconfig @@ -29,6 +29,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_BOOTCOUNT_LIMIT=y CONFIG_BOOTCOUNT_EXT=y CONFIG_SYS_BOOTCOUNT_EXT_DEVPART="1:5" +CONFIG_SYS_BOOTCOUNT_ADDR=0x7000A000 CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y diff --git a/configs/highbank_defconfig b/configs/highbank_defconfig index 7b9c0e7d4770..55f83ed1e17c 100644 --- a/configs/highbank_defconfig +++ b/configs/highbank_defconfig @@ -17,6 +17,7 @@ CONFIG_ENV_IS_IN_NVRAM=y CONFIG_SCSI_AHCI=y CONFIG_BOOTCOUNT_LIMIT=y CONFIG_SYS_BOOTCOUNT_SINGLEWORD=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xfff3cf0c # CONFIG_MMC is not set CONFIG_SCSI=y CONFIG_OF_LIBFDT=y diff --git a/configs/ids8313_defconfig b/configs/ids8313_defconfig index 5ca77030104f..44b411cc5932 100644 --- a/configs/ids8313_defconfig +++ b/configs/ids8313_defconfig @@ -36,6 +36,7 @@ CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTP_SUBNETMASK=y CONFIG_BOOTCOUNT_LIMIT=y CONFIG_BOOTCOUNT_I2C=y +CONFIG_SYS_BOOTCOUNT_ADDR=0x9 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y CONFIG_PHYLIB=y diff --git a/configs/kmcoge4_defconfig b/configs/kmcoge4_defconfig index fe731dc3c76d..9d22c211a37e 100644 --- a/configs/kmcoge4_defconfig +++ b/configs/kmcoge4_defconfig @@ -35,6 +35,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xFB000020 # CONFIG_MMC is not set CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_SPANSION=y diff --git a/configs/kmcoge5ne_defconfig b/configs/kmcoge5ne_defconfig index c360d06a1e42..3426adf5981b 100644 --- a/configs/kmcoge5ne_defconfig +++ b/configs/kmcoge5ne_defconfig @@ -28,6 +28,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xE011BFF8 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y # CONFIG_PCI is not set diff --git a/configs/kmeter1_defconfig b/configs/kmeter1_defconfig index 3e9ba80e9961..e795ac40d182 100644 --- a/configs/kmeter1_defconfig +++ b/configs/kmeter1_defconfig @@ -27,6 +27,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xE011BFF8 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y # CONFIG_PCI is not set diff --git a/configs/kmlion1_defconfig b/configs/kmlion1_defconfig index 9d4f3d7395a5..12c06cc54486 100644 --- a/configs/kmlion1_defconfig +++ b/configs/kmlion1_defconfig @@ -35,6 +35,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xFB000020 # CONFIG_MMC is not set CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_SPANSION=y diff --git a/configs/kmopti2_defconfig b/configs/kmopti2_defconfig index 484804ab0c3c..f3babb6a7e57 100644 --- a/configs/kmopti2_defconfig +++ b/configs/kmopti2_defconfig @@ -27,6 +27,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xE0113FF8 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y # CONFIG_PCI is not set diff --git a/configs/kmsupx5_defconfig b/configs/kmsupx5_defconfig index 0a82ca344736..ac3f336204db 100644 --- a/configs/kmsupx5_defconfig +++ b/configs/kmsupx5_defconfig @@ -27,6 +27,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xE0113FF8 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y # CONFIG_PCI is not set diff --git a/configs/kmtegr1_defconfig b/configs/kmtegr1_defconfig index 1b2d3df78593..a5930ef6a764 100644 --- a/configs/kmtegr1_defconfig +++ b/configs/kmtegr1_defconfig @@ -29,6 +29,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xE0113FF8 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y # CONFIG_PCI is not set diff --git a/configs/kmtepr2_defconfig b/configs/kmtepr2_defconfig index c3dcf86e32f4..7441e4a888cc 100644 --- a/configs/kmtepr2_defconfig +++ b/configs/kmtepr2_defconfig @@ -27,6 +27,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xE0113FF8 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y # CONFIG_PCI is not set diff --git a/configs/kmvect1_defconfig b/configs/kmvect1_defconfig index 0dc165e31297..b415c9d2030f 100644 --- a/configs/kmvect1_defconfig +++ b/configs/kmvect1_defconfig @@ -28,6 +28,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xE0113FF8 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y # CONFIG_PCI is not set diff --git a/configs/mx53ppd_defconfig b/configs/mx53ppd_defconfig index 8fb512651f5a..f4a0b9b639ff 100644 --- a/configs/mx53ppd_defconfig +++ b/configs/mx53ppd_defconfig @@ -25,6 +25,7 @@ CONFIG_CMD_FS_GENERIC=y CONFIG_BOOTCOUNT_LIMIT=y CONFIG_BOOTCOUNT_EXT=y CONFIG_SYS_BOOTCOUNT_EXT_DEVPART="0:5" +CONFIG_SYS_BOOTCOUNT_ADDR=0x7000A000 CONFIG_NETDEVICES=y CONFIG_RTC_S35392A=y CONFIG_USB=y diff --git a/configs/socfpga_is1_defconfig b/configs/socfpga_is1_defconfig index 4da9356baf68..53b5c34fd4c1 100644 --- a/configs/socfpga_is1_defconfig +++ b/configs/socfpga_is1_defconfig @@ -34,6 +34,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_SPL_DM=y CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xfffffff8 CONFIG_FPGA_SOCFPGA=y CONFIG_DM_GPIO=y CONFIG_DWAPB_GPIO=y diff --git a/configs/socfpga_sr1500_defconfig b/configs/socfpga_sr1500_defconfig index bdc12e4a6af9..d7df688f5012 100644 --- a/configs/socfpga_sr1500_defconfig +++ b/configs/socfpga_sr1500_defconfig @@ -38,6 +38,7 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_SPL_DM=y CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xfffffff8 CONFIG_FPGA_SOCFPGA=y CONFIG_DM_GPIO=y CONFIG_DWAPB_GPIO=y diff --git a/configs/suvd3_defconfig b/configs/suvd3_defconfig index c75c8022408b..0213101d2fbf 100644 --- a/configs/suvd3_defconfig +++ b/configs/suvd3_defconfig @@ -27,6 +27,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xE0113FF8 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y # CONFIG_PCI is not set diff --git a/configs/tqma6s_wru4_mmc_defconfig b/configs/tqma6s_wru4_mmc_defconfig index b6f5974fd49f..995a1ced0f5e 100644 --- a/configs/tqma6s_wru4_mmc_defconfig +++ b/configs/tqma6s_wru4_mmc_defconfig @@ -34,6 +34,7 @@ CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ENV_IS_IN_MMC=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0x00900000 CONFIG_LED_STATUS=y CONFIG_LED_STATUS0=y CONFIG_LED_STATUS_BIT=0 diff --git a/configs/tuge1_defconfig b/configs/tuge1_defconfig index 262a5c54793c..278d35ae61a5 100644 --- a/configs/tuge1_defconfig +++ b/configs/tuge1_defconfig @@ -27,6 +27,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xE0113FF8 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y # CONFIG_PCI is not set diff --git a/configs/tuxx1_defconfig b/configs/tuxx1_defconfig index a2c101e275a0..6414ac29364b 100644 --- a/configs/tuxx1_defconfig +++ b/configs/tuxx1_defconfig @@ -27,6 +27,7 @@ CONFIG_BOOTP_BOOTPATH=y CONFIG_BOOTP_GATEWAY=y CONFIG_BOOTP_HOSTNAME=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xE0113FF8 # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y # CONFIG_PCI is not set diff --git a/configs/x600_defconfig b/configs/x600_defconfig index d1711e01fd45..b63bf41c2452 100644 --- a/configs/x600_defconfig +++ b/configs/x600_defconfig @@ -38,6 +38,7 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=nand:64M(ubi0),64M(ubi1)" CONFIG_CMD_UBI=y CONFIG_ENV_IS_IN_FLASH=y CONFIG_BOOTCOUNT_LIMIT=y +CONFIG_SYS_BOOTCOUNT_ADDR=0xD2801FF8 CONFIG_FPGA_XILINX=y CONFIG_SYS_I2C_DW=y # CONFIG_MMC is not set diff --git a/drivers/bootcount/Kconfig b/drivers/bootcount/Kconfig index c41b1316cd09..73972b7f9c37 100644 --- a/drivers/bootcount/Kconfig +++ b/drivers/bootcount/Kconfig @@ -111,8 +111,10 @@ config SYS_BOOTCOUNT_EXT_NAME
config SYS_BOOTCOUNT_ADDR hex "RAM address used for reading and writing the boot counter"
- default 0x7000A000
- depends on BOOTCOUNT_EXT
- default 0x44E3E000 if BOOTCOUNT_AM33XX
- default 0xE0115FF8 if ARCH_LS1043A || ARCH_LS1021A
- depends on BOOTCOUNT_AM33XX || BOOTCOUNT_GENERIC ||
BOOTCOUNT_EXT || \
help Set the address used for reading and writing the bootBOOTCOUNT_I2C
counter. diff --git a/drivers/bootcount/bootcount.c b/drivers/bootcount/bootcount.c index 8b499fe12861..67554fa4a9b8 100644 --- a/drivers/bootcount/bootcount.c +++ b/drivers/bootcount/bootcount.c @@ -8,22 +8,7 @@ #include <bootcount.h> #include <linux/compiler.h>
-/*
- Only override CONFIG_SYS_BOOTCOUNT_ADDR if not already defined.
This
- way, some boards can define it directly in their config header.
- */
-#if !defined(CONFIG_SYS_BOOTCOUNT_ADDR)
-#if defined(CONFIG_QE) -#include <linux/immap_qe.h> -#define CONFIG_SYS_BOOTCOUNT_ADDR (CONFIG_SYS_IMMR + 0x110000
- \
QE_MURAM_SIZE - 2 *
sizeof(u32)) -#endif /* defined(CONFIG_QE) */
-#endif /* !defined(CONFIG_SYS_BOOTCOUNT_ADDR) */
/* Now implement the generic default functions */ -#if defined(CONFIG_SYS_BOOTCOUNT_ADDR) __weak void bootcount_store(ulong a) { void *reg = (void *)CONFIG_SYS_BOOTCOUNT_ADDR; @@ -54,4 +39,3 @@ __weak ulong bootcount_load(void) return raw_bootcount_load(reg); #endif /* defined(CONFIG_SYS_BOOTCOUNT_SINGLEWORD) */ } -#endif /* defined(CONFIG_SYS_BOOTCOUNT_ADDR) */ diff --git a/include/configs/brppt1.h b/include/configs/brppt1.h index 30ea2d22e894..02e989ad7ad0 100644 --- a/include/configs/brppt1.h +++ b/include/configs/brppt1.h @@ -20,9 +20,6 @@ #define CONFIG_LCD_DT_SIMPLEFB #define LCD_BPP LCD_COLOR32
-/* Bootcount using the RTC block */ -#define CONFIG_SYS_BOOTCOUNT_ADDR 0x44E3E000
/* memory */ #define CONFIG_SYS_MALLOC_LEN (5 * 1024 * 1024)
diff --git a/include/configs/calimain.h b/include/configs/calimain.h index 854dc1ffedf0..364066feb21b 100644 --- a/include/configs/calimain.h +++ b/include/configs/calimain.h @@ -274,7 +274,6 @@ #define CONFIG_SYS_INIT_SP_ADDR (0x8001ff00)
#define CONFIG_SYS_BOOTCOUNT_LE /* Use little-endian accessors */ -#define CONFIG_SYS_BOOTCOUNT_ADDR DAVINCI_RTC_BASE #ifndef __ASSEMBLY__ int calimain_get_osc_freq(void); diff --git a/include/configs/dh_imx6.h b/include/configs/dh_imx6.h index 1f7fccad3fbc..abe393e44c94 100644 --- a/include/configs/dh_imx6.h +++ b/include/configs/dh_imx6.h @@ -42,7 +42,6 @@ #define CONFIG_SYS_MALLOC_LEN (4 * SZ_1M)
/* Bootcounter */ -#define CONFIG_SYS_BOOTCOUNT_ADDR IRAM_BASE_ADDR #define CONFIG_SYS_BOOTCOUNT_BE
/* FEC ethernet */ diff --git a/include/configs/ge_bx50v3.h b/include/configs/ge_bx50v3.h index e4673d812dc2..cbfe30d536d0 100644 --- a/include/configs/ge_bx50v3.h +++ b/include/configs/ge_bx50v3.h @@ -263,6 +263,4 @@
#define CONFIG_BCH
-#define CONFIG_SYS_BOOTCOUNT_ADDR 0x7000A000
#endif /* __GE_BX50V3_CONFIG_H */ diff --git a/include/configs/highbank.h b/include/configs/highbank.h index 0aa59bcafde1..785cad7762e9 100644 --- a/include/configs/highbank.h +++ b/include/configs/highbank.h @@ -25,7 +25,6 @@ #define CONFIG_CONS_INDEX 0
#define CONFIG_SYS_BOOTCOUNT_LE /* Use little-endian accessors */ -#define CONFIG_SYS_BOOTCOUNT_ADDR 0xfff3cf0c
#define CONFIG_MISC_INIT_R #define CONFIG_SCSI_AHCI_PLAT diff --git a/include/configs/ids8313.h b/include/configs/ids8313.h index 12c3aff4166d..a4acaa65b2d5 100644 --- a/include/configs/ids8313.h +++ b/include/configs/ids8313.h @@ -508,9 +508,6 @@ /* UBI Support */ #define CONFIG_MTD_PARTITIONS
-/* bootcount support */ -#define CONFIG_SYS_BOOTCOUNT_ADDR 0x9
#define CONFIG_IMAGE_FORMAT_LEGACY
#endif /* __CONFIG_H */ diff --git a/include/configs/km/kmp204x-common.h b/include/configs/km/kmp204x-common.h index 7f735e0ac67e..f49f4361204f 100644 --- a/include/configs/km/kmp204x-common.h +++ b/include/configs/km/kmp204x-common.h @@ -188,9 +188,6 @@ unsigned long get_board_sys_clk(unsigned long dummy); #define CONFIG_SYS_BR1_PRELIM CONFIG_SYS_QRIO_BR_PRELIM /* QRIO Base Address */ #define CONFIG_SYS_OR1_PRELIM CONFIG_SYS_QRIO_OR_PRELIM /* QRIO Options */ -/* bootcounter in QRIO */ -#define CONFIG_SYS_BOOTCOUNT_ADDR (CONFIG_SYS_QRIO_BASE + 0x20) - #define CONFIG_BOARD_EARLY_INIT_R /* call board_early_init_r function */ #define CONFIG_MISC_INIT_F #define CONFIG_MISC_INIT_R diff --git a/include/configs/socfpga_is1.h b/include/configs/socfpga_is1.h index f2c3f405549a..88f9d4a46d07 100644 --- a/include/configs/socfpga_is1.h +++ b/include/configs/socfpga_is1.h @@ -30,8 +30,6 @@ /*
- Bootcounter
*/ -/* last 2 lwords in OCRAM */ -#define CONFIG_SYS_BOOTCOUNT_ADDR 0xfffffff8 #define CONFIG_SYS_BOOTCOUNT_BE
#endif /* __CONFIG_SOCFPGA_IS1_H__ */ diff --git a/include/configs/socfpga_sr1500.h b/include/configs/socfpga_sr1500.h index 8879817b3020..492869bd37f6 100644 --- a/include/configs/socfpga_sr1500.h +++ b/include/configs/socfpga_sr1500.h @@ -29,8 +29,6 @@ /*
- Bootcounter
*/ -/* last 2 lwords in OCRAM */ -#define CONFIG_SYS_BOOTCOUNT_ADDR 0xfffffff8 #define CONFIG_SYS_BOOTCOUNT_BE
/* Environment setting for SPI flash */ diff --git a/include/configs/ti_am335x_common.h b/include/configs/ti_am335x_common.h index 6c93fd3f9b6f..8251ceb63fa0 100644 --- a/include/configs/ti_am335x_common.h +++ b/include/configs/ti_am335x_common.h @@ -38,13 +38,6 @@
#define CONFIG_DRIVER_TI_CPSW /* Driver for IP block */ /*
- RTC related defines. To use bootcount you must set bootlimit in
the
- environment to a non-zero value and enable CONFIG_BOOTCOUNT_LIMIT
- in the board config.
- */
-#define CONFIG_SYS_BOOTCOUNT_ADDR 0x44E3E000
-/*
- SPL related defines. The Public RAM memory map the ROM defines
the
- area between 0x402F0400 and 0x4030B800 as a download area and
- 0x4030B800 to 0x4030CE00 as a public stack area. The ROM also
diff --git a/include/configs/tqma6_wru4.h b/include/configs/tqma6_wru4.h index d94f790148dc..24b62e701c10 100644 --- a/include/configs/tqma6_wru4.h +++ b/include/configs/tqma6_wru4.h @@ -34,7 +34,6 @@ /* LED */
/* Bootcounter */ -#define CONFIG_SYS_BOOTCOUNT_ADDR IRAM_BASE_ADDR #define CONFIG_SYS_BOOTCOUNT_BE
#endif /* __CONFIG_TQMA6_WRU4_H */ diff --git a/include/configs/x600.h b/include/configs/x600.h index 4bf8b1051e58..485522cd8729 100644 --- a/include/configs/x600.h +++ b/include/configs/x600.h @@ -116,10 +116,6 @@ #define CONFIG_SYS_MALLOC_LEN (8 << 20) #define CONFIG_SYS_LOAD_ADDR 0x00800000
-/* Use last 2 lwords in internal SRAM for bootcounter */ -#define CONFIG_SYS_BOOTCOUNT_ADDR (CONFIG_SRAM_BASE + \
CONFIG_SRAM_SIZE)
#define CONFIG_HOSTNAME x600 #define CONFIG_UBI_PART ubi0 #define CONFIG_UBIFS_VOLUME rootfs
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de

On Sun, Feb 25, 2018 at 11:29:30AM +0100, Lukasz Majewski wrote:
Hi Tom,
Migrate the users of CONFIG_SYS_BOOTCOUNT_ADDR to Kconfig. We can provide a default for BOOTCOUNT_AM33XX as that's a specific part of the RTC in use. We can also provide a default for ARCH_LS1043A and ARCH_LS1021A as they had been previously calculated and their symbols are in Kconfig. In the case of other QE-enabled platforms, they are not so we must update the relevant defconfig files. The previous default only applied in some cases, even on a specific SoC family.
Thanks for your patch.
I suppose, that it is a last puzzle to convert BOOTCOUNT to Kconfig.
Please correct me if I'm wrong, but it shall be applied on top of Alex's series:
Correct. I tested that and the only part I wasn't 100% confident in after transition was the addresses.

On Sun, Feb 25, 2018 at 1:23 PM, Tom Rini trini@konsulko.com wrote:
On Sun, Feb 25, 2018 at 11:29:30AM +0100, Lukasz Majewski wrote:
Hi Tom,
Migrate the users of CONFIG_SYS_BOOTCOUNT_ADDR to Kconfig. We can provide a default for BOOTCOUNT_AM33XX as that's a specific part of the RTC in use. We can also provide a default for ARCH_LS1043A and ARCH_LS1021A as they had been previously calculated and their symbols are in Kconfig. In the case of other QE-enabled platforms, they are not so we must update the relevant defconfig files. The previous default only applied in some cases, even on a specific SoC family.
Thanks for your patch.
I suppose, that it is a last puzzle to convert BOOTCOUNT to Kconfig.
Please correct me if I'm wrong, but it shall be applied on top of Alex's series:
Correct. I tested that and the only part I wasn't 100% confident in after transition was the addresses.
Having looked at it both ways (migrate CONFIG_SYS_BOOTCOUNT_ADDR into Kconfig, migrate everything out of the CONFIG_ namespace) they both seem to have downsides... either you have magic numbers in Kconfig or you have configuration littered through include files. It feels like it wants some piece of machinery we don't really have today.

On Sun, Feb 25, 2018 at 05:44:42PM +0000, Alex Kiernan wrote:
On Sun, Feb 25, 2018 at 1:23 PM, Tom Rini trini@konsulko.com wrote:
On Sun, Feb 25, 2018 at 11:29:30AM +0100, Lukasz Majewski wrote:
Hi Tom,
Migrate the users of CONFIG_SYS_BOOTCOUNT_ADDR to Kconfig. We can provide a default for BOOTCOUNT_AM33XX as that's a specific part of the RTC in use. We can also provide a default for ARCH_LS1043A and ARCH_LS1021A as they had been previously calculated and their symbols are in Kconfig. In the case of other QE-enabled platforms, they are not so we must update the relevant defconfig files. The previous default only applied in some cases, even on a specific SoC family.
Thanks for your patch.
I suppose, that it is a last puzzle to convert BOOTCOUNT to Kconfig.
Please correct me if I'm wrong, but it shall be applied on top of Alex's series:
Correct. I tested that and the only part I wasn't 100% confident in after transition was the addresses.
Having looked at it both ways (migrate CONFIG_SYS_BOOTCOUNT_ADDR into Kconfig, migrate everything out of the CONFIG_ namespace) they both seem to have downsides... either you have magic numbers in Kconfig or you have configuration littered through include files. It feels like it wants some piece of machinery we don't really have today.
Long term, I think cases like this should be handled either way default 0xF00 if BAR or yes, we re-work things so it's out of the CONFIG namespace. In the case of bootcount_davinci.c we could easily key that off of CONFIG_AM33XX #elif CONFIG_SOC_DA8XX as we're talking about an on-chip RTC and that's not going to vary much in location. But for the generic driver that really is harder to say.

On Sun, Feb 25, 2018 at 3:50 AM, Tom Rini trini@konsulko.com wrote:
Migrate the users of CONFIG_SYS_BOOTCOUNT_ADDR to Kconfig. We can provide a default for BOOTCOUNT_AM33XX as that's a specific part of the RTC in use. We can also provide a default for ARCH_LS1043A and ARCH_LS1021A as they had been previously calculated and their symbols are in Kconfig. In the case of other QE-enabled platforms, they are not so we must update the relevant defconfig files. The previous default only applied in some cases, even on a specific SoC family.
Signed-off-by: Tom Rini trini@konsulko.com
Reviewed-by: Alex Kiernan alex.kiernan@gmail.com

On Sat, Feb 24, 2018 at 10:50:19PM -0500, Tom Rini wrote:
Migrate the users of CONFIG_SYS_BOOTCOUNT_ADDR to Kconfig. We can provide a default for BOOTCOUNT_AM33XX as that's a specific part of the RTC in use. We can also provide a default for ARCH_LS1043A and ARCH_LS1021A as they had been previously calculated and their symbols are in Kconfig. In the case of other QE-enabled platforms, they are not so we must update the relevant defconfig files. The previous default only applied in some cases, even on a specific SoC family.
Signed-off-by: Tom Rini trini@konsulko.com
With R-B's added, applied to u-boot/master, thanks!
participants (3)
-
Alex Kiernan
-
Lukasz Majewski
-
Tom Rini