[PATCH 5/5] fec: add support for IIM stored mac address

Baruch Siach baruch at tkos.co.il
Mon Aug 16 04:52:54 EDT 2010


Hi Sascha,

On Mon, Aug 16, 2010 at 10:45:06AM +0200, Sascha Hauer wrote:
> On Sun, Aug 15, 2010 at 04:39:28PM +0300, Baruch Siach wrote:
> > This patch adds support for i.MX25 only, because that's what I have. Extending
> > this to other i.MX chip should be trivial, given the right IIM_MAC_ADDR define.
> 
> This needs to be ifdeffed because this define is not present for
> !i.MX25.

OK. I hoped we can avoid the ugly ifdef, but, obviously, this is not possible 
here.

baruch

> > Signed-off-by: Baruch Siach <baruch at tkos.co.il>
> > ---
> >  arch/arm/mach-imx/include/mach/imx25-regs.h |    1 +
> >  drivers/net/fec_imx.c                       |   11 +++++++++++
> >  2 files changed, 12 insertions(+), 0 deletions(-)
> > 
> > diff --git a/arch/arm/mach-imx/include/mach/imx25-regs.h b/arch/arm/mach-imx/include/mach/imx25-regs.h
> > index f8908f2..ddd3e04 100644
> > --- a/arch/arm/mach-imx/include/mach/imx25-regs.h
> > +++ b/arch/arm/mach-imx/include/mach/imx25-regs.h
> > @@ -142,6 +142,7 @@
> >  
> >  /* IIM fuse definitions */
> >  #define IIM_UID		0x820
> > +#define IIM_MAC_ADDR	0x868
> >  
> >  #define IIM_BANK_SIZE	32	/* excluding alignment padding for each row */
> >  #define IIM_BANK0_BASE	(IMX_IIM_BASE + 0x800)
> > diff --git a/drivers/net/fec_imx.c b/drivers/net/fec_imx.c
> > index 40a7543..c29119c 100644
> > --- a/drivers/net/fec_imx.c
> > +++ b/drivers/net/fec_imx.c
> > @@ -32,6 +32,7 @@
> >  #include <mach/imx-regs.h>
> >  #include <clock.h>
> >  #include <mach/clock.h>
> > +#include <mach/generic.h>
> >  #include <xfuncs.h>
> >  
> >  #include "fec_imx.h"
> > @@ -235,6 +236,16 @@ static void fec_rbd_clean(int last, struct buffer_descriptor *pRbd)
> >  
> >  static int fec_get_hwaddr(struct eth_device *dev, unsigned char *mac)
> >  {
> > +	int i;
> > +
> > +	if (cpu_is_mx25()) {
> > +		/* get MAC address from the IMM fusebox */
> > +		for (i = 0; i < 6; i++)
> > +			mac[i] = readb(IMX_IIM_BASE + IIM_MAC_ADDR + i*4);
> > +
> > +		return 0;
> > +	}
> > +
> >  	/* no eeprom */
> >  	return -1;
> >  }

-- 
                                                     ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -



More information about the barebox mailing list