mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-28 18:11:33 +00:00
phy: atheros: add support for RGMII_ID, RGMII_TXID and RGMII_RXID
This adds support for internal delay on RX and TX on RGMII interface for the AR8035 phy. This is basically the same Linux driver do. Tested on a Zynq Zturn board (for which u-boot support in is my tree; first patch waiting ML approval) Signed-off-by: Andrea Merello <andrea.merello@gmail.com> Reviewed-by: Marek Vasut <marex@denx.de> Acked-by: Marek Vasut <marex@denx.de> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
This commit is contained in:
parent
5ebd27d860
commit
2ec4d10b65
1 changed files with 16 additions and 0 deletions
|
@ -31,6 +31,22 @@ static int ar8035_config(struct phy_device *phydev)
|
|||
regval = phy_read(phydev, MDIO_DEVAD_NONE, 0x1e);
|
||||
phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, (regval|0x0100));
|
||||
|
||||
if ((phydev->interface == PHY_INTERFACE_MODE_RGMII_ID) ||
|
||||
(phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID)) {
|
||||
/* select debug reg 5 */
|
||||
phy_write(phydev, MDIO_DEVAD_NONE, 0x1D, 0x5);
|
||||
/* enable tx delay */
|
||||
phy_write(phydev, MDIO_DEVAD_NONE, 0x1E, 0x0100);
|
||||
}
|
||||
|
||||
if ((phydev->interface == PHY_INTERFACE_MODE_RGMII_ID) ||
|
||||
(phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID)) {
|
||||
/* select debug reg 0 */
|
||||
phy_write(phydev, MDIO_DEVAD_NONE, 0x1D, 0x0);
|
||||
/* enable rx delay */
|
||||
phy_write(phydev, MDIO_DEVAD_NONE, 0x1E, 0x8000);
|
||||
}
|
||||
|
||||
phydev->supported = phydev->drv->features;
|
||||
|
||||
genphy_config_aneg(phydev);
|
||||
|
|
Loading…
Add table
Reference in a new issue