Subject: [PATCH] ARM: i.MX6Q: Add fixup for RTL8211E Gigabit Ethernet PHY.

From: [email-masked] (Shawn Guo)
Date: Tue, 3 Mar 2015 10:57:01 +0800

On Wed, Feb 25, 2015 at 08:34:24PM +0100, Marc Kleine-Budde wrote:
> Adding alkml and Shawn on Cc.

@Andrey, can you please resend the patch to LAKML and copy me?

Shawn

> 
> Marc
> 
> On 02/25/2015 08:23 PM, Andrey Panov wrote:
> > RTL8211E Ethernet PHY found in Embedsky E9 board is need
> > an additional initialization.
> > Taken from vendor's binary-only module.
> > 
> > Signed-off-by: Andrey Panov <[email-masked]>
> > ---
> >  arch/arm/mach-imx/mach-imx6q.c | 14 ++++++++++++++
> >  1 file changed, 14 insertions(+)
> > 
> > diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c
> > index 4ad6e47..41708f5 100644
> > --- a/arch/arm/mach-imx/mach-imx6q.c
> > +++ b/arch/arm/mach-imx/mach-imx6q.c
> > @@ -166,6 +166,18 @@ static int ar8035_phy_fixup(struct phy_device *dev)
> >  
> >  #define PHY_ID_AR8035 0x004dd072
> >  
> > +static int rtl8211e_phy_fixup(struct phy_device *dev)
> > +{
> > +	phy_write(dev, 0x00, 0x3140);
> > +	mdelay(10);
> > +	phy_write(dev, 0x00, 0x3340);
> > +	mdelay(10);
> > +
> > +	return 0;
> > +}
> > +
> > +#define PHY_ID_RTL8211E 0x001cc915
> > +
> >  static void __init imx6q_enet_phy_init(void)
> >  {
> >  	if (IS_BUILTIN(CONFIG_PHYLIB)) {
> > @@ -177,6 +189,8 @@ static void __init imx6q_enet_phy_init(void)
> >  				ar8031_phy_fixup);
> >  		phy_register_fixup_for_uid(PHY_ID_AR8035, 0xffffffef,
> >  				ar8035_phy_fixup);
> > +		phy_register_fixup_for_uid(PHY_ID_RTL8211E, 0xffffffff,
> > +				rtl8211e_phy_fixup);
> >  	}
> >  }
> >  
> > 
> 
> 
> -- 
> Pengutronix e.K.                  | Marc Kleine-Budde           |
> Industrial Linux Solutions        | Phone: +49-231-2826-924     |
> Vertretung West/Dortmund          | Fax:   +49-5121-206917-5555 |
> Amtsgericht Hildesheim, HRA 2686  | http://www.pengutronix.de   |
>