[U-Boot] [PATCH] driver: net: ldpaa_eth: Add PHY-less SGMII support
York Sun
york.sun at nxp.com
Wed Nov 8 20:37:28 UTC 2017
On 11/06/2017 01:09 AM, Ashish Kumar wrote:
> 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;
> }
>
How was this patch tested?
A little off-topic. I remember a similar discussion somewhere (maybe
internal) for PowerPC-based boards regarding fixed SGMII port. When the
port doesn't have a PHY, it fails due to PHY id check. I don't find the
change in U-Boot code. Does anyone remember it?
York
More information about the U-Boot
mailing list