Message ID | 1452759839-9874-1-git-send-email-shh.xie@gmail.com |
---|---|
State | Changes Requested, archived |
Headers | show |
On Thu, Jan 14, 2016 at 04:23:59PM +0800, shh.xie@gmail.com wrote: > From: Shaohui Xie <Shaohui.Xie@freescale.com> > > This commit adds necessary definitions for the PHY layer to recognize > backplane Ethernet 1000BASE-KX and 10GBASE-KR as valid PHY interfaces, > "1000base-kx" for 1000BASE-KX, "10gbase-kr" for 10GBASE-KR. > > Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com> > --- > changes in v2: > new patch. > > Documentation/devicetree/bindings/net/ethernet.txt | 4 ++-- > include/linux/phy.h | 6 ++++++ > 2 files changed, 8 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/net/ethernet.txt b/Documentation/devicetree/bindings/net/ethernet.txt > index 5d88f37..1166a5c 100644 > --- a/Documentation/devicetree/bindings/net/ethernet.txt > +++ b/Documentation/devicetree/bindings/net/ethernet.txt > @@ -11,8 +11,8 @@ The following properties are common to the Ethernet controllers: > the maximum frame size (there's contradiction in ePAPR). > - phy-mode: string, operation mode of the PHY interface; supported values are > "mii", "gmii", "sgmii", "qsgmii", "tbi", "rev-mii", "rmii", "rgmii", "rgmii-id", > - "rgmii-rxid", "rgmii-txid", "rtbi", "smii", "xgmii"; this is now a de-facto > - standard property; > + "rgmii-rxid", "rgmii-txid", "rtbi", "smii", "xgmii", "1000base-kx", "10gbase-kr"; > + this is now a de-facto standard property; I know very little about this, so i'm just asking a question. None of the other interface modes contain a bit rate. So is the bit rate needed for your two new modes? With a bit of googling, K means copper backplane, X means 4B/5B and R means 64B/66B. Could there be a 10Gbps KX? a 1GBps KR? Do we actually need the speed here, or is kx and kr sufficient? Thanks Andrew -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
> -----Original Message----- > From: Andrew Lunn [mailto:andrew@lunn.ch] > Sent: Friday, January 15, 2016 12:44 AM > To: shh.xie@gmail.com > Cc: devicetree@vger.kernel.org; netdev@vger.kernel.org; linuxppc- > dev@lists.ozlabs.org; f.fainelli@gmail.com; davem@davemloft.net; Shaohui Xie > Subject: Re: [PATCH 1/3][v2] net: phy: introduce 1000BASE-KX and 10GBASE-KR > > On Thu, Jan 14, 2016 at 04:23:59PM +0800, shh.xie@gmail.com wrote: > > From: Shaohui Xie <Shaohui.Xie@freescale.com> > > > > This commit adds necessary definitions for the PHY layer to recognize > > backplane Ethernet 1000BASE-KX and 10GBASE-KR as valid PHY interfaces, > > "1000base-kx" for 1000BASE-KX, "10gbase-kr" for 10GBASE-KR. > > > > Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com> > > --- > > changes in v2: > > new patch. > > > > Documentation/devicetree/bindings/net/ethernet.txt | 4 ++-- > > include/linux/phy.h | 6 ++++++ > > 2 files changed, 8 insertions(+), 2 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/net/ethernet.txt > > b/Documentation/devicetree/bindings/net/ethernet.txt > > index 5d88f37..1166a5c 100644 > > --- a/Documentation/devicetree/bindings/net/ethernet.txt > > +++ b/Documentation/devicetree/bindings/net/ethernet.txt > > @@ -11,8 +11,8 @@ The following properties are common to the Ethernet > controllers: > > the maximum frame size (there's contradiction in ePAPR). > > - phy-mode: string, operation mode of the PHY interface; supported values are > > "mii", "gmii", "sgmii", "qsgmii", "tbi", "rev-mii", "rmii", > > "rgmii", "rgmii-id", > > - "rgmii-rxid", "rgmii-txid", "rtbi", "smii", "xgmii"; this is now a > > de-facto > > - standard property; > > + "rgmii-rxid", "rgmii-txid", "rtbi", "smii", "xgmii", "1000base-kx", > > + "10gbase-kr"; this is now a de-facto standard property; > > I know very little about this, so i'm just asking a question. None of the other > interface modes contain a bit rate. So is the bit rate needed for your two new > modes? > > With a bit of googling, K means copper backplane, X means 4B/5B and R means > 64B/66B. Could there be a 10Gbps KX? a 1GBps KR? Do we actually need the speed > here, or is kx and kr sufficient? Hello Andrew, 1000BASE-KX and 10GBASE-KR are terms in IEEE802.3, so as XGMII and GMII. There are interfaces could be different bit rates but same types, e.g. 100BASE-LX10 and 1000BASE-LX10, or 40GBASE-KR4 and 100GBASE-KR4, having bit rate is clear to represent hardware. Thank you! Shaohui -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 15.01.2016 05:01, Shaohui Xie wrote: >> -----Original Message----- >> From: Andrew Lunn [mailto:andrew@lunn.ch] >> Sent: Friday, January 15, 2016 12:44 AM >> To: shh.xie@gmail.com >> Cc: devicetree@vger.kernel.org; netdev@vger.kernel.org; linuxppc- >> dev@lists.ozlabs.org; f.fainelli@gmail.com; davem@davemloft.net; Shaohui Xie >> Subject: Re: [PATCH 1/3][v2] net: phy: introduce 1000BASE-KX and 10GBASE-KR >> >> On Thu, Jan 14, 2016 at 04:23:59PM +0800, shh.xie@gmail.com wrote: >>> From: Shaohui Xie <Shaohui.Xie@freescale.com> >>> >>> This commit adds necessary definitions for the PHY layer to recognize >>> backplane Ethernet 1000BASE-KX and 10GBASE-KR as valid PHY interfaces, >>> "1000base-kx" for 1000BASE-KX, "10gbase-kr" for 10GBASE-KR. >>> >>> Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com> >>> --- >>> changes in v2: >>> new patch. Shaohui, it would be more useful to describe _what_ is new here compared to v1. Anyway: >>> Documentation/devicetree/bindings/net/ethernet.txt | 4 ++-- >>> include/linux/phy.h | 6 ++++++ >>> 2 files changed, 8 insertions(+), 2 deletions(-) >>> >>> diff --git a/Documentation/devicetree/bindings/net/ethernet.txt >>> b/Documentation/devicetree/bindings/net/ethernet.txt >>> index 5d88f37..1166a5c 100644 >>> --- a/Documentation/devicetree/bindings/net/ethernet.txt >>> +++ b/Documentation/devicetree/bindings/net/ethernet.txt >>> @@ -11,8 +11,8 @@ The following properties are common to the Ethernet >> controllers: >>> the maximum frame size (there's contradiction in ePAPR). >>> - phy-mode: string, operation mode of the PHY interface; supported values are >>> "mii", "gmii", "sgmii", "qsgmii", "tbi", "rev-mii", "rmii", >>> "rgmii", "rgmii-id", >>> - "rgmii-rxid", "rgmii-txid", "rtbi", "smii", "xgmii"; this is now a >>> de-facto >>> - standard property; >>> + "rgmii-rxid", "rgmii-txid", "rtbi", "smii", "xgmii", "1000base-kx", >>> + "10gbase-kr"; this is now a de-facto standard property; >> >> I know very little about this, so i'm just asking a question. None of the other >> interface modes contain a bit rate. So is the bit rate needed for your two new >> modes? > > 1000BASE-KX and 10GBASE-KR are terms in IEEE802.3, so as XGMII and GMII. > There are interfaces could be different bit rates but same types, > e.g. 100BASE-LX10 and 1000BASE-LX10, or 40GBASE-KR4 and 100GBASE-KR4, > having bit rate is clear to represent hardware. > If you look at the list of possible values for "phy-mode" you'd see that none of it describes a PHY-to-PHY connection but all are for MAC-to-PHY connections. Also, names above suggest it already: MII is short for media _independent_ interface. I copy Andrew's concerns and think that neither 10000base-kx nor 10gbase-kr belong in the list of phy-mode properties. Sebastian -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Le 15/01/2016 14:57, Sebastian Hesselbarth a écrit : > On 15.01.2016 05:01, Shaohui Xie wrote: >>> -----Original Message----- >>> From: Andrew Lunn [mailto:andrew@lunn.ch] >>> Sent: Friday, January 15, 2016 12:44 AM >>> To: shh.xie@gmail.com >>> Cc: devicetree@vger.kernel.org; netdev@vger.kernel.org; linuxppc- >>> dev@lists.ozlabs.org; f.fainelli@gmail.com; davem@davemloft.net; Shaohui Xie >>> Subject: Re: [PATCH 1/3][v2] net: phy: introduce 1000BASE-KX and 10GBASE-KR >>> >>> On Thu, Jan 14, 2016 at 04:23:59PM +0800, shh.xie@gmail.com wrote: >>>> From: Shaohui Xie <Shaohui.Xie@freescale.com> >>>> >>>> This commit adds necessary definitions for the PHY layer to recognize >>>> backplane Ethernet 1000BASE-KX and 10GBASE-KR as valid PHY interfaces, >>>> "1000base-kx" for 1000BASE-KX, "10gbase-kr" for 10GBASE-KR. >>>> >>>> Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com> >>>> --- >>>> changes in v2: >>>> new patch. > > Shaohui, > > it would be more useful to describe _what_ is new here compared to v1. > > Anyway: > >>>> Documentation/devicetree/bindings/net/ethernet.txt | 4 ++-- >>>> include/linux/phy.h | 6 ++++++ >>>> 2 files changed, 8 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/Documentation/devicetree/bindings/net/ethernet.txt >>>> b/Documentation/devicetree/bindings/net/ethernet.txt >>>> index 5d88f37..1166a5c 100644 >>>> --- a/Documentation/devicetree/bindings/net/ethernet.txt >>>> +++ b/Documentation/devicetree/bindings/net/ethernet.txt >>>> @@ -11,8 +11,8 @@ The following properties are common to the Ethernet >>> controllers: >>>> the maximum frame size (there's contradiction in ePAPR). >>>> - phy-mode: string, operation mode of the PHY interface; supported values are >>>> "mii", "gmii", "sgmii", "qsgmii", "tbi", "rev-mii", "rmii", >>>> "rgmii", "rgmii-id", >>>> - "rgmii-rxid", "rgmii-txid", "rtbi", "smii", "xgmii"; this is now a >>>> de-facto >>>> - standard property; >>>> + "rgmii-rxid", "rgmii-txid", "rtbi", "smii", "xgmii", "1000base-kx", >>>> + "10gbase-kr"; this is now a de-facto standard property; >>> >>> I know very little about this, so i'm just asking a question. None of the other >>> interface modes contain a bit rate. So is the bit rate needed for your two new >>> modes? >> >> 1000BASE-KX and 10GBASE-KR are terms in IEEE802.3, so as XGMII and GMII. >> There are interfaces could be different bit rates but same types, >> e.g. 100BASE-LX10 and 1000BASE-LX10, or 40GBASE-KR4 and 100GBASE-KR4, >> having bit rate is clear to represent hardware. >> > > If you look at the list of possible values for "phy-mode" you'd see that > none of it describes a PHY-to-PHY connection but all are for MAC-to-PHY > connections. Also, names above suggest it already: MII is short for > media _independent_ interface. > > I copy Andrew's concerns and think that neither 10000base-kx nor > 10gbase-kr belong in the list of phy-mode properties. I concur with that as well, if the phy connection does not really matter here, or does not seem like a good fit, maybe we should have a different property, or just define the hardware interface a little differently?
diff --git a/Documentation/devicetree/bindings/net/ethernet.txt b/Documentation/devicetree/bindings/net/ethernet.txt index 5d88f37..1166a5c 100644 --- a/Documentation/devicetree/bindings/net/ethernet.txt +++ b/Documentation/devicetree/bindings/net/ethernet.txt @@ -11,8 +11,8 @@ The following properties are common to the Ethernet controllers: the maximum frame size (there's contradiction in ePAPR). - phy-mode: string, operation mode of the PHY interface; supported values are "mii", "gmii", "sgmii", "qsgmii", "tbi", "rev-mii", "rmii", "rgmii", "rgmii-id", - "rgmii-rxid", "rgmii-txid", "rtbi", "smii", "xgmii"; this is now a de-facto - standard property; + "rgmii-rxid", "rgmii-txid", "rtbi", "smii", "xgmii", "1000base-kx", "10gbase-kr"; + this is now a de-facto standard property; - phy-connection-type: the same as "phy-mode" property but described in ePAPR; - phy-handle: phandle, specifies a reference to a node representing a PHY device; this property is described in ePAPR and so preferred; diff --git a/include/linux/phy.h b/include/linux/phy.h index d6f3641..7acecf7 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -80,6 +80,8 @@ typedef enum { PHY_INTERFACE_MODE_XGMII, PHY_INTERFACE_MODE_MOCA, PHY_INTERFACE_MODE_QSGMII, + PHY_INTERFACE_MODE_1000BASE_KX, + PHY_INTERFACE_MODE_10GBASE_KR, PHY_INTERFACE_MODE_MAX, } phy_interface_t; @@ -123,6 +125,10 @@ static inline const char *phy_modes(phy_interface_t interface) return "moca"; case PHY_INTERFACE_MODE_QSGMII: return "qsgmii"; + case PHY_INTERFACE_MODE_1000BASE_KX: + return "1000base-kx"; + case PHY_INTERFACE_MODE_10GBASE_KR: + return "10gbase-kr"; default: return "unknown"; }