[U-Boot] [PATCH v2 8/8] km_arm: enable POST for these boards

Valentin Longchamp
2011-09-01T15:39:27Z

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>
---
Changes for v2:
- adapted to CONFIG_POST_EXTERNAL_WORD_FUNCS
- implemented suggestion from Sergei
---
board/keymile/km_arm/km_arm.c | 22 ++++++++++++++++++++++
include/configs/km/km_arm.h | 6 ++++++
2 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/board/keymile/km_arm/km_arm.c b/board/keymile/km_arm/km_arm.c
index 69f86f5..a1e26ae 100644
--- a/board/keymile/km_arm/km_arm.c
+++ b/board/keymile/km_arm/km_arm.c
@@ -483,6 +483,28 @@ int get_scl(void)
}
#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);
+}
+#endif
+
#if defined(CONFIG_SYS_EEPROM_WREN)
int eeprom_write_enable(unsigned dev_addr, int state)
{
diff --git a/include/configs/km/km_arm.h b/include/configs/km/km_arm.h
index 54c13ce..82275a6 100644
--- a/include/configs/km/km_arm.h
+++ b/include/configs/km/km_arm.h
@@ -271,4 +271,10 @@ int get_scl(void);
/* address for the bootcount (taken from end of RAM) */
#define BOOTCOUNT_ADDR (CONFIG_KM_RESERVED_PRAM)

+/* 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 */
--
1.7.1