[U-Boot] [PATCH] driver: net: ldpaa_eth: Add PHY-less SGMII support
Ashish Kumar
Ashish.Kumar at nxp.com
Mon Nov 6 09:09:58 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>
---
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