netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC] Support for SGMII 2500
@ 2017-11-28  7:25 Madalin-cristian Bucur
  2017-11-28  7:27 ` Bhaskar Upadhaya
  2017-11-28 13:30 ` Andrew Lunn
  0 siblings, 2 replies; 8+ messages in thread
From: Madalin-cristian Bucur @ 2017-11-28  7:25 UTC (permalink / raw)
  To: Andrew Lunn, f.fainelli@gmail.com, netdev@vger.kernel.org
  Cc: u-boot@lists.denx.de, Bhaskar Upadhaya

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@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@freescale.com>
	    Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
	    Reviewed-by: York Sun <yorksun@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:
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-11-28 17:51 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-28  7:25 [RFC] Support for SGMII 2500 Madalin-cristian Bucur
2017-11-28  7:27 ` Bhaskar Upadhaya
2017-11-28  8:16   ` Prabhakar Kushwaha
2017-11-28 13:30 ` Andrew Lunn
2017-11-28 13:55   ` Madalin-cristian Bucur
2017-11-28 14:13     ` Andrew Lunn
2017-11-28 15:37       ` Madalin-cristian Bucur
2017-11-28 17:51         ` Florian Fainelli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).