All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v4 08/12] SPEAr : Support for HW mac id read/write from i2c mem
@ 2010-01-13 13:27 Tom
  0 siblings, 0 replies; 2+ messages in thread
From: Tom @ 2010-01-13 13:27 UTC (permalink / raw)
  To: u-boot



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

^ permalink raw reply related	[flat|nested] 2+ messages in thread
* [U-Boot] [PATCH v4 00/12] Support for SPEAr SoCs
@ 2010-01-11 11:15 Vipin KUMAR
  2010-01-11 11:15 ` [U-Boot] [PATCH v4 01/12] SPEAr : Adding README.spear in doc Vipin KUMAR
  0 siblings, 1 reply; 2+ messages in thread
From: Vipin KUMAR @ 2010-01-11 11:15 UTC (permalink / raw)
  To: u-boot

This is patch set version 4 for SPEAr SoC support
Modifications:
1. patch set reordered to add SPEAr arch, drivers and then board support
2. checkpatch warnings and errors removed


Vipin (12):
  SPEAr : Adding README.spear in doc
  SPEAr : Adding basic SPEAr architecture support.
  SPEAr : i2c driver support added for SPEAr SoCs
  SPEAr : smi driver support for SPEAr SoCs
  SPEAr : nand driver support for SPEAr SoCs
  SPEAr : usbd driver support for SPEAr SoCs
  SPEAr : Support added for SPEAr600 board
  SPEAr : Support for HW mac id read/write from i2c mem
  SPEAr : Support added for SPEAr300 board
  SPEAr : emi controller initialization for CFI driver support
  SPEAr : Support added for SPEAr310 board
  SPEAr : Support added for SPEAr320 board

 MAKEALL                                        |    4 +
 Makefile                                       |    6 +
 board/spear/common/Makefile                    |   54 ++
 board/spear/common/spr_lowlevel_init.S         |  197 +++++
 board/spear/common/spr_misc.c                  |  296 +++++++
 board/spear/spear300/Makefile                  |   51 ++
 board/spear/spear300/config.mk                 |   39 +
 board/spear/spear300/spear300.c                |   57 ++
 board/spear/spear310/Makefile                  |   51 ++
 board/spear/spear310/config.mk                 |   44 +
 board/spear/spear310/spear310.c                |   58 ++
 board/spear/spear320/Makefile                  |   51 ++
 board/spear/spear320/config.mk                 |   44 +
 board/spear/spear320/spear320.c                |   58 ++
 board/spear/spear600/Makefile                  |   51 ++
 board/spear/spear600/config.mk                 |   39 +
 board/spear/spear600/spear600.c                |   52 ++
 cpu/arm926ejs/spear/Makefile                   |   52 ++
 cpu/arm926ejs/spear/reset.c                    |   53 ++
 cpu/arm926ejs/spear/timer.c                    |  150 ++++
 doc/README.spear                               |   53 ++
 drivers/i2c/Makefile                           |    1 +
 drivers/i2c/spr_i2c.c                          |  330 ++++++++
 drivers/mtd/Makefile                           |    1 +
 drivers/mtd/nand/Makefile                      |    1 +
 drivers/mtd/nand/spr_nand.c                    |  123 +++
 drivers/mtd/spr_smi.c                          |  529 +++++++++++++
 drivers/serial/usbtty.h                        |    2 +
 drivers/usb/gadget/Makefile                    |    1 +
 drivers/usb/gadget/spr_udc.c                   | 1002 ++++++++++++++++++++++++
 include/asm-arm/arch-spear/spr_defs.h          |   38 +
 include/asm-arm/arch-spear/spr_emi.h           |   54 ++
 include/asm-arm/arch-spear/spr_gpt.h           |   83 ++
 include/asm-arm/arch-spear/spr_i2c.h           |  146 ++++
 include/asm-arm/arch-spear/spr_misc.h          |  130 +++
 include/asm-arm/arch-spear/spr_nand.h          |   57 ++
 include/asm-arm/arch-spear/spr_smi.h           |  117 +++
 include/asm-arm/arch-spear/spr_syscntl.h       |   38 +
 include/asm-arm/arch-spear/spr_xloader_table.h |   67 ++
 include/configs/spear.h                        |  363 +++++++++
 include/usb/spr_udc.h                          |  227 ++++++
 41 files changed, 4770 insertions(+), 0 deletions(-)
 create mode 100644 board/spear/common/Makefile
 create mode 100755 board/spear/common/spr_lowlevel_init.S
 create mode 100755 board/spear/common/spr_misc.c
 create mode 100755 board/spear/spear300/Makefile
 create mode 100755 board/spear/spear300/config.mk
 create mode 100755 board/spear/spear300/spear300.c
 create mode 100755 board/spear/spear310/Makefile
 create mode 100755 board/spear/spear310/config.mk
 create mode 100755 board/spear/spear310/spear310.c
 create mode 100755 board/spear/spear320/Makefile
 create mode 100755 board/spear/spear320/config.mk
 create mode 100755 board/spear/spear320/spear320.c
 create mode 100755 board/spear/spear600/Makefile
 create mode 100755 board/spear/spear600/config.mk
 create mode 100755 board/spear/spear600/spear600.c
 create mode 100755 cpu/arm926ejs/spear/Makefile
 create mode 100755 cpu/arm926ejs/spear/reset.c
 create mode 100755 cpu/arm926ejs/spear/timer.c
 create mode 100644 doc/README.spear
 mode change 100644 => 100755 drivers/i2c/Makefile
 create mode 100755 drivers/i2c/spr_i2c.c
 mode change 100644 => 100755 drivers/mtd/Makefile
 create mode 100755 drivers/mtd/nand/spr_nand.c
 create mode 100755 drivers/mtd/spr_smi.c
 mode change 100644 => 100755 drivers/serial/usbtty.h
 mode change 100644 => 100755 drivers/usb/gadget/Makefile
 create mode 100755 drivers/usb/gadget/spr_udc.c
 create mode 100644 include/asm-arm/arch-spear/spr_defs.h
 create mode 100644 include/asm-arm/arch-spear/spr_emi.h
 create mode 100755 include/asm-arm/arch-spear/spr_gpt.h
 create mode 100755 include/asm-arm/arch-spear/spr_i2c.h
 create mode 100644 include/asm-arm/arch-spear/spr_misc.h
 create mode 100644 include/asm-arm/arch-spear/spr_nand.h
 create mode 100755 include/asm-arm/arch-spear/spr_smi.h
 create mode 100644 include/asm-arm/arch-spear/spr_syscntl.h
 create mode 100755 include/asm-arm/arch-spear/spr_xloader_table.h
 create mode 100755 include/configs/spear.h
 create mode 100755 include/usb/spr_udc.h

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-01-13 13:27 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-13 13:27 [U-Boot] [PATCH v4 08/12] SPEAr : Support for HW mac id read/write from i2c mem Tom
  -- 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

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.