[U-Boot] [Patch v2 1/2] driver: net: ldpaa_eth: Add PHY-less SGMII support

Ashish Kumar Ashish.Kumar at nxp.com
Mon Nov 13 09:37:34 UTC 2017


In case of PHY-less mode, there is no interaction with PHY
so auto-neg etc is not required and link will have fixed
attributes

Signed-off-by: Ashish Kumar <Ashish.Kumar at nxp.com>
Signed-off-by: Prabhakar Kushwaha <prabhakar.kushwaha at nxp.com>
---
v2:
Add dependent patch set

 drivers/net/ldpaa_eth/ldpaa_eth.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ldpaa_eth/ldpaa_eth.c b/drivers/net/ldpaa_eth/ldpaa_eth.c
index 21be79a..85e7faa 100644
--- a/drivers/net/ldpaa_eth/ldpaa_eth.c
+++ b/drivers/net/ldpaa_eth/ldpaa_eth.c
@@ -440,12 +440,17 @@ static int ldpaa_eth_open(struct eth_device *net_dev, bd_t *bd)
 	bus = wriop_get_mdio(priv->dpmac_id);
 	enet_if = wriop_get_enet_if(priv->dpmac_id);
 	if ((bus == NULL) &&
-	    (enet_if == PHY_INTERFACE_MODE_XGMII)) {
+	   ((enet_if == PHY_INTERFACE_MODE_XGMII) ||
+	   (enet_if == PHY_INTERFACE_MODE_SGMII))) {
 		priv->phydev = (struct phy_device *)
 				malloc(sizeof(struct phy_device));
 		memset(priv->phydev, 0, sizeof(struct phy_device));
 
-		priv->phydev->speed = SPEED_10000;
+		if (enet_if == PHY_INTERFACE_MODE_XGMII)
+			priv->phydev->speed = SPEED_10000;
+		else
+			priv->phydev->speed = SPEED_1000;
+
 		priv->phydev->link = 1;
 		priv->phydev->duplex = DUPLEX_FULL;
 	}
-- 
2.7.4



More information about the U-Boot mailing list