]> git.karo-electronics.de Git - karo-tx-uboot.git/blobdiff - board/keymile/km_arm/km_arm.c
Consolidate bootcount code into drivers/bootcount
[karo-tx-uboot.git] / board / keymile / km_arm / km_arm.c
index 2b2ca393765818a2dc2898d159140834560d3ac8..930c80e7c2a60ac661ea6c940b03b0c5bc5fdeee 100644 (file)
@@ -408,57 +408,6 @@ int hush_init_var(void)
 }
 #endif
 
-#if defined(CONFIG_BOOTCOUNT_LIMIT)
-const ulong patterns[]      = {        0x00000000,
-                               0xFFFFFFFF,
-                               0xFF00FF00,
-                               0x0F0F0F0F,
-                               0xF0F0F0F0};
-const ulong NBR_OF_PATTERNS = ARRAY_SIZE(patterns);
-const ulong OFFS_PATTERN    = 3;
-const ulong REPEAT_PATTERN  = 1000;
-
-void bootcount_store(ulong a)
-{
-       ulong *save_addr;
-       ulong size = 0;
-       int i;
-
-       for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++)
-               size += gd->bd->bi_dram[i].size;
-       save_addr = (ulong *)(size - BOOTCOUNT_ADDR);
-       writel(a, save_addr);
-       writel(BOOTCOUNT_MAGIC, &save_addr[1]);
-
-       for (i = 0; i < REPEAT_PATTERN; i++)
-               writel(patterns[i % NBR_OF_PATTERNS],
-                       &save_addr[i+OFFS_PATTERN]);
-
-}
-
-ulong bootcount_load(void)
-{
-       ulong *save_addr;
-       ulong size = 0;
-       ulong counter = 0;
-       int i, tmp;
-
-       for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++)
-               size += gd->bd->bi_dram[i].size;
-       save_addr = (ulong *)(size - BOOTCOUNT_ADDR);
-
-       counter = readl(&save_addr[0]);
-
-       /* Is the counter reliable, check in the big pattern for bit errors */
-       for (i = 0; (i < REPEAT_PATTERN) && (counter != 0); i++) {
-               tmp = readl(&save_addr[i+OFFS_PATTERN]);
-               if (tmp != patterns[i % NBR_OF_PATTERNS])
-                       counter = 0;
-       }
-       return counter;
-}
-#endif
-
 #if defined(CONFIG_SOFT_I2C)
 void set_sda(int state)
 {