plat-feroceon: used gpp polarity when setting XVR TX power.
Change-Id: Idce187abfe16b7f5401d8bee3987635a7b046ede
diff --git a/arch/arm/plat-feroceon/mv_drivers_lsp/mv_pon/plat/ponOnuBoard.c b/arch/arm/plat-feroceon/mv_drivers_lsp/mv_pon/plat/ponOnuBoard.c
index 153bf20..a9f877e 100755
--- a/arch/arm/plat-feroceon/mv_drivers_lsp/mv_pon/plat/ponOnuBoard.c
+++ b/arch/arm/plat-feroceon/mv_drivers_lsp/mv_pon/plat/ponOnuBoard.c
@@ -786,13 +786,15 @@
*******************************************************************************/
MV_STATUS onuPonTxPowerOn(MV_BOOL txOn)
{
+ MV_U8 gpioPolarity;
MV_U32 gpioGroup, gpioMask;
MV_U32 devId = mvCtrlModelGet();
MV_STATUS status = MV_OK;
PON_GPIO_GET(BOARD_GPP_PON_XVR_TX_POWER, gpioGroup, gpioMask);
if (gpioMask != PON_GPIO_NOT_USED) {
- if (txOn == MV_TRUE)
+ gpioPolarity = mvBoardGpioPolarityGet(BOARD_GPP_PON_XVR_TX_POWER);
+ if ((txOn && gpioPolarity) || (!txOn && !gpioPolarity))
status = mvGppValueSet(gpioGroup, gpioMask, gpioMask);
else
status = mvGppValueSet(gpioGroup, gpioMask, 0);