diff options
author | Heiko Schocher <hs@denx.de> | 2014-11-18 11:51:06 +0100 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2014-12-04 21:28:32 -0500 |
commit | 0c331ebcc6843bb5e4e6727d1b4a13ef2284a5ab (patch) | |
tree | ccec1c14aae6786763a60cbf2cfd7a19da3f54fb /board/siemens/pxm2 | |
parent | 4ac32b9c4db8e9e427584024c93773927644f7f4 (diff) | |
download | u-boot-imx-0c331ebcc6843bb5e4e6727d1b4a13ef2284a5ab.zip u-boot-imx-0c331ebcc6843bb5e4e6727d1b4a13ef2284a5ab.tar.gz u-boot-imx-0c331ebcc6843bb5e4e6727d1b4a13ef2284a5ab.tar.bz2 |
arm, am335x: siemens boards add FIT support
add FIT support and set "boardid" from factoryset records
"DEV/id" and "COMP/ver". "boardid" is used for selecting
which fit configuration gets booted on the board.
Signed-off-by: Heiko Schocher <hs@denx.de>
Diffstat (limited to 'board/siemens/pxm2')
-rw-r--r-- | board/siemens/pxm2/board.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/board/siemens/pxm2/board.c b/board/siemens/pxm2/board.c index 559af0e..264ba02 100644 --- a/board/siemens/pxm2/board.c +++ b/board/siemens/pxm2/board.c @@ -428,4 +428,38 @@ static int board_video_init(void) return 0; } #endif + +#ifdef CONFIG_BOARD_LATE_INIT +int board_late_init(void) +{ + int ret; + + omap_nand_switch_ecc(1, 8); + +#ifdef CONFIG_FACTORYSET + if (factory_dat.asn[0] != 0) { + char tmp[2 * MAX_STRING_LENGTH + 2]; + + if (strncmp((const char *)factory_dat.asn, "PXM50", 5) == 0) + factory_dat.pxm50 = 1; + else + factory_dat.pxm50 = 0; + sprintf(tmp, "%s_%s", factory_dat.asn, + factory_dat.comp_version); + ret = setenv("boardid", tmp); + if (ret) + printf("error setting board id\n"); + } else { + factory_dat.pxm50 = 1; + ret = setenv("boardid", "PXM50_1.0"); + if (ret) + printf("error setting board id\n"); + } + debug("PXM50: %d\n", factory_dat.pxm50); +#endif + + return 0; +} +#endif + #include "../common/board.c" |