diff --git a/drivers/phy/marvell/phy-mvebu-a3700-comphy.c b/drivers/phy/marvell/phy-mvebu-a3700-comphy.c index a4d7d9bd100d..3bba2a02c71a 100644 --- a/drivers/phy/marvell/phy-mvebu-a3700-comphy.c +++ b/drivers/phy/marvell/phy-mvebu-a3700-comphy.c @@ -1104,6 +1104,14 @@ static int mvebu_a3700_comphy_reset(struct phy *phy) dev_dbg(lane->dev, "resetting lane %d\n", lane->id); + if (lane->id == 0 || lane->id == 1) + comphy_periph_reg_set(lane, COMPHY_PHY_CFG1, 0, + PIN_PU_PLL_BIT | PIN_PU_RX_BIT | PIN_PU_TX_BIT | PIN_PU_IVREF_BIT | PIN_TX_IDLE_BIT); + + else + comphy_lane_reg_set(lane, COMPHY_POWER_PLL_CTRL, + 0x0, PU_PLL_BIT | PU_RX_BIT | PU_TX_BIT | PU_IVREF_BIT); + /* COMPHY reset for internal logic */ comphy_lane_reg_set(lane, COMPHY_SFT_RESET, SFT_RST_NO_REG, SFT_RST_NO_REG);