[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0A1FE637C2C7E148B9573BB60CC630E5711B54@zch01exm26.fsl.freescale.net>
Date: Fri, 15 Jan 2010 10:49:37 +0800
From: "Liu Yu-B13201" <B13201@...escale.com>
To: "Kumar Gala" <galak@...nel.crashing.org>
Cc: <davem@...emloft.net>, <linuxppc-dev@...ts.ozlabs.org>,
<netdev@...r.kernel.org>
Subject: RE: [PATCH 4/4] phy: add RTBI mode for m88e1111
> -----Original Message-----
> From: Kumar Gala [mailto:galak@...nel.crashing.org]
> Sent: Friday, January 15, 2010 12:20 AM
> To: Liu Yu-B13201
> Cc: davem@...emloft.net; linuxppc-dev@...ts.ozlabs.org;
> netdev@...r.kernel.org
> Subject: Re: [PATCH 4/4] phy: add RTBI mode for m88e1111
>
>
> On Jan 14, 2010, at 2:13 AM, Liu Yu wrote:
>
> > Signed-off-by: Liu Yu <yu.liu@...escale.com>
> > ---
> > drivers/net/phy/marvell.c | 38
> ++++++++++++++++++++++++++++++++++++++
> > 1 files changed, 38 insertions(+), 0 deletions(-)
> >
> > diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
> > index 6f69b9b..65ed385 100644
> > --- a/drivers/net/phy/marvell.c
> > +++ b/drivers/net/phy/marvell.c
> > @@ -63,6 +63,7 @@
> > #define MII_M1111_HWCFG_MODE_COPPER_RGMII 0xb
> > #define MII_M1111_HWCFG_MODE_FIBER_RGMII 0x3
> > #define MII_M1111_HWCFG_MODE_SGMII_NO_CLK 0x4
> > +#define MII_M1111_HWCFG_MODE_COPPER_RTBI 0x9
> > #define MII_M1111_HWCFG_FIBER_COPPER_AUTO 0x8000
> > #define MII_M1111_HWCFG_FIBER_COPPER_RES 0x2000
> >
> > @@ -269,6 +270,43 @@ static int m88e1111_config_init(struct
> phy_device *phydev)
> > return err;
> > }
> >
> > + if (phydev->interface == PHY_INTERFACE_MODE_RTBI) {
> > + temp = phy_read(phydev, MII_M1111_PHY_EXT_CR);
> > + if (temp < 0)
> > + return temp;
> > + temp |= (MII_M1111_RX_DELAY | MII_M1111_TX_DELAY);
> > + err = phy_write(phydev, MII_M1111_PHY_EXT_CR, temp);
> > + if (err < 0)
> > + return err;
> > +
> > + temp = phy_read(phydev, MII_M1111_PHY_EXT_SR);
> > + if (temp < 0)
> > + return temp;
> > + temp &= ~(MII_M1111_HWCFG_MODE_MASK |
> MII_M1111_HWCFG_FIBER_COPPER_RES);
> > + temp |= 0x7 | MII_M1111_HWCFG_FIBER_COPPER_AUTO;
>
> Does this magic 0x7 have some meaning?
>
Hrr... it's GMII to fibre mode.
Document 88E1111_erata_RevB2 chapter 4.35 describ the reason.
Without this sometimes phys couldnot work.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists