.. | .. |
---|
573 | 573 | |
---|
574 | 574 | static int yt8531_config_init(struct phy_device *phydev) |
---|
575 | 575 | { |
---|
576 | | - int ret = 0; |
---|
| 576 | + int ret = 0, val; |
---|
577 | 577 | |
---|
578 | 578 | #if (YTPHY8531A_XTAL_INIT) |
---|
579 | 579 | ret = yt8531a_xtal_init(phydev); |
---|
.. | .. |
---|
591 | 591 | return ret; |
---|
592 | 592 | |
---|
593 | 593 | /* RXC, PHY_CLK_OUT and RXData Drive strength: |
---|
594 | | - * Drive strength of RXC = 4, PHY_CLK_OUT = 3, RXD0 = 4 (default) |
---|
595 | | - * If the io voltage is 3.3v, PHY_CLK_OUT = 2, set 0xa010 = 0x9acf |
---|
| 594 | + * Drive strength of RXC = 6, PHY_CLK_OUT = 3, RXD0 = 4 (default 1.8v) |
---|
| 595 | + * If the io voltage is 3.3v, PHY_CLK_OUT = 2, set 0xa010 = 0xdacf |
---|
596 | 596 | */ |
---|
597 | | - ret = ytphy_write_ext(phydev, 0xa010, 0x9bcf); |
---|
| 597 | + ret = ytphy_write_ext(phydev, 0xa010, 0xdbcf); |
---|
| 598 | + if (ret < 0) |
---|
| 599 | + return ret; |
---|
| 600 | + |
---|
| 601 | + /* Change 100M default BGS voltage from 0x294c to 0x274c */ |
---|
| 602 | + val = ytphy_read_ext(phydev, 0x57); |
---|
| 603 | + val = (val & ~(0xf << 8)) | (7 << 8); |
---|
| 604 | + ret = ytphy_write_ext(phydev, 0x57, val); |
---|
598 | 605 | if (ret < 0) |
---|
599 | 606 | return ret; |
---|
600 | 607 | |
---|