From mboxrd@z Thu Jan 1 00:00:00 1970 From: Simon Guinot Date: Wed, 16 Nov 2011 11:32:22 +0100 Subject: [U-Boot] [PATCH v2] netspace_v2: Read Ethernet MAC address from EEPROM In-Reply-To: <1320787874-4382-1-git-send-email-simon@sequanux.org> References: <1320787874-4382-1-git-send-email-simon@sequanux.org> Message-ID: <20111116103222.GG29864@kw.sim.vm.gnt> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Prafulla, On Tue, Nov 08, 2011 at 10:31:14PM +0100, Simon Guinot wrote: > From: Simon Guinot > > Signed-off-by: Simon Guinot > --- > > Changes in v2: > - fix asm-offsets.s removal > - make MAC address setup conditional to CONFIG_SYS_I2C_EEPROM_ADDR > > board/LaCie/netspace_v2/netspace_v2.c | 43 +++++++++++++++++++++++++++++++++ > include/configs/netspace_v2.h | 1 + > 2 files changed, 44 insertions(+), 0 deletions(-) Do you want me for some other modifications on this patch ? Regards, Simon > > diff --git a/board/LaCie/netspace_v2/netspace_v2.c b/board/LaCie/netspace_v2/netspace_v2.c > index 7c4b15e..6938a43 100644 > --- a/board/LaCie/netspace_v2/netspace_v2.c > +++ b/board/LaCie/netspace_v2/netspace_v2.c > @@ -24,6 +24,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -89,6 +90,48 @@ int board_init(void) > return 0; > } > > +int misc_init_r(void) > +{ > +#if defined(CONFIG_CMD_I2C) && defined(CONFIG_SYS_I2C_EEPROM_ADDR) > + if (!getenv("ethaddr")) { > + ushort version; > + uchar mac[6]; > + int ret; > + > + /* I2C-0 for on-board EEPROM */ > + i2c_set_bus_num(0); > + > + /* Check layout version for EEPROM data */ > + ret = i2c_read(CONFIG_SYS_I2C_EEPROM_ADDR, 0, > + CONFIG_SYS_I2C_EEPROM_ADDR_LEN, > + (uchar *) &version, 2); > + if (ret != 0) { > + printf("Error: failed to read I2C EEPROM @%02x\n", > + CONFIG_SYS_I2C_EEPROM_ADDR); > + return ret; > + } > + version = be16_to_cpu(version); > + if (version < 1 || version > 3) { > + printf("Error: unknown version %d for EEPROM data\n", > + version); > + return -1; > + } > + > + /* Read Ethernet MAC address from EEPROM */ > + ret = i2c_read(CONFIG_SYS_I2C_EEPROM_ADDR, 2, > + CONFIG_SYS_I2C_EEPROM_ADDR_LEN, mac, 6); > + if (ret != 0) { > + printf("Error: failed to read I2C EEPROM @%02x\n", > + CONFIG_SYS_I2C_EEPROM_ADDR); > + return ret; > + } > + eth_setenv_enetaddr("ethaddr", mac); > + } > +#endif /* CONFIG_CMD_I2C && CONFIG_SYS_I2C_EEPROM_ADDR */ > + > + return 0; > +} > + > void mv_phy_88e1116_init(char *name) > { > u16 reg; > diff --git a/include/configs/netspace_v2.h b/include/configs/netspace_v2.h > index bb27ed7..1ddf4b4 100644 > --- a/include/configs/netspace_v2.h > +++ b/include/configs/netspace_v2.h > @@ -87,6 +87,7 @@ > * Ethernet Driver configuration > */ > #ifdef CONFIG_CMD_NET > +#define CONFIG_MISC_INIT_R /* Call misc_init_r() to initialize MAC address */ > #define CONFIG_MVGBE_PORTS {1, 0} /* enable port 0 only */ > #define CONFIG_NETCONSOLE > #endif > -- > 1.7.5.1 > > _______________________________________________ > U-Boot mailing list > U-Boot at lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 198 bytes Desc: Digital signature Url : http://lists.denx.de/pipermail/u-boot/attachments/20111116/1b06a305/attachment.pgp