summaryrefslogtreecommitdiff
path: root/board/keymile
diff options
context:
space:
mode:
authorHolger Brunck <holger.brunck@keymile.com>2015-11-17 10:53:26 +0100
committerTom Rini <trini@konsulko.com>2015-11-18 15:28:53 -0500
commitd3f1d6f43472f74abf34cadf0bf6236dd70177bc (patch)
tree8c189ec43243be4a6e36627e6d7ac5394e836547 /board/keymile
parent74edc607d6cd6102ac181232c5bb6562a733ea7b (diff)
downloadu-boot-imx-d3f1d6f43472f74abf34cadf0bf6236dd70177bc.zip
u-boot-imx-d3f1d6f43472f74abf34cadf0bf6236dd70177bc.tar.gz
u-boot-imx-d3f1d6f43472f74abf34cadf0bf6236dd70177bc.tar.bz2
powerpc/82xx/km: add testpin detection for mgcoge3ne
On mgcoge3ne we also want to start the test application if the testpin is asserted. But we don't have a full POST test support yet. So simply add a function to read the testpin value. Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Diffstat (limited to 'board/keymile')
-rw-r--r--board/keymile/common/common.c5
-rw-r--r--board/keymile/common/common.h2
-rw-r--r--board/keymile/km82xx/km82xx.c9
3 files changed, 15 insertions, 1 deletions
diff --git a/board/keymile/common/common.c b/board/keymile/common/common.c
index b9aff1a..8de129d 100644
--- a/board/keymile/common/common.c
+++ b/board/keymile/common/common.c
@@ -354,8 +354,11 @@ static int do_checktestboot(cmd_tbl_t *cmdtp, int flag, int argc,
#if defined(CONFIG_POST)
testpin = post_hotkeys_pressed();
- s = getenv("test_bank");
#endif
+#if defined(CONFIG_MGCOGE3NE)
+ testpin = get_testpin();
+#endif
+ s = getenv("test_bank");
/* when test_bank is not set, act as if testpin is not asserted */
testboot = (testpin != 0) && (s);
if (verbose) {
diff --git a/board/keymile/common/common.h b/board/keymile/common/common.h
index dcfefc4..c74f569 100644
--- a/board/keymile/common/common.h
+++ b/board/keymile/common/common.h
@@ -134,6 +134,8 @@ int wait_for_fpga_config(void);
int fpga_reset(void);
int toggle_eeprom_spi_bus(void);
+int get_testpin(void);
+
int set_km_env(void);
int fdt_set_node_and_value(void *blob,
char *nodename,
diff --git a/board/keymile/km82xx/km82xx.c b/board/keymile/km82xx/km82xx.c
index 03cd10c..cc9a7c9 100644
--- a/board/keymile/km82xx/km82xx.c
+++ b/board/keymile/km82xx/km82xx.c
@@ -473,3 +473,12 @@ int ft_board_setup(void *blob, bd_t *bd)
return 0;
}
#endif /* defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT) */
+
+#if defined(CONFIG_MGCOGE3NE)
+int get_testpin(void)
+{
+ /* Testpin is Port C pin 29 - enable = low */
+ int testpin = !get_pin(0x00000004, 2);
+ return testpin;
+}
+#endif