[PATCH 4/4] phy: add RTBI mode for m88e1111

Liu Yu-B13201 B13201 at freescale.com
Fri Jan 15 13:49:37 EST 2010


 

> -----Original Message-----
> From: Kumar Gala [mailto:galak at kernel.crashing.org] 
> Sent: Friday, January 15, 2010 12:20 AM
> To: Liu Yu-B13201
> Cc: davem at davemloft.net; linuxppc-dev at lists.ozlabs.org; 
> netdev at vger.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 at freescale.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.


More information about the Linuxppc-dev mailing list