kmp204x: support for QRIO1 bootcounter
authorRainer Boschung <rainer.boschung@keymile.com>
Mon, 27 Jan 2014 10:49:04 +0000 (11:49 +0100)
committerYork Sun <yorksun@freescale.com>
Mon, 3 Feb 2014 16:38:49 +0000 (08:38 -0800)
Make use of the QRIO1 32bit register at 0x20 as bootcounter register
Check for BOOTCOUNT_MAGIC pattern when before bootcounter value is read

Signed-off-by: Rainer Boschung <rainer.boschung@keymile.com>
Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
[York Sun: Minor change to commit message]
Signed-off-by: York Sun <yorksun@freescale.com>
board/keymile/kmp204x/kmp204x.c
include/configs/km/kmp204x-common.h

index f02642aecec4df937a7ce2033b9b3d7705027bb4..20a32642bbcb0e2706a12db3559f88303d6969e6 100644 (file)
@@ -133,26 +133,6 @@ void qrio_prstcfg(u8 bit, u8 mode)
        out_be32(qrio_base + PRSTCFG_OFF, prstcfg);
 }
 
-
-#define BOOTCOUNT_OFF  0x12
-
-void bootcount_store(ulong counter)
-{
-       u8 val;
-       void __iomem *qrio_base = (void *)CONFIG_SYS_QRIO_BASE;
-
-       val = (counter <= 255) ? (u8)counter : 255;
-       out_8(qrio_base + BOOTCOUNT_OFF, val);
-}
-
-ulong bootcount_load(void)
-{
-       u8 val;
-       void __iomem *qrio_base = (void *)CONFIG_SYS_QRIO_BASE;
-       val = in_8(qrio_base + BOOTCOUNT_OFF);
-       return val;
-}
-
 #define NUM_SRDS_BANKS 2
 #define PHY_RST                15
 
index 2466649b15c7ce1d548a45a715d32d4b313b1a17..0461815ca13cd67ca25e7c8c6f62731f434c30ee 100644 (file)
@@ -148,8 +148,6 @@ unsigned long get_board_sys_clk(unsigned long dummy);
 #define CONFIG_KM_KERNEL_ADDR  0x1000000       /* max kernel size 15.5Mbytes */
 #define CONFIG_KM_FDT_ADDR     0x1F80000       /* max dtb    size  0.5Mbytes */
 
-#define CONFIG_BOOTCOUNT_LIMIT
-
 /*
  * Local Bus Definitions
  */
@@ -206,6 +204,10 @@ 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_BOOTCOUNT_LIMIT
+#define CONFIG_SYS_BOOTCOUNT_ADDR      (CONFIG_SYS_QRIO_BASE + 0x20)
+
 #define CONFIG_BOARD_EARLY_INIT_F
 #define CONFIG_BOARD_EARLY_INIT_R      /* call board_early_init_r function */
 #define CONFIG_MISC_INIT_R