[U-Boot] [PATCH 2/2] usb: eth: smsc95xx: Add EEPROM access support

Alban Bedel alban.bedel at avionic-design.de
Tue Oct 7 15:35:40 CEST 2014


On Tue, 7 Oct 2014 14:22:09 +0200
Pavel Machek <pavel at denx.de> wrote:

> On Tue 2014-10-07 11:19:37, Alban Bedel wrote:
> > Use the new ethernet eeprom API to allow the user to read/write the
> > EEPROM.
> > 
> > Change-Id: I21233b6ee805a75bd8a03ca12e22c41421b7629c
> > Signed-off-by: Alban Bedel <alban.bedel at avionic-design.de>
> > ---
> >  drivers/usb/eth/smsc95xx.c | 199 +++++++++++++++++++++++++++++++++++++++++++--
> >  1 file changed, 192 insertions(+), 7 deletions(-)
> > 
> > diff --git a/drivers/usb/eth/smsc95xx.c b/drivers/usb/eth/smsc95xx.c
> > index 6bca34d..eb29565 100644
> > --- a/drivers/usb/eth/smsc95xx.c
> > +++ b/drivers/usb/eth/smsc95xx.c
> > @@ -59,6 +59,8 @@
> >  
> >  #define E2P_CMD				0x30
> >  #define E2P_CMD_BUSY_			0x80000000
> > +#define E2P_CMD_EWEN_			0x20000000
> > +#define E2P_CMD_WRITE_			0x30000000
> >  #define E2P_CMD_READ_			0x00000000
> >  #define E2P_CMD_TIMEOUT_		0x00000400
> >  #define E2P_CMD_LOADED_			0x00000200
> > @@ -146,6 +148,131 @@ struct smsc95xx_private {
> >  	int have_hwaddr;  /* 1 if we have a hardware MAC address */
> >  };
> >  
> > +#ifdef CONFIG_CMD_ETH_EEPROM
> 
> Is this layout common for all machines using this driver? If not, is
> it worth comment which machine is it?

These are supposed to be the same values as would be used by the
controller when the eeprom is not programmed. So they are not machine
specific, however it is specific to the LAN9514, looking at the
datasheet for the LAN9500 the eeprom layout is different.

Then I'll submit a new version that use per chip defaults, as well
as allowing the board file to override the default data.

> > +static u8 eeprom_defaults[] = {
> > +	/* 0x00 */
> > +	0xA5,		/* Signature */
> > +	0xFF, 0xFF,	/* MAC bytes 0-1 */
> > +	0xFF, 0xFF,	/* MAC bytes 2-3 */
> > +	0xFF, 0xFF,	/* MAC bytes 4-5 */
> 
> Normally, we use all zeros for unset...?

That's what the controller use when the EEPROM hasn't been programmed,
but I'll change it to all 0.

Alban

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20141007/19b1b18a/attachment.pgp>


More information about the U-Boot mailing list