Add support to detect RGMII link interface from link-interface
device tree entry. Also rename the existing link type enums so
that it provides meaning full interface like SGMII.

Signed-off-by: Mugunthan V N <mugunthan...@ti.com>
---

Without this support there is a crash in K2G EVM tftp boot [1].
Verified this with tftp download on K2G EVM [2]

[1] - http://pastebin.ubuntu.com/23474751/
[2] - http://pastebin.ubuntu.com/23474748/

---
 drivers/net/keystone_net.c | 23 +++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

diff --git a/drivers/net/keystone_net.c b/drivers/net/keystone_net.c
index f88d83e727..a5120e01ad 100644
--- a/drivers/net/keystone_net.c
+++ b/drivers/net/keystone_net.c
@@ -56,13 +56,16 @@ struct rx_buff_desc net_rx_buffs = {
 #ifdef CONFIG_DM_ETH
 
 enum link_type {
-       LINK_TYPE_MAC_TO_MAC_AUTO = 0,
-       LINK_TYPE_MAC_TO_PHY_MODE = 1,
-       LINK_TYPE_MAC_TO_MAC_FORCED_MODE = 2,
-       LINK_TYPE_MAC_TO_FIBRE_MODE = 3,
-       LINK_TYPE_MAC_TO_PHY_NO_MDIO_MODE = 4,
-       LINK_TYPE_10G_MAC_TO_PHY_MODE = 10,
-       LINK_TYPE_10G_MAC_TO_MAC_FORCED_MODE = 11,
+       LINK_TYPE_SGMII_MAC_TO_MAC_AUTO         = 0,
+       LINK_TYPE_SGMII_MAC_TO_PHY_MODE         = 1,
+       LINK_TYPE_SGMII_MAC_TO_MAC_FORCED_MODE  = 2,
+       LINK_TYPE_SGMII_MAC_TO_FIBRE_MODE       = 3,
+       LINK_TYPE_SGMII_MAC_TO_PHY_NO_MDIO_MODE = 4,
+       LINK_TYPE_RGMII_LINK_MAC_PHY            = 5,
+       LINK_TYPE_RGMII_LINK_MAC_MAC_FORCED     = 6,
+       LINK_TYPE_RGMII_LINK_MAC_PHY_NO_MDIO    = 7,
+       LINK_TYPE_10G_MAC_TO_PHY_MODE           = 10,
+       LINK_TYPE_10G_MAC_TO_MAC_FORCED_MODE    = 11,
 };
 
 #define mac_hi(mac)     (((mac)[0] << 0) | ((mac)[1] << 8) |    \
@@ -1077,11 +1080,15 @@ static int ks2_eth_parse_slave_interface(int netcp, int 
slave,
                priv->mdio_base = (void *)fdtdec_get_addr(fdt, mdio, "reg");
        }
 
-       if (priv->link_type == LINK_TYPE_MAC_TO_PHY_MODE) {
+       if (priv->link_type == LINK_TYPE_SGMII_MAC_TO_PHY_MODE) {
                priv->phy_if = PHY_INTERFACE_MODE_SGMII;
                pdata->phy_interface = priv->phy_if;
                priv->sgmii_link_type = SGMII_LINK_MAC_PHY;
                priv->has_mdio = true;
+       } else if (priv->link_type == LINK_TYPE_RGMII_LINK_MAC_PHY) {
+               priv->phy_if = PHY_INTERFACE_MODE_RGMII;
+               pdata->phy_interface = priv->phy_if;
+               priv->has_mdio = true;
        }
 
        return 0;
-- 
2.11.0.rc0.7.gbe5a750

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to