km/common: implement setboardid command
Read out board id and HW key from the IVM eeprom and set these values as an environment variable. Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Acked-by: Heiko Schocher <hs@denx.de> cc: Wolfgang Denk <wd@denx.de> cc: Detlev Zundel <dzu@denx.de> cc: Valentin Longchamp <valentin.longchamp@keymile.com>
This commit is contained in:
parent
eae3b0644c
commit
a9417ce74a
@ -26,6 +26,7 @@
|
||||
#include <mpc8260.h>
|
||||
#endif
|
||||
#include <ioports.h>
|
||||
#include <command.h>
|
||||
#include <malloc.h>
|
||||
#include <hush.h>
|
||||
#include <net.h>
|
||||
@ -682,3 +683,36 @@ 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");
|
||||
if (p == NULL) {
|
||||
printf("can't get the IVM_Boardid\n");
|
||||
return 1;
|
||||
}
|
||||
sprintf((char *)buf, "%s", p);
|
||||
setenv("boardid", (char *)buf);
|
||||
|
||||
p = get_local_var("IVM_HWKey");
|
||||
if (p == NULL) {
|
||||
printf("can't get the IVM_HWKey\n");
|
||||
return 1;
|
||||
}
|
||||
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");
|
||||
|
Loading…
Reference in New Issue
Block a user