[U-Boot] [PATCH] driver: net: ldpaa_eth: Add PHY-less SGMII support

Ashish Kumar ashish.kumar at nxp.com
Thu Nov 9 05:16:26 UTC 2017


-----Original Message-----
From: York Sun 
Sent: Thursday, November 09, 2017 2:07 AM
To: Ashish Kumar <ashish.kumar at nxp.com>; u-boot at lists.denx.de
Cc: joe.hershberger at ni.com; Prabhakar Kushwaha <prabhakar.kushwaha at nxp.com>
Subject: Re: [PATCH] driver: net: ldpaa_eth: Add PHY-less SGMII support

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?

>It can be tested with PHY-less SGMII riser cards after adding patches attached. 
>With the existing Riser card, which are PHY enabled, the test is that PHYs are not configured by adding these to patches.

>Do you suggest to add these patches in upstream?

Regards
Ashish

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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-armv8-ls1088-introduce-CONFIG_SGMII_PHYLIB.patch
Type: application/octet-stream
Size: 1184 bytes
Desc: 0001-armv8-ls1088-introduce-CONFIG_SGMII_PHYLIB.patch
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171109/09b9f7cb/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-ls1088aqds-Add-CONFIG_SGMII_PHYLIB-in-header-file-fo.patch
Type: application/octet-stream
Size: 1179 bytes
Desc: 0002-ls1088aqds-Add-CONFIG_SGMII_PHYLIB-in-header-file-fo.patch
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171109/09b9f7cb/attachment-0001.obj>


More information about the U-Boot mailing list