+ Anji, Calvin, Prabhakar, Poonam.

-----Original Message-----
From: Madalin-cristian Bucur 
Sent: Tuesday, November 28, 2017 12:56 PM
To: Andrew Lunn <and...@lunn.ch>; f.faine...@gmail.com; net...@vger.kernel.org
Cc: Bhaskar Upadhaya <bhaskar.upadh...@nxp.com>; Shengzhou Liu 
<shengzhou....@nxp.com>; York Sun <york....@nxp.com>; u-boot@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....@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....@freescale.com>
            Signed-off-by: Shengzhou Liu <shengzhou....@freescale.com>
            Reviewed-by: York Sun <york...@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

Reply via email to