MLK-17093 imx8qm/qxp: enable control bit for RGMII interface RX clock delay
authorFugang Duan <fugang.duan@nxp.com>
Thu, 7 Dec 2017 01:42:24 +0000 (09:42 +0800)
committerFugang Duan <fugang.duan@nxp.com>
Fri, 8 Dec 2017 01:40:42 +0000 (09:40 +0800)
Due to RGMII interface timing requirement for imx8qm/qxp mek and arm2
board, it needs to enable RX clock delay.

It should not depend on HW default status since kernel may clear the
bit only on imx8qm/qxp platforms, then reboot test will cause uboot
networking failed.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
board/freescale/imx8qm_arm2/imx8qm_arm2.c
board/freescale/imx8qm_mek/imx8qm_mek.c
board/freescale/imx8qxp_arm2/imx8qxp_arm2.c
board/freescale/imx8qxp_mek/imx8qxp_mek.c

index 20ec7e0..1b730f8 100644 (file)
@@ -366,6 +366,8 @@ int board_phy_config(struct phy_device *phydev)
        phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x1f);
        phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x8);
 
+       phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x00);
+       phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x82ee);
        phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x05);
        phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x100);
 
index 794404e..d4d08ea 100644 (file)
@@ -184,6 +184,8 @@ int board_phy_config(struct phy_device *phydev)
        phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x1f);
        phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x8);
 
+       phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x00);
+       phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x82ee);
        phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x05);
        phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x100);
 
index ce1bba3..362957d 100644 (file)
@@ -333,6 +333,8 @@ int board_phy_config(struct phy_device *phydev)
        phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x1f);
        phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x8);
 
+       phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x00);
+       phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x82ee);
        phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x05);
        phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x100);
 
index 79bec62..b17ade2 100644 (file)
@@ -318,6 +318,8 @@ int board_phy_config(struct phy_device *phydev)
        phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x1f);
        phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x8);
 
+       phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x00);
+       phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x82ee);
        phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x05);
        phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x100);