.. | .. |
---|
1755 | 1755 | if (rphy->phy_cfg->phy_lowpower) |
---|
1756 | 1756 | ret = rphy->phy_cfg->phy_lowpower(rphy, true); |
---|
1757 | 1757 | |
---|
| 1758 | + /* Set gpio output low to avoid leakage */ |
---|
| 1759 | + if (rphy->vup_gpio && !wakeup_enable) |
---|
| 1760 | + gpiod_set_value(rphy->vup_gpio, 1); |
---|
| 1761 | + |
---|
1758 | 1762 | return ret; |
---|
1759 | 1763 | } |
---|
1760 | 1764 | |
---|
.. | .. |
---|
1770 | 1774 | if (device_may_wakeup(rphy->dev)) |
---|
1771 | 1775 | wakeup_enable = true; |
---|
1772 | 1776 | |
---|
| 1777 | + /* Set gpio output high to disable pull-up circuit on DM */ |
---|
| 1778 | + if (rphy->vup_gpio && !wakeup_enable) |
---|
| 1779 | + gpiod_set_value(rphy->vup_gpio, 0); |
---|
| 1780 | + |
---|
1773 | 1781 | /* exit low power state */ |
---|
1774 | 1782 | if (rphy->phy_cfg->phy_lowpower) |
---|
1775 | 1783 | ret = rphy->phy_cfg->phy_lowpower(rphy, false); |
---|