From: Holger Brunck <holger.bru...@keymile.com>

Read out board id and HW key from the IVM eeprom and set
these values as an environment variable was now done inside the
code as a command.

Signed-off-by: Holger Brunck <holger.bru...@keymile.com>
Acked-by: Heiko Schocher <h...@denx.de>
cc: Wolfgang Denk <w...@denx.de>
cc: Detlev Zundel <d...@denx.de>
cc: Valentin Longchamp <valentin.longch...@keymile.com>
Signed-off-by: Valentin Longchamp <valentin.longch...@keymile.com>
---
 board/keymile/common/common.c |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/board/keymile/common/common.c b/board/keymile/common/common.c
index 9ec0022..5704b7f 100644
--- a/board/keymile/common/common.c
+++ b/board/keymile/common/common.c
@@ -25,6 +25,7 @@
 #if defined(CONFIG_KM82XX)
 #include <mpc8260.h>
 #endif
+#include <command.h>
 #include <ioports.h>
 #include <malloc.h>
 #include <hush.h>
@@ -689,3 +690,27 @@ int board_eth_init(bd_t *bis)
 
        return -1;
 }
+
+/*
+ * do_setboardid command
+ * read out the board id and the hw key from the intventory EEPROM and set
+ * this values as environment variables.
+ */
+static int do_setboardid(cmd_tbl_t *cmdtp, int flag, int argc,
+                               char *const argv[])
+{
+       unsigned char buf[32];
+       char *p;
+
+       p = get_local_var("IVM_BoardId");
+       sprintf((char *)buf, "%s", p);
+       setenv("boardid", (char *)buf);
+       p = get_local_var("IVM_HWKey");
+       sprintf((char *)buf, "%s", p);
+       setenv("hwkey", (char *)buf);
+       return 0;
+}
+
+U_BOOT_CMD(km_setboardid, 1, 0, do_setboardid, "setboardid", "read out bid and 
"
+                                "hwkey from IVM and set in environment");
+
-- 
1.7.0.5

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to