km_arm: enable POST for these boards
authorValentin Longchamp <valentin.longchamp@keymile.com>
Fri, 2 Sep 2011 04:59:10 +0000 (04:59 +0000)
committerWolfgang Denk <wd@denx.de>
Fri, 21 Oct 2011 22:14:35 +0000 (00:14 +0200)
The current km_arm boards have a Power-On test jumper. When this
jumper is set, this triggers some Power-On tests on the board.

This patch enables the support of this jumper for starting the
memory_regions test when the jumper is set.

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
Cc: Prafulla Wadaskar <prafulla@marvell.com>
board/keymile/km_arm/km_arm.c
include/configs/km/km_arm.h

index 67f158c..f78f754 100644 (file)
@@ -481,6 +481,38 @@ int arch_memory_test_prepare(u32 *vstart, u32 *size, phys_addr_t *phys_offset)
 }
 #endif
 
+#if defined(CONFIG_POST)
+
+#define KM_POST_EN_L   44
+
+int post_hotkeys_pressed(void)
+{
+       return !kw_gpio_get_value(KM_POST_EN_L);
+}
+
+ulong post_word_load(void)
+{
+       volatile void* addr = (void *) (gd->ram_size - BOOTCOUNT_ADDR + 4);
+       return in_le32(addr);
+
+}
+void post_word_store(ulong value)
+{
+       volatile void* addr = (void *) (gd->ram_size - BOOTCOUNT_ADDR + 4);
+       out_le32(addr, value);
+}
+
+int arch_memory_test_prepare(u32 *vstart, u32 *size, phys_addr_t *phys_offset)
+{
+       *vstart = CONFIG_SYS_SDRAM_BASE;
+
+       /* we go up to relocation plus a 1 MB margin */
+       *size = CONFIG_SYS_TEXT_BASE - (1<<20);
+
+       return 0;
+}
+#endif
+
 #if defined(CONFIG_SYS_EEPROM_WREN)
 int eeprom_write_enable(unsigned dev_addr, int state)
 {
index c117943..c78fed4 100644 (file)
@@ -277,4 +277,10 @@ int get_scl(void);
 #define CONFIG_POST_EXTERNAL_WORD_FUNCS
 #define CONFIG_CMD_DIAG
 
+/* enable POST tests with log */
+#define CONFIG_POST    (CONFIG_SYS_POST_MEM_REGIONS)
+#define CONFIG_POST_SKIP_ENV_FLAGS
+#define CONFIG_POST_EXTERNAL_WORD_FUNCS
+#define CONFIG_CMD_DIAG
+
 #endif /* _CONFIG_KM_ARM_H */