net: phy: rk630phy: Add adc performance
Increase ad gain and vcm voltage to get better performance, If it was 10M speed, also increase eq gain. Signed-off-by: David Wu <david.wu@rock-chips.com> Change-Id: I7bad65f14a753c4d3de18c702394d1f91d47dc4a
This commit is contained in:
@@ -219,7 +219,7 @@ static void rk630_phy_t22_config_init(struct phy_device *phydev)
|
|||||||
/* Switch to page 6 */
|
/* Switch to page 6 */
|
||||||
phy_write(phydev, REG_PAGE_SEL, 0x0600);
|
phy_write(phydev, REG_PAGE_SEL, 0x0600);
|
||||||
/* PHYAFE ADC optimization */
|
/* PHYAFE ADC optimization */
|
||||||
phy_write(phydev, REG_PAGE6_ADC_ANONTROL, 0x5540);
|
phy_write(phydev, REG_PAGE6_ADC_ANONTROL, 0x555e);
|
||||||
/* PHYAFE Gain optimization */
|
/* PHYAFE Gain optimization */
|
||||||
phy_write(phydev, REG_PAGE6_GAIN_ANONTROL, 0x0400);
|
phy_write(phydev, REG_PAGE6_GAIN_ANONTROL, 0x0400);
|
||||||
/* PHYAFE EQ optimization */
|
/* PHYAFE EQ optimization */
|
||||||
@@ -284,6 +284,23 @@ static int rk630_phy_config_init(struct phy_device *phydev)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void rk630_link_change_notify(struct phy_device *phydev)
|
||||||
|
{
|
||||||
|
unsigned int val;
|
||||||
|
|
||||||
|
if (phydev->state == PHY_RUNNING || phydev->state == PHY_NOLINK) {
|
||||||
|
/* Switch to page 6 */
|
||||||
|
phy_write(phydev, REG_PAGE_SEL, 0x0600);
|
||||||
|
val = phy_read(phydev, REG_PAGE6_AFE_TX_CTRL);
|
||||||
|
val &= ~GENMASK(14, 13);
|
||||||
|
if (phydev->speed == SPEED_10 && phydev->link)
|
||||||
|
val |= BIT(13);
|
||||||
|
phy_write(phydev, REG_PAGE6_AFE_TX_CTRL, val);
|
||||||
|
/* Switch to page 0 */
|
||||||
|
phy_write(phydev, REG_PAGE_SEL, 0x0000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static irqreturn_t rk630_wol_irq_thread(int irq, void *dev_id)
|
static irqreturn_t rk630_wol_irq_thread(int irq, void *dev_id)
|
||||||
{
|
{
|
||||||
struct rk630_phy_priv *priv = (struct rk630_phy_priv *)dev_id;
|
struct rk630_phy_priv *priv = (struct rk630_phy_priv *)dev_id;
|
||||||
@@ -369,6 +386,7 @@ static struct phy_driver rk630_phy_driver[] = {
|
|||||||
.name = "RK630 PHY",
|
.name = "RK630 PHY",
|
||||||
.features = PHY_BASIC_FEATURES,
|
.features = PHY_BASIC_FEATURES,
|
||||||
.flags = 0,
|
.flags = 0,
|
||||||
|
.link_change_notify = rk630_link_change_notify,
|
||||||
.probe = rk630_phy_probe,
|
.probe = rk630_phy_probe,
|
||||||
.remove = rk630_phy_remove,
|
.remove = rk630_phy_remove,
|
||||||
.soft_reset = genphy_soft_reset,
|
.soft_reset = genphy_soft_reset,
|
||||||
|
|||||||
Reference in New Issue
Block a user