[U-Boot] [RFC] Support for SGMII 2500
Bhaskar Upadhaya
bhaskar.upadhaya at nxp.com
Tue Nov 28 07:27:17 UTC 2017
+ Anji, Calvin, Prabhakar, Poonam.
-----Original Message-----
From: Madalin-cristian Bucur
Sent: Tuesday, November 28, 2017 12:56 PM
To: Andrew Lunn <andrew at lunn.ch>; f.fainelli at gmail.com; netdev at vger.kernel.org
Cc: Bhaskar Upadhaya <bhaskar.upadhaya at nxp.com>; Shengzhou Liu <shengzhou.liu at nxp.com>; York Sun <york.sun at nxp.com>; u-boot at lists.denx.de
Subject: [RFC] Support for SGMII 2500
Hi,
There is a disconnect between the SGMII 2500 support in u-boot and Linux.
Bhaskar is trying to add support for a SGMII interface working at 2.5Gbps by using the PHY connection type "sgmii-2500" in the device tree:
phy-connection-type = "sgmii-2500";
This is supported by u-boot, in include/phy.h:
typedef enum {
PHY_INTERFACE_MODE_MII,
PHY_INTERFACE_MODE_GMII,
PHY_INTERFACE_MODE_SGMII,
PHY_INTERFACE_MODE_SGMII_2500,
...
static const char *phy_interface_strings[] = {
[PHY_INTERFACE_MODE_MII] = "mii",
[PHY_INTERFACE_MODE_GMII] = "gmii",
[PHY_INTERFACE_MODE_SGMII] = "sgmii",
[PHY_INTERFACE_MODE_SGMII_2500] = "sgmii-2500",
...
since this commit:
commit c35f8693942d8284c635592f263a0fe11abe1d1d
Author: Shengzhou Liu <Shengzhou.Liu at freescale.com>
Date: Thu Oct 23 17:20:57 2014 +0800
net/fm: add 2.5G SGMII support
As auto-negotiation is not supported for 2.5G SGMII, we need
to add a new type PHY_INTERFACE_MODE_SGMII_2500 to differentiate
SGMII-1G and SGMII-2.5G with different setting for auto-negotiation.
Signed-off-by: Shaohui Xie <Shaohui.Xie at freescale.com>
Signed-off-by: Shengzhou Liu <Shengzhou.Liu at freescale.com>
Reviewed-by: York Sun <yorksun at freescale.com>
In the Linux kernel we do not have a separate define for SGMII_2500, should we add something like the change below?
Thanks,
Madalin
---
diff --git a/include/linux/phy.h b/include/linux/phy.h index dc82a07..086f7a3 100644
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -68,6 +68,7 @@ typedef enum {
PHY_INTERFACE_MODE_MII,
PHY_INTERFACE_MODE_GMII,
PHY_INTERFACE_MODE_SGMII,
+ PHY_INTERFACE_MODE_SGMII_2500,
PHY_INTERFACE_MODE_TBI,
PHY_INTERFACE_MODE_REVMII,
PHY_INTERFACE_MODE_RMII,
@@ -123,6 +124,8 @@ static inline const char *phy_modes(phy_interface_t interface)
return "gmii";
case PHY_INTERFACE_MODE_SGMII:
return "sgmii";
+ case PHY_INTERFACE_MODE_SGMII_2500:
+ return "sgmii-2500";
case PHY_INTERFACE_MODE_TBI:
return "tbi";
case PHY_INTERFACE_MODE_REVMII:
More information about the U-Boot
mailing list