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

Sascha Hauer s.hauer at pengutronix.de
Mon Aug 16 04:45:06 EDT 2010


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.

Sascha

> 
> 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;
>  }
> -- 
> 1.7.1
> 
> 
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list