Initial port from uboot
Change-Id: Ib3ca728f9da6a290848457c3cf5b2887ccd276c1
diff --git a/arch/arm/mach-feroceon-kw2/core.c b/arch/arm/mach-feroceon-kw2/core.c
index 7abeb6b..e68380a 100755
--- a/arch/arm/mach-feroceon-kw2/core.c
+++ b/arch/arm/mach-feroceon-kw2/core.c
@@ -153,9 +153,16 @@
mvUbootVer = tag->u.mv_uboot.uboot_version;
mvIsUsbHost = tag->u.mv_uboot.isUsbHost;
- printk("Using UBoot passing parameters structure\n");
+ printk("Using UBoot passing parameters structure: UbootVer:%x\n", mvUbootVer);
gBoardId = (mvUbootVer & 0xff);
+#ifdef CONFIG_MACH_GFLT110
+ if ((gBoardId != GFLT110_ID) && (gBoardId != GFLT300_ID)) {
+ printk("unknown boardID from uboot:%x defaulting to GFLT110\n", gBoardId);
+ gBoardId = GFLT110_ID;
+ }
+#endif
+ printk("BoardId:%x\n", mvBoardIdGet());
#ifdef CONFIG_MV_INCLUDE_GIG_ETH
for (i = 0; i < CONFIG_MV_ETH_PORTS_NUM; i++) {
#if defined (CONFIG_OVERRIDE_ETH_CMDLINE)
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 9803da1..8774fcc 100755
--- a/arch/arm/mach-feroceon-kw2/kw2_family/boardEnv/mvBoardEnvLib.c
+++ b/arch/arm/mach-feroceon-kw2/kw2_family/boardEnv/mvBoardEnvLib.c
@@ -160,7 +160,7 @@
MV_REG_WRITE(GPP_DATA_OUT_REG(1), BOARD_INFO(boardId)->gppOutValMid);
if (boardId != DB_88F6601_BP_ID && boardId != RD_88F6601_MC_ID &&
boardId != RD_88F6601_MC2L_ID &&
- boardId != GFLT200_ID && boardId != GFLT110_ID)
+ boardId != GFLT300_ID && boardId != GFLT200_ID && boardId != GFLT110_ID)
MV_REG_WRITE(GPP_DATA_OUT_REG(2), BOARD_INFO(boardId)->gppOutValHigh);
/* set GPP polarity */
@@ -168,7 +168,7 @@
mvGppPolaritySet(1, 0xFFFFFFFF, BOARD_INFO(boardId)->gppPolarityValMid);
if (boardId != DB_88F6601_BP_ID && boardId != RD_88F6601_MC_ID &&
boardId != RD_88F6601_MC2L_ID &&
- boardId != GFLT200_ID && boardId != GFLT110_ID)
+ boardId != GFLT300_ID && boardId != GFLT200_ID && boardId != GFLT110_ID)
mvGppPolaritySet(2, 0xFFFFFFFF, BOARD_INFO(boardId)->gppPolarityValHigh);
/* Set GPP Out Enable */
@@ -176,7 +176,7 @@
mvGppTypeSet(1, 0xFFFFFFFF, BOARD_INFO(boardId)->gppOutEnValMid);
if (boardId != DB_88F6601_BP_ID && boardId != RD_88F6601_MC_ID &&
boardId != RD_88F6601_MC2L_ID &&
- boardId != GFLT200_ID && boardId != GFLT110_ID)
+ boardId != GFLT300_ID && boardId != GFLT200_ID && boardId != GFLT110_ID)
mvGppTypeSet(2, 0xFFFFFFFF, BOARD_INFO(boardId)->gppOutEnValHigh);
}
@@ -355,7 +355,7 @@
return MV_FALSE;
}
if (boardId == RD_88F6601_MC_ID || boardId == RD_88F6601_MC2L_ID ||
- GFLT200_ID == boardId || GFLT110_ID == boardId)
+ GFLT300_ID == boardId || GFLT200_ID == boardId || GFLT110_ID == boardId)
return MV_FALSE;
if ((ethPortNum > 0) || (ethCompOpt & ESC_OPT_SGMII_2_SW_P1))
@@ -655,7 +655,7 @@
}
if (boardId == RD_88F6601_MC_ID || boardId == RD_88F6601_MC2L_ID ||
boardId == DB_88F6601_BP_ID ||
- GFLT200_ID == boardId || GFLT110_ID == boardId)
+ GFLT300_ID == boardId || GFLT200_ID == boardId || GFLT110_ID == boardId)
return 0;
@@ -1255,7 +1255,7 @@
tmpTClkRate = MV_REG_READ(MPP_SAMPLE_AT_RESET(0));
if (boardId == RD_88F6601_MC_ID || boardId == RD_88F6601_MC2L_ID ||
boardId == DB_88F6601_BP_ID ||
- GFLT200_ID == boardId || GFLT110_ID == boardId) {
+ GFLT300_ID == boardId || GFLT200_ID == boardId || GFLT110_ID == boardId) {
tmpTClkRate &= MSAR_TCLCK_6601_MASK;
if (tmpTClkRate)
return MV_BOARD_TCLK_200MHZ;
@@ -1312,7 +1312,7 @@
i = 0;
if (boardId == RD_88F6601_MC_ID || boardId == RD_88F6601_MC2L_ID ||
boardId == DB_88F6601_BP_ID ||
- GFLT200_ID == boardId || GFLT110_ID == boardId) {
+ GFLT300_ID == boardId || GFLT200_ID == boardId || GFLT110_ID == boardId) {
while (cpuDdrTbl6601[i].satrValue != -1) {
if (cpuDdrTbl6601[i].satrValue == clockSatr) {
res = i;
@@ -1722,7 +1722,7 @@
if (boardId != DB_88F6601_BP_ID && boardId != RD_88F6601_MC_ID &&
boardId != RD_88F6601_MC2L_ID &&
- boardId != GFLT200_ID && boardId != GFLT110_ID) {
+ boardId != GFLT300_ID && boardId != GFLT200_ID && boardId != GFLT110_ID) {
/* KW2 only */
/* Update link speed for MAC0 / 1 */
/* If MAC 0 is connected to switch, then set to speed 1000Mbps */
@@ -2354,7 +2354,7 @@
return MV_FALSE;
}
if (boardId == RD_88F6601_MC_ID || boardId == RD_88F6601_MC2L_ID ||
- GFLT200_ID == boardId || GFLT110_ID == boardId) {
+ GFLT300_ID == boardId || GFLT200_ID == boardId || GFLT110_ID == boardId) {
if (ethPortNum == 0)
return MV_TRUE;
return MV_FALSE;
@@ -2764,6 +2764,7 @@
tmpBoardId = GFLT200_ID;
#elif defined(GFLT110)
tmpBoardId = GFLT110_ID;
+#error " gBoardId is first set in mach-feroceon-kw2/core.c parse_tag_mv_uboot()"
#endif
gBoardId = tmpBoardId;
}
diff --git a/arch/arm/mach-feroceon-kw2/kw2_family/boardEnv/mvBoardEnvSpec.c b/arch/arm/mach-feroceon-kw2/kw2_family/boardEnv/mvBoardEnvSpec.c
index dc7e9e3..209268c 100755
--- a/arch/arm/mach-feroceon-kw2/kw2_family/boardEnv/mvBoardEnvSpec.c
+++ b/arch/arm/mach-feroceon-kw2/kw2_family/boardEnv/mvBoardEnvSpec.c
@@ -1502,18 +1502,6 @@
{BOARD_GPP_PON_XVR_TX_IND, 24},
};
-/* TODO(cgibson): For GFLT200, these are set to:
- {BOARD_GPP_PON_XVR_TX, 21, 1},
- {BOARD_GPP_PON_XVR_TX_POWER, 37, 0},
- Which is correct?
-*/
-MV_BOARD_GPP_INFO gflt300InfoBoardGppInfo[] = {
- /* {{MV_BOARD_GPP_CLASS devClass, MV_U8 gppPinNum}} */
- {BOARD_GPP_PON_XVR_TX, 17},
- {BOARD_GPP_PON_XVR_TX_POWER, 11},
- {BOARD_GPP_PON_XVR_TX_IND, 24},
-};
-
MV_DEV_CS_INFO gflt110InfoBoardDeCsInfo[] = {
/*{deviceCS, params, devType, devWidth} */
#ifdef MV_SPI
@@ -1535,44 +1523,13 @@
}
};
-MV_BOARD_MPP_INFO gflt300InfoBoardMppConfigValue[] = {
- {{
- GFLT300_MPP0_7,
- GFLT300_MPP8_15,
- GFLT300_MPP16_23,
- GFLT300_MPP24_31,
- GFLT300_MPP32_37
- }
- }
-};
-
-static MV_VOID gfltBoardInit(MV_BOARD_INFO *pBoardInfo)
-{
- if (is_gflt300() == 1) {
- pBoardInfo->numBoardGppInfo = MV_ARRAY_SIZE(
- gflt300InfoBoardGppInfo);
- pBoardInfo->pBoardGppInfo = gflt300InfoBoardGppInfo;
- pBoardInfo->numBoardMppConfigValue = MV_ARRAY_SIZE(
- gflt300InfoBoardMppConfigValue);
- pBoardInfo->pBoardMppConfigValue =
- gflt300InfoBoardMppConfigValue;
- pBoardInfo->gppOutEnValLow = GFLT300_GPP_OUT_ENA_LOW;
- } else {
- pBoardInfo->numBoardGppInfo = MV_ARRAY_SIZE(
- gflt110InfoBoardGppInfo);
- pBoardInfo->pBoardGppInfo = gflt110InfoBoardGppInfo;
- pBoardInfo->numBoardMppConfigValue = MV_ARRAY_SIZE(
- gflt110InfoBoardMppConfigValue);
- pBoardInfo->pBoardMppConfigValue =
- gflt110InfoBoardMppConfigValue;
- pBoardInfo->gppOutEnValLow = GFLT110_GPP_OUT_ENA_LOW;
- }
-}
MV_BOARD_INFO gflt110Info = {
.boardName = "GFLT110",
- .pBoardInit = gfltBoardInit,
+ .pBoardInit = NULL,
.pBoardMppTypeValue = gflt110InfoBoardMppTypeInfo,
+ .pBoardMppConfigValue = gflt110InfoBoardMppConfigValue,
+ .numBoardMppConfigValue = MV_ARRAY_SIZE(gflt110InfoBoardMppConfigValue),
.intsGppMaskLow = 0,
.intsGppMaskMid = 0,
.intsGppMaskHigh = 0,
@@ -1582,11 +1539,14 @@
.pBoardTwsiDev = gflt110InfoBoardTwsiDev,
.numBoardMacInfo = MV_ARRAY_SIZE(gflt110InfoBoardMacInfo),
.pBoardMacInfo = gflt110InfoBoardMacInfo,
+ .numBoardGppInfo = MV_ARRAY_SIZE(gflt110InfoBoardGppInfo),
+ .pBoardGppInfo = gflt110InfoBoardGppInfo,
.activeLedsNumber = 0,
.pLedGppPin = NULL,
.ledsPolarity = 0,
/* GPP values */
+ .gppOutEnValLow = GFLT110_GPP_OUT_ENA_LOW,
.gppOutEnValMid = GFLT110_GPP_OUT_ENA_MID,
.gppOutEnValHigh = 0,
.gppOutValLow = GFLT110_GPP_OUT_VAL_LOW,
@@ -1630,6 +1590,145 @@
.moduleAutoDetect = MV_FALSE
};
+
+/***************************************************************************
+** GFLT300
+****************************************************************************/
+
+MV_BOARD_TWSI_INFO gflt300InfoBoardTwsiDev[] = {
+ /* {{MV_BOARD_DEV_CLASS devClass, MV_U8 twsiDevAddr, MV_U8 twsiDevAddrType}} */
+};
+
+MV_BOARD_MAC_INFO gflt300InfoBoardMacInfo[] = {
+ /* {{MV_BOARD_MAC_SPEED boardMacSpeed, MV_U8 boardEthSmiAddr}} */
+ {BOARD_MAC_SPEED_AUTO, 0x0},
+ {BOARD_MAC_SPEED_AUTO, 0x1},
+ {N_A,N_A}
+};
+
+MV_BOARD_MPP_TYPE_INFO gflt300InfoBoardMppTypeInfo[] = {
+ {
+ .boardMppTdm = MV_BOARD_AUTO,
+ .ethSataComplexOpt = ESC_OPT_GEPHY_MAC0,
+ .ethPortsMode = 0x0
+ }
+};
+
+MV_BOARD_GPP_INFO gflt300InfoBoardGppInfo[] = {
+ /* {{MV_BOARD_GPP_CLASS devClass, MV_U8 gppPinNum}} */
+
+ {BOARD_GPP_SYS_LED, 9 , 1},
+ {BOARD_GPP_SYS_LED, 10 , 1},
+};
+
+
+MV_DEV_CS_INFO gflt300InfoBoardDeCsInfo[] = {
+ /*{deviceCS, params, devType, devWidth} */
+#ifdef MV_SPI
+ {SPI_CS0, N_A, BOARD_DEV_SPI_FLASH, 8}, /* SPI DEV */
+#endif
+#if !defined(MV_SPI)
+ {N_A, N_A, N_A, N_A} /* No device */
+#endif
+};
+
+MV_BOARD_MPP_INFO gflt300InfoBoardMppConfigValue[] = {
+ {{
+ GFLT300_MPP0_7,
+ GFLT300_MPP8_15,
+ GFLT300_MPP16_23,
+ GFLT300_MPP24_31,
+ GFLT300_MPP32_37
+ }
+ }
+};
+
+#if 0
+static MV_VOID gflt300BoardEgigaPhyInit(MV_BOARD_INFO *pBoardInfo)
+{
+ MV_U16 value = 0;
+ /* pass led control to internal phy */
+ MV_REG_WRITE(LED_MATRIX_CTRL_REG(0), 0x82);
+
+ /* link = mpp 14 = c2 = phy led[2] */
+ /* data = mpp 26 = c1 = phy led[1] */
+ mvEthPhyRegWrite(0, 22, 3);
+ mvEthPhyRegRead(0, 16, &value);
+ value = (value & ~0xff) | 0x37;
+ mvEthPhyRegWrite(0, 16, value);
+ mvEthPhyRegWrite(0, 22, 0);
+}
+
+#endif
+
+MV_BOARD_INFO gflt300Info = {
+ .boardName = "GFLT300",
+ .pBoardInit = NULL,
+ //.pBoardEgigaPhyInit = gflt300BoardEgigaPhyInit,
+ .numBoardMppTypeValue = MV_ARRAY_SIZE(gflt300InfoBoardMppTypeInfo),
+ .pBoardMppTypeValue = gflt300InfoBoardMppTypeInfo,
+ .numBoardMppConfigValue = MV_ARRAY_SIZE(gflt300InfoBoardMppConfigValue),
+ .pBoardMppConfigValue = gflt300InfoBoardMppConfigValue,
+ .intsGppMaskLow = 0,
+ .intsGppMaskMid = 0,
+ .intsGppMaskHigh = 0,
+ .numBoardDeviceIf = MV_ARRAY_SIZE(gflt300InfoBoardDeCsInfo),
+ .pDevCsInfo = gflt300InfoBoardDeCsInfo,
+ .numBoardTwsiDev = MV_ARRAY_SIZE(gflt300InfoBoardTwsiDev),
+ .pBoardTwsiDev = gflt300InfoBoardTwsiDev,
+ .numBoardMacInfo = MV_ARRAY_SIZE(gflt300InfoBoardMacInfo),
+ .pBoardMacInfo = gflt300InfoBoardMacInfo,
+ .numBoardGppInfo = MV_ARRAY_SIZE(gflt300InfoBoardGppInfo),
+ .pBoardGppInfo = gflt300InfoBoardGppInfo,
+ .activeLedsNumber = 0,
+ .pLedGppPin = NULL,
+ .ledsPolarity = 0,
+
+ /* GPP values */
+ .gppOutEnValLow = GFLT300_GPP_OUT_ENA_LOW,
+ .gppOutEnValMid = GFLT300_GPP_OUT_ENA_MID,
+ .gppOutEnValHigh = 0,
+ .gppOutValLow = GFLT300_GPP_OUT_VAL_LOW,
+ .gppOutValMid = GFLT300_GPP_OUT_VAL_MID,
+ .gppOutValHigh = 0,
+ .gppPolarityValLow = GFLT300_GPP_POL_LOW,
+ .gppPolarityValMid = GFLT300_GPP_POL_MID,
+ .gppPolarityValHigh = 0,
+
+ /* External Switch Configuration */
+ .pSwitchInfo = NULL,
+ .switchInfoNum = 0,
+
+ /* PON configuration. */
+ .ponConfigValue = BOARD_GPON_CONFIG,
+
+ /* TDM configuration */
+ /* We hold a different configuration array for each possible slic that
+ ** can be connected to board.
+ ** When modules are scanned, then we select the index of the relevant
+ ** slic's information array.
+ ** For RD and Customers boards we only need to initialize a single
+ ** entry of the arrays below, and set the boardTdmInfoIndex to 0.
+ */
+ .numBoardTdmInfo = {0},
+ .pBoardTdmInt2CsInfo = {NULL},
+ .boardTdmInfoIndex = -1,
+
+ .pBoardSpecInit = NULL, /* gflt300BoardSpecInit, */
+
+ .deepIdlePwrUpDelay = 2400, /* 12uS */
+
+ /* NAND init params */
+ .nandFlashParamsValid = MV_FALSE,
+ .nandFlashReadParams = 0,
+ .nandFlashWriteParams = 0,
+ .nandFlashControl = 0,
+ .pBoardTdmSpiInfo = NULL,
+
+ /* Enable modules auto-detection. */
+ .moduleAutoDetect = MV_FALSE
+};
+
MV_BOARD_INFO *boardInfoTbl[] = {
&db88f6535Info,
&rd88f6510Info,
@@ -1641,4 +1740,5 @@
&gflt200Info,
&gflt110Info,
&rd88f6601MC2LInfo,
+ &gflt300Info,
};
diff --git a/arch/arm/mach-feroceon-kw2/kw2_family/boardEnv/mvBoardEnvSpec.h b/arch/arm/mach-feroceon-kw2/kw2_family/boardEnv/mvBoardEnvSpec.h
index 64a804b..8dd507d 100755
--- a/arch/arm/mach-feroceon-kw2/kw2_family/boardEnv/mvBoardEnvSpec.h
+++ b/arch/arm/mach-feroceon-kw2/kw2_family/boardEnv/mvBoardEnvSpec.h
@@ -115,7 +115,8 @@
#define GFLT200_ID DB_CUSTOMER_ID
#define GFLT110_ID (BOARD_ID_BASE+0x8)
#define RD_88F6601_MC2L_ID (BOARD_ID_BASE+0x9)
-#define MV_MAX_BOARD_ID (DB_CUSTOMER_ID + 3)
+#define GFLT300_ID (BOARD_ID_BASE+0xA)
+#define MV_MAX_BOARD_ID (DB_CUSTOMER_ID + 4)
// These are Marvells defines, we should switch to match these in
// uboot to make future merges easier.
//#define DB_CUSTOMER_ID (BOARD_ID_BASE+0x8)
@@ -538,7 +539,7 @@
#define GFLT200_EVT2_GPP_POL_MID 0x0
/***************************************************************************
-** GFLT110 & GFLT300
+** GFLT110
****************************************************************************/
#define GFLT110_MPP0_7 0x22222220
#define GFLT110_MPP8_15 0x00000002
@@ -546,12 +547,6 @@
#define GFLT110_MPP24_31 0x00200550
#define GFLT110_MPP32_37 0x00000000
-/* GFLT300 */
-#define GFLT300_MPP0_7 0x22222220
-#define GFLT300_MPP8_15 0x00000002
-#define GFLT300_MPP16_23 0x00000000
-#define GFLT300_MPP24_31 0x40200504
-#define GFLT300_MPP32_37 0x00000004
/* GPPs
1 SPI0_MOSI (out)
@@ -585,8 +580,31 @@
#define GFLT110_GPP_POL_LOW (BIT23)
#define GFLT110_GPP_POL_MID 0x0
-/* GFLT300 */
-#define GFLT300_GPP_OUT_ENA_LOW (BIT0 | BIT14 | BIT16 | BIT17 | BIT19 | BIT22 | BIT23 | BIT24 | BIT27| BIT30 | BIT31)
+/***************************************************************************
+** GFLT300
+****************************************************************************/
+/*spreadheet on GPIO settings:
+ https://goto.google.com/gflt300-gpio-config
+*/
+
+#define GFLT300_MPP0_7 0x22222220
+#define GFLT300_MPP8_15 0x05000002
+#define GFLT300_MPP16_23 0x00000000
+#define GFLT300_MPP24_31 0x40004544
+#define GFLT300_MPP32_37 0x00000004
+
+
+// default all ones-inputs, invert for outputs
+#define GFLT300_GPP_OUT_ENA_LOW (~(BIT9 | BIT10 | BIT21))
+#define GFLT300_GPP_OUT_ENA_MID (~(BIT4))
+
+// BIT09 turns the LED blue.
+// BIT10 turns the LED red.
+#define GFLT300_GPP_OUT_VAL_LOW (BIT9)
+#define GFLT300_GPP_OUT_VAL_MID (BIT4)
+
+#define GFLT300_GPP_POL_LOW 0x0
+#define GFLT300_GPP_POL_MID 0x0
/***************************************************************************
** RD-88F6601MC2L
diff --git a/arch/arm/mach-feroceon-kw2/kw2_family/cpu/mvCpu.c b/arch/arm/mach-feroceon-kw2/kw2_family/cpu/mvCpu.c
index b20b1cb..1508074 100755
--- a/arch/arm/mach-feroceon-kw2/kw2_family/cpu/mvCpu.c
+++ b/arch/arm/mach-feroceon-kw2/kw2_family/cpu/mvCpu.c
@@ -113,7 +113,7 @@
i = 0;
if (boardId == RD_88F6601_MC_ID || boardId == RD_88F6601_MC2L_ID ||
boardId == DB_88F6601_BP_ID ||
- GFLT200_ID == boardId || GFLT110_ID == boardId) {
+ GFLT300_ID == boardId || GFLT200_ID == boardId || GFLT110_ID == boardId) {
while (cpuDdrTbl6601[i].satrValue != -1) {
if (cpuDdrTbl6601[i].satrValue == clockSatr) {
res = i;
@@ -163,7 +163,7 @@
else {
if (boardId == RD_88F6601_MC_ID || boardId == RD_88F6601_MC2L_ID ||
boardId == DB_88F6601_BP_ID ||
- (GFLT200_ID == boardId) || (GFLT110_ID == boardId))
+ (GFLT300_ID == boardId) || (GFLT200_ID == boardId) || (GFLT110_ID == boardId))
return cpuDdrTbl6601[idx].cpuClk;
else
return cpuDdrL2Tbl[idx].cpuClk;
@@ -198,7 +198,7 @@
else {
if (boardId == RD_88F6601_MC_ID || boardId == RD_88F6601_MC2L_ID ||
boardId == RD_88F6601_MC_ID ||
- (GFLT200_ID == boardId) || (GFLT110_ID == boardId))
+ (GFLT300_ID == boardId) || (GFLT200_ID == boardId) || (GFLT110_ID == boardId))
return cpuDdrTbl6601[idx].l2Clk;
else
return cpuDdrL2Tbl[idx].l2Clk;
@@ -226,7 +226,7 @@
if (id == RD_88F6510_SFU_ID || id == DB_88F6601_BP_ID ||
id == RD_88F6601_MC_ID || id == RD_88F6601_MC2L_ID ||
- GFLT200_ID == id || id == GFLT110_ID)
+ GFLT300_ID == id || GFLT200_ID == id || id == GFLT110_ID)
return MV_FALSE;
/* Read S@R register value */
diff --git a/arch/arm/mach-feroceon-kw2/sysmap.c b/arch/arm/mach-feroceon-kw2/sysmap.c
index 3224c2b..88fa6c4 100755
--- a/arch/arm/mach-feroceon-kw2/sysmap.c
+++ b/arch/arm/mach-feroceon-kw2/sysmap.c
@@ -224,6 +224,7 @@
case DB_88F6601_BP_ID:
case RD_88F6601_MC_ID:
case RD_88F6601_MC2L_ID:
+ case GFLT300_ID:
case GFLT200_ID:
case GFLT110_ID:
return SYSMAP_88F6601;
diff --git a/arch/arm/plat-feroceon/mv_drivers_lsp/mv_tpm/core/tpm_init.c b/arch/arm/plat-feroceon/mv_drivers_lsp/mv_tpm/core/tpm_init.c
index b47d2af..9e4d381 100644
--- a/arch/arm/plat-feroceon/mv_drivers_lsp/mv_tpm/core/tpm_init.c
+++ b/arch/arm/plat-feroceon/mv_drivers_lsp/mv_tpm/core/tpm_init.c
@@ -687,7 +687,7 @@
if (DB_88F6601_BP_ID == mvBoardIdGet())
profile[0] = ESC_OPT_SGMII | ESC_OPT_GEPHY_MAC0 | ESC_OPT_LP_SERDES_FE_GE_PHY;
if ((RD_88F6601_MC_ID == mvBoardIdGet())
- || (GFLT200_ID == mvBoardIdGet()) || (GFLT110_ID == mvBoardIdGet()))
+ || (GFLT300_ID == mvBoardIdGet()) || (GFLT200_ID == mvBoardIdGet()) || (GFLT110_ID == mvBoardIdGet()))
profile[0] = ESC_OPT_GEPHY_MAC0;
break;
case TPM_PON_WAN_G0_G1_DUAL_LAN: