All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tom <Tom.Rix@windriver.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v4 08/12] SPEAr : Support for HW mac id read/write from i2c mem
Date: Wed, 13 Jan 2010 07:27:39 -0600	[thread overview]
Message-ID: <4B4DCA4B.4030903@windriver.com> (raw)



This patch adds the  support to read and write mac id from i2c
memory.
For reading:
	if (env contains ethaddr)
		pick env ethaddr
	else
		pick ethaddr from i2c memory
For writing:
	chip_config ethaddr XX:XX:XX:XX:XX:XX writes the mac id
	in i2c memory

Signed-off-by: Vipin <vipin.kumar@st.com>
---
  board/spear/common/spr_misc.c |   69 ++++++++++++++++++++++++++++++++++++++++-
  1 files changed, 68 insertions(+), 1 deletions(-)

diff --git a/board/spear/common/spr_misc.c b/board/spear/common/spr_misc.c
index d70252b..9a6260f 100755
--- a/board/spear/common/spr_misc.c
+++ b/board/spear/common/spr_misc.c
@@ -62,6 +62,12 @@ int dram_init(void)

  int misc_init_r(void)
  {
+#if defined(CONFIG_CMD_NET)
+	uchar mac_id[6];
+
+	if (!eth_getenv_enetaddr("ethaddr", mac_id) && !i2c_read_mac(mac_id))
+		eth_setenv_enetaddr("ethaddr", mac_id);
+#endif
  	setenv("verify", "n");

  #if defined(CONFIG_SPEAR_USBTTY)
@@ -96,6 +102,46 @@ int spear_board_init(ulong mach_type)
  	return 0;
  }

+static int i2c_read_mac(uchar *buffer)
+{
+	u8 buf[2];
+
+	i2c_read(0x50, 0x0, 1, buf, 2);

Change 0x50 to #define board/soc specific i2c address for MAC
Apply gobally

+
+	/* Check if mac in i2c memory is valid */
+	if ((buf[0] == 0x55) && (buf[1] == 0xAA)) {
+		/* Valid mac address is saved in i2c eeprom */
+		i2c_read(0x50, 0x2, 1, buffer, 6);
+		return 0;
+	}
+
+	return -1;
+}
+
+static int write_mac(uchar *mac)
+{
+	unsigned char buf[2];
+
+	buf[0] = 0x55;
+	buf[1] = 0xAA;
+	i2c_write(0x50, 0x0, 1, buf, 2);
+
+	buf[0] = 0x44;
+	buf[1] = 0x66;

May want to change these to #defines

Tom

             reply	other threads:[~2010-01-13 13:27 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-13 13:27 Tom [this message]
  -- strict thread matches above, loose matches on Subject: below --
2010-01-11 11:15 [U-Boot] [PATCH v4 00/12] Support for SPEAr SoCs Vipin KUMAR
2010-01-11 11:15 ` [U-Boot] [PATCH v4 01/12] SPEAr : Adding README.spear in doc Vipin KUMAR
2010-01-11 11:15   ` [U-Boot] [PATCH v4 02/12] SPEAr : Adding basic SPEAr architecture support Vipin KUMAR
2010-01-11 11:15     ` [U-Boot] [PATCH v4 03/12] SPEAr : i2c driver support added for SPEAr SoCs Vipin KUMAR
2010-01-11 11:15       ` [U-Boot] [PATCH v4 04/12] SPEAr : smi driver support " Vipin KUMAR
2010-01-11 11:15         ` [U-Boot] [PATCH v4 05/12] SPEAr : nand " Vipin KUMAR
2010-01-11 11:15           ` [U-Boot] [PATCH v4 06/12] SPEAr : usbd " Vipin KUMAR
2010-01-11 11:15             ` [U-Boot] [PATCH v4 07/12] SPEAr : Support added for SPEAr600 board Vipin KUMAR
2010-01-11 11:15               ` [U-Boot] [PATCH v4 08/12] SPEAr : Support for HW mac id read/write from i2c mem Vipin KUMAR

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B4DCA4B.4030903@windriver.com \
    --to=tom.rix@windriver.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.