feroceon-kw2: 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: I120bc09d3e1ef7a6aa686f2713fccabe954e96b4
diff --git a/arch/arm/mach-feroceon-kw2/kw2_family/boardEnv/mvBoardEnvLib.c b/arch/arm/mach-feroceon-kw2/kw2_family/boardEnv/mvBoardEnvLib.c
index c4bffc4..9803da1 100755
--- a/arch/arm/mach-feroceon-kw2/kw2_family/boardEnv/mvBoardEnvLib.c
+++ b/arch/arm/mach-feroceon-kw2/kw2_family/boardEnv/mvBoardEnvLib.c
@@ -129,12 +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/arch/arm/mach-feroceon-kw2/kw2_family/boardEnv/mvBoardEnvLib.h b/arch/arm/mach-feroceon-kw2/kw2_family/boardEnv/mvBoardEnvLib.h
index 58f6776..5fc8a50 100755
--- a/arch/arm/mach-feroceon-kw2/kw2_family/boardEnv/mvBoardEnvLib.h
+++ b/arch/arm/mach-feroceon-kw2/kw2_family/boardEnv/mvBoardEnvLib.h
@@ -402,6 +402,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;