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;