mv_feroceon: added board init callback.
This can be used for initialization tasks that vary by board revision (e.g. pin
mux'ing, gpio config, etc.).
Change-Id: Ic213a30d46cd8e963f09ad4cd2a7654a97a2e443
diff --git a/board/mv_feroceon/mv_kw2/kw2_family/boardEnv/mvBoardEnvLib.c b/board/mv_feroceon/mv_kw2/kw2_family/boardEnv/mvBoardEnvLib.c
index 9bbf3ba..a1be610 100644
--- a/board/mv_feroceon/mv_kw2/kw2_family/boardEnv/mvBoardEnvLib.c
+++ b/board/mv_feroceon/mv_kw2/kw2_family/boardEnv/mvBoardEnvLib.c
@@ -129,11 +129,17 @@
MV_U32 boardId = mvBoardIdGet();
MV_U32 nandDev;
MV_32 width;
+ MV_BOARD_INFO *pBoardInfo;
if (!((boardId >= BOARD_ID_BASE) && (boardId < MV_MAX_BOARD_ID))) {
mvOsPrintf("mvBoardEnvInit:Board unknown.\n");
return;
}
+
+ pBoardInfo = mvBoardInfoGet();
+ if (pBoardInfo->pBoardInit)
+ pBoardInfo->pBoardInit(pBoardInfo);
+
nandDev = boardGetDevCSNum(0, BOARD_DEV_NAND_FLASH);
if (nandDev != 0xFFFFFFFF) {
/* Set NAND interface access parameters */
diff --git a/board/mv_feroceon/mv_kw2/kw2_family/boardEnv/mvBoardEnvLib.h b/board/mv_feroceon/mv_kw2/kw2_family/boardEnv/mvBoardEnvLib.h
index de661d8..0207a74 100644
--- a/board/mv_feroceon/mv_kw2/kw2_family/boardEnv/mvBoardEnvLib.h
+++ b/board/mv_feroceon/mv_kw2/kw2_family/boardEnv/mvBoardEnvLib.h
@@ -401,6 +401,7 @@
typedef struct _boardInfo {
char boardName[MV_BOARD_NAME_LEN];
+ MV_VOID (*pBoardInit)(struct _boardInfo *);
MV_U8 numBoardMppTypeValue;
MV_BOARD_MPP_TYPE_INFO *pBoardMppTypeValue;
MV_U8 numBoardMppConfigValue;