fix: msys: Fix the dead-lock of mvBoardTclkGet with I2C.
Tclk routine was dependent on I2C transaction, which needs Tclk.
this created a dead-lock, which lead to always using DB board as default
Board ID.
to prevent dead-lock, separated Tclk get flow from U-Boot & Linux:
U-Boot Flow:
------------
according to MV_MSYS definition (exists only in MSYS platform U-Boot),
Skip reading FamilyIdGet to derrive Tclk, and use static Tclk for MSYS
platforms (AXP-AMC uses different u-boot version:2011.12)
Linux flow:
-----------,
previous flow remains: FamilyIdGet can use BoardIDGet,
since Board id is not being read from TWSI, but passed from
U-Boot tags instead
Signed-off-by: Terry <bjzhou@marvell.com>
Change-Id: Idea042b3b55bfa66c9bb2d4c5fdf7dcf0d3e9ec9
Reviewed-on: http://vgitil04.il.marvell.com:8080/22434
Reviewed-by: Omri Itach <omrii@marvell.com>
Tested-by: Omri Itach <omrii@marvell.com>
diff --git a/board/mv_ebu/msys/msys_family/boardEnv/mvBoardEnvLib.c b/board/mv_ebu/msys/msys_family/boardEnv/mvBoardEnvLib.c
index 0d2a1c3..1871f61 100755
--- a/board/mv_ebu/msys/msys_family/boardEnv/mvBoardEnvLib.c
+++ b/board/mv_ebu/msys/msys_family/boardEnv/mvBoardEnvLib.c
@@ -552,6 +552,16 @@
*******************************************************************************/
MV_U32 mvBoardTclkGet(MV_VOID)
{
+ /* U-Boot flow for MSYS can not read FamilyIdGet to derrive Tclk,
+ since FamilyIdGet needs Board ID, via TWSI trasaction, which depends on Tclk reading.
+ MSYS platforms use static Tclk=200MHz (not Sampled@Reset)*/
+#ifdef MV_MSYS /* MV_MSYS is defined only in U-boot for MSYS platforms: AC3/BC2/BobK */
+ return MV_BOARD_TCLK_200MHZ;
+#else
+
+ /* for Linux flow, FamilyIdGet can use BoardIDGet, since Board id is not readen from TWSI,
+ but passed from U-Boot tags instead */
+
if (mvCtrlDevFamilyIdGet(0) != MV_78460_DEV_ID)
/* constant Tclock @ 200MHz (not Sampled@Reset) */
return MV_BOARD_TCLK_200MHZ;
@@ -560,7 +570,7 @@
return MV_BOARD_TCLK_200MHZ;
else
return MV_BOARD_TCLK_250MHZ;
-
+#endif
}
/*******************************************************************************