Skip to contentSkip to conversation

add support for EMK TOP7000 CPU module

PATCH New Reinhard Meyer (-VC) 3 participants 10 messages Jun 5, 2010 – Jun 6, 2010 Kbuild

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 add support for EMK TOP7000 CPU module

Add support for EMK TOP7000 CPU module

Specifics:

1) create subdir board/emk/top7000 and files in it
2) create include/configs/top7000.h
3) update board/emk/common/vpd.c
4) add call to misc_init_r() to arch/avr32/lib/board.c
5) create arch/avr32/include/asm/unaligned.h to fix zlib.c compilation problem
6) update Makefile, MAINTAINERS, MAKEALL

---
 MAINTAINERS                        |    6 +-
 MAKEALL                            |    3 +-
 Makefile                           |    3 +
 arch/avr32/include/asm/unaligned.h |    1 +
 arch/avr32/lib/board.c             |    5 +
 board/emk/common/vpd.c             |   56 +++++++++-
 board/emk/top7000/Makefile         |   41 +++++++
 board/emk/top7000/config.mk        |    3 +
 board/emk/top7000/top7000.c        |  169 ++++++++++++++++++++++++++++
 board/emk/top7000/u-boot.lds       |   72 ++++++++++++
 include/configs/top7000.h          |  216 ++++++++++++++++++++++++++++++++++++
 11 files changed, 570 insertions(+), 5 deletions(-)
 create mode 100644 arch/avr32/include/asm/unaligned.h
 create mode 100644 board/emk/top7000/Makefile
 create mode 100644 board/emk/top7000/config.mk
 create mode 100644 board/emk/top7000/top7000.c
 create mode 100644 board/emk/top7000/u-boot.lds
 create mode 100644 include/configs/top7000.h
MAINTAINERS +5 -1
index 7a13d28..a361be1 100644
@@ -311,7 +311,7 @@ Andrea "llandre" Marson <[email protected]>
 
 	PPChameleonEVB	PPC405EP
 
-Reinhard Meyer <[email protected]>
+Reinhard Meyer <[email protected]>
 
 	TOP860		MPC860T
 	TOP5200		MPC5200
@@ -919,6 +919,10 @@ Julien May <[email protected]>
 
 	HAMMERHEAD		AT32AP7000
 
+Reinhard Meyer <[email protected]>
+
+	TOP7000		AT32AP7000
+
 Haavard Skinnemoen <[email protected]>
 
 	ATSTK1000	AT32AP7xxx
MAKEALL +2 -1
index 2527352..3a80041 100755
@@ -873,7 +873,8 @@ LIST_avr32="		\
 	atngw100	\
 	favr-32-ezkit	\
 	hammerhead	\
-	mimc200		\
+	mimc200		\
+	top7000		\
 "
 
 #########################################################################
Makefile +3 -0
index c26e491..e57a4ca 100644
@@ -3549,6 +3549,9 @@ hammerhead_config	:	unconfig
 mimc200_config		:	unconfig
 	@$(MKCONFIG) $(@:_config=) avr32 at32ap mimc200 mimc at32ap700x
 
+top7000_config	:	unconfig
+	@$(MKCONFIG) $(@:_config=) avr32 at32ap top7000 emk at32ap700x
+
 #========================================================================
 # SH3 (SuperH)
 #========================================================================
arch/avr32/include/asm/unaligned.h new file +1 -0
new file mode 100644
index 0000000..6cecbbb
@@ -0,0 +1 @@
+#include <asm-generic/unaligned.h>
arch/avr32/lib/board.c +5 -0
index 917ed6c..6be5ab0
@@ -337,6 +337,11 @@ void board_init_r(gd_t *new_gd, ulong dest_addr)
 	jumptable_init();
 	console_init_r();
 
+#if defined(CONFIG_MISC_INIT_R)
+	/* miscellaneous platform dependent initialisations */
+	misc_init_r();
+#endif
+
 	s = getenv("loadaddr");
 	if (s)
 		load_addr = simple_strtoul(s, NULL, 16);
board/emk/common/vpd.c +53 -3

75 lines not on this page · raw message

board/emk/top7000/Makefile new file +41 -0

41 lines not on this page · raw message

board/emk/top7000/config.mk new file +3 -0
new file mode 100644
index 0000000..9a794e5
@@ -0,0 +1,3 @@
+TEXT_BASE		= 0x00000000
+PLATFORM_RELFLAGS	+= -ffunction-sections -fdata-sections
+PLATFORM_LDFLAGS	+= --gc-sections
board/emk/top7000/top7000.c new file +169 -0

169 lines not on this page · raw message

board/emk/top7000/u-boot.lds new file +72 -0

72 lines not on this page · raw message

include/configs/top7000.h new file +216 -0

216 lines not on this page · raw message

Signature · 1 line
1.5.6.5
#1 lore raw

PATCH 1/1 add support for EMK TOP7000 CPU module

Hello Reinhard,

Quoted 169 lines · Reinhard Meyer (-VC)

Add support for EMK TOP7000 CPU module

Specifics:

1) create subdir board/emk/top7000 and files in it
2) create include/configs/top7000.h
3) update board/emk/common/vpd.c
4) add call to misc_init_r() to arch/avr32/lib/board.c
5) create arch/avr32/include/asm/unaligned.h to fix zlib.c compilation problem
6) update Makefile, MAINTAINERS, MAKEALL

---
 MAINTAINERS                        |    6 +-
 MAKEALL                            |    3 +-
 Makefile                           |    3 +
 arch/avr32/include/asm/unaligned.h |    1 +
 arch/avr32/lib/board.c             |    5 +
 board/emk/common/vpd.c             |   56 +++++++++-
 board/emk/top7000/Makefile         |   41 +++++++
 board/emk/top7000/config.mk        |    3 +
 board/emk/top7000/top7000.c        |  169 ++++++++++++++++++++++++++++
 board/emk/top7000/u-boot.lds       |   72 ++++++++++++
 include/configs/top7000.h          |  216
++++++++++++++++++++++++++++++++++++
 11 files changed, 570 insertions(+), 5 deletions(-)
 create mode 100644 arch/avr32/include/asm/unaligned.h
 create mode 100644 board/emk/top7000/Makefile
 create mode 100644 board/emk/top7000/config.mk
 create mode 100644 board/emk/top7000/top7000.c
 create mode 100644 board/emk/top7000/u-boot.lds
 create mode 100644 include/configs/top7000.h
MAINTAINERS +5 -1
index 7a13d28..a361be1 100644
@@ -311,7 +311,7 @@ Andrea "llandre" Marson <[email protected]>
 
       PPChameleonEVB  PPC405EP
 
-Reinhard Meyer <[email protected]>
+Reinhard Meyer <[email protected]>
 
       TOP860          MPC860T
       TOP5200         MPC5200
@@ -919,6 +919,10 @@ Julien May <[email protected]>
 
       HAMMERHEAD              AT32AP7000
 
+Reinhard Meyer <[email protected]>
+
+       TOP7000         AT32AP7000
+
 Haavard Skinnemoen <[email protected]>
 
       ATSTK1000       AT32AP7xxx
MAKEALL +2 -1
index 2527352..3a80041 100755
@@ -873,7 +873,8 @@ LIST_avr32="                \
       atngw100        \
       favr-32-ezkit   \
       hammerhead      \
-       mimc200         \
+       mimc200         \
+       top7000         \
 "
 
 #########################################################################
Makefile +3 -0
index c26e491..e57a4ca 100644
@@ -3549,6 +3549,9 @@ hammerhead_config :       unconfig
 mimc200_config         :       unconfig
       @$(MKCONFIG) $(@:_config=) avr32 at32ap mimc200 mimc at32ap700x
 
+top7000_config :       unconfig
+       @$(MKCONFIG) $(@:_config=) avr32 at32ap top7000 emk at32ap700x
+
 #========================================================================
 # SH3 (SuperH)
 #========================================================================
arch/avr32/include/asm/unaligned.h new file +1 -0
new file mode 100644
index 0000000..6cecbbb
@@ -0,0 +1 @@
+#include <asm-generic/unaligned.h>
arch/avr32/lib/board.c +5 -0
index 917ed6c..6be5ab0
@@ -337,6 +337,11 @@ void board_init_r(gd_t *new_gd, ulong dest_addr)
       jumptable_init();
       console_init_r();
 
+#if defined(CONFIG_MISC_INIT_R)
+       /* miscellaneous platform dependent initialisations */
+       misc_init_r();
+#endif
+
       s = getenv("loadaddr");
       if (s)
               load_addr = simple_strtoul(s, NULL, 16);
board/emk/common/vpd.c +4 -3
index c2af219..a6c456b
@@ -1,6 +1,6 @@
 /*
- * (C) Copyright 2003
- * Reinhard Meyer, EMK Elektronik GmbH, r.meyer at emk-elektronik.de
+ * (C) Copyright 2003-2010
+ * EMK Elektronik GmbH & Co. KG, reinhard.meyer at emk-elektronik.de
 *
 * See file CREDITS for list of people who contributed to this
 * project.
@@ -22,7 +22,8 @@
 */
 
 #include <common.h>
-
+#include <command.h>
+
 
 /*****************************************************************************
 * read "factory" part of EEPROM and set some environment variables

*****************************************************************************/

board/emk/common/vpd.c +4 -0
@@ -70,6 +71,10 @@ void read_factory_r (void)
               /* search for our specific entry */
               if (!strncmp ((char *) buf, "[RLA/lan/Ethernet] ", 19)) {
                       setenv ("ethaddr", (char *)(buf + 19));
+#if defined(CONFIG_TOP7000)
+               } else if (!strncmp ((char *) buf, "[RLA/lan2/Ethernet] ",
 20)) {
+                       setenv ("eth1addr", (char *)(buf + 20));
+#endif
               } else if (!strncmp ((char *) buf, "[BOARD/SERIAL] ", 15)) {
                       setenv ("serial#", (char *)(buf + 15));
               } else if (!strncmp ((char *) buf, "[BOARD/TYPE] ", 13)) {
board/emk/common/vpd.c +16 -0
@@ -77,3 +82,48 @@ void read_factory_r (void)
               }
       }
 }
+
+#if defined(CONFIG_TOP7000)
+int do_vpd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+{
+       uchar buf[512];
+       uchar *p;
+       int i;
+       u_int addr;
+
+       if (argc != 3)
+               return 1;
+
+       p = buf+2;
+       i = simple_strtoul(argv[1], NULL, 10);
+       if (i<1 || i>32766)
+               return 1;

board/emk/common/vpd.c void read_factory_r (void) · line 110

Quoted 10 lines
board/emk/common/vpd.c +10 -0
+
+       addr=(i-1)*2;
+
+       p+=sprintf((char*)p,
+               "[RLA/lan/Ethernet] 00:80:d9:0d:%02x:%02x\n",
+               addr/256, addr%256);
+       addr++;
+       p+=sprintf((char*)p,
+               "[RLA/lan2/Ethernet] 00:80:d9:0d:%02x:%02x\n",
+               addr/256, addr%256);

These appear to be public MAC addresses. Are these ones that your company owns and you're guaranteeing to be unique?
<snip>

board/emk/common/vpd.c void read_factory_r (void) · line 119

Quoted 10 lines
board/emk/common/vpd.c +9 -0
+
+#ifdef CONFIG_CMD_NET
+int board_eth_init(bd_t *bi)
+{
+       macb_eth_initialize(0,
+               (void *)MACB0_BASE, bi->bi_phy_id[0]);
+       macb_eth_initialize(1,
+               (void *)MACB1_BASE, bi->bi_phy_id[1]);
+       return 0;

Please return the number of controllers that were successfully initialized. <snip>

regards,
Ben

#2 lore raw

PATCH 1/1 add support for EMK TOP7000 CPU module

Quoted 179 lines · Ben Warren

Hello Reinhard,

Quoted 174 lines · Reinhard Meyer (-VC)

Add support for EMK TOP7000 CPU module

Specifics:

1) create subdir board/emk/top7000 and files in it
2) create include/configs/top7000.h
3) update board/emk/common/vpd.c
4) add call to misc_init_r() to arch/avr32/lib/board.c
5) create arch/avr32/include/asm/unaligned.h to fix zlib.c compilation problem
6) update Makefile, MAINTAINERS, MAKEALL

---
 MAINTAINERS                        |    6 +-
 MAKEALL                            |    3 +-
 Makefile                           |    3 +
 arch/avr32/include/asm/unaligned.h |    1 +
 arch/avr32/lib/board.c             |    5 +
 board/emk/common/vpd.c             |   56 +++++++++-
 board/emk/top7000/Makefile         |   41 +++++++
 board/emk/top7000/config.mk        |    3 +
 board/emk/top7000/top7000.c        |  169 ++++++++++++++++++++++++++++
 board/emk/top7000/u-boot.lds       |   72 ++++++++++++
 include/configs/top7000.h          |  216
++++++++++++++++++++++++++++++++++++
 11 files changed, 570 insertions(+), 5 deletions(-)
 create mode 100644 arch/avr32/include/asm/unaligned.h
 create mode 100644 board/emk/top7000/Makefile
 create mode 100644 board/emk/top7000/config.mk
 create mode 100644 board/emk/top7000/top7000.c
 create mode 100644 board/emk/top7000/u-boot.lds
 create mode 100644 include/configs/top7000.h
MAINTAINERS +5 -1
index 7a13d28..a361be1 100644
@@ -311,7 +311,7 @@ Andrea "llandre" Marson <[email protected]>
 
       PPChameleonEVB  PPC405EP
 
-Reinhard Meyer <[email protected]>
+Reinhard Meyer <[email protected]>
 
       TOP860          MPC860T
       TOP5200         MPC5200
@@ -919,6 +919,10 @@ Julien May <[email protected]>
 
       HAMMERHEAD              AT32AP7000
 
+Reinhard Meyer <[email protected]>
+
+       TOP7000         AT32AP7000
+
 Haavard Skinnemoen <[email protected]>
 
       ATSTK1000       AT32AP7xxx
MAKEALL +2 -1
index 2527352..3a80041 100755
@@ -873,7 +873,8 @@ LIST_avr32="                \
       atngw100        \
       favr-32-ezkit   \
       hammerhead      \
-       mimc200         \
+       mimc200         \
+       top7000         \
 "
 
 #########################################################################
Makefile +3 -0
index c26e491..e57a4ca 100644
@@ -3549,6 +3549,9 @@ hammerhead_config :       unconfig
 mimc200_config         :       unconfig
       @$(MKCONFIG) $(@:_config=) avr32 at32ap mimc200 mimc at32ap700x
 
+top7000_config :       unconfig
+       @$(MKCONFIG) $(@:_config=) avr32 at32ap top7000 emk at32ap700x
+
 #========================================================================
 # SH3 (SuperH)
 #========================================================================
arch/avr32/include/asm/unaligned.h new file +1 -0
new file mode 100644
index 0000000..6cecbbb
@@ -0,0 +1 @@
+#include <asm-generic/unaligned.h>
arch/avr32/lib/board.c +5 -0
index 917ed6c..6be5ab0
@@ -337,6 +337,11 @@ void board_init_r(gd_t *new_gd, ulong dest_addr)
       jumptable_init();
       console_init_r();
 
+#if defined(CONFIG_MISC_INIT_R)
+       /* miscellaneous platform dependent initialisations */
+       misc_init_r();
+#endif
+
       s = getenv("loadaddr");
       if (s)
               load_addr = simple_strtoul(s, NULL, 16);
board/emk/common/vpd.c +4 -3
index c2af219..a6c456b
@@ -1,6 +1,6 @@
 /*
- * (C) Copyright 2003
- * Reinhard Meyer, EMK Elektronik GmbH, r.meyer at emk-elektronik.de
+ * (C) Copyright 2003-2010
+ * EMK Elektronik GmbH & Co. KG, reinhard.meyer at emk-elektronik.de
 *
 * See file CREDITS for list of people who contributed to this
 * project.
@@ -22,7 +22,8 @@
 */
 
 #include <common.h>
-
+#include <command.h>
+
 
 /*****************************************************************************
 * read "factory" part of EEPROM and set some environment variables

*****************************************************************************/

board/emk/common/vpd.c +4 -0
@@ -70,6 +71,10 @@ void read_factory_r (void)
               /* search for our specific entry */
               if (!strncmp ((char *) buf, "[RLA/lan/Ethernet] ", 19)) {
                       setenv ("ethaddr", (char *)(buf + 19));
+#if defined(CONFIG_TOP7000)
+               } else if (!strncmp ((char *) buf, "[RLA/lan2/Ethernet] ",
 20)) {
+                       setenv ("eth1addr", (char *)(buf + 20));
+#endif
               } else if (!strncmp ((char *) buf, "[BOARD/SERIAL] ", 15)) {
                       setenv ("serial#", (char *)(buf + 15));
               } else if (!strncmp ((char *) buf, "[BOARD/TYPE] ", 13)) {
board/emk/common/vpd.c +22 -0
@@ -77,3 +82,48 @@ void read_factory_r (void)
               }
       }
 }
+
+#if defined(CONFIG_TOP7000)
+int do_vpd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+{
+       uchar buf[512];
+       uchar *p;
+       int i;
+       u_int addr;
+
+       if (argc != 3)
+               return 1;
+
+       p = buf+2;
+       i = simple_strtoul(argv[1], NULL, 10);
+       if (i<1 || i>32766)
+               return 1;
+
+       addr=(i-1)*2;
+
+       p+=sprintf((char*)p,
+               "[RLA/lan/Ethernet] 00:80:d9:0d:%02x:%02x\n",
+               addr/256, addr%256);
Quoted 9 lines

board/emk/common/vpd.c void read_factory_r (void) · line 110

Quoted 5 lines
board/emk/common/vpd.c +4 -0
+       addr++;
+       p+=sprintf((char*)p,
+               "[RLA/lan2/Ethernet] 00:80:d9:0d:%02x:%02x\n",
+               addr/256, addr%256);

These appear to be public MAC addresses. Are these ones that your company owns and you're guaranteeing to be unique?
<snip>

That is our address range.

Quoted 4 lines
Quoted 4 lines
board/emk/common/vpd.c +4 -0
+
+#ifdef CONFIG_CMD_NET
+int board_eth_init(bd_t *bi)
+{
Quoted 8 lines

board/emk/common/vpd.c void read_factory_r (void) · line 119

Quoted 6 lines
board/emk/common/vpd.c +5 -0
+       macb_eth_initialize(0,
+               (void *)MACB0_BASE, bi->bi_phy_id[0]);
+       macb_eth_initialize(1,
+               (void *)MACB1_BASE, bi->bi_phy_id[1]);
+       return 0;

Please return the number of controllers that were successfully initialized. <snip>

1) in net/eth.c:

	/* Try board-specific initialization first.  If it fails or isn't
	 * present, try the cpu-specific initialization */
	if (board_eth_init(bis) < 0)
		cpu_eth_init(bis);
that means >=0 OK, <0 error code....
2) most other ports do something like
int board_eth_init(bd_t *bi)
{
	return macb_eth_initialize(0, (void *)MACB0_BASE, bi->bi_phy_id[0]);
}

where macb_eth_initialize() returns 0 on success...
3) no port seems to return a positive number >0
IF in the future it is required that the function returns the number of interfaces EVERY port has to be modified :)

Quoted 2 lines

regards,
Ben

Best Regards, Reinhard
-------------- next part --------------
A non-text attachment was scrubbed...
Name: reinhard_meyer.vcf
Type: text/x-vcard
Size: 370 bytes
Desc: not available
Url : http://lists.denx.de/pipermail/u-boot/attachments/20100605/83621fd1/attachment.vcf

#3 lore raw

PATCH 1/1 add support for EMK TOP7000 CPU module

Hello,

is this patch going to be accepted, or is someone insisting that only my port shall return the number of controllers initialized?

Quoted 227 lines · Reinhard Meyer
Quoted 179 lines · Ben Warren

Hello Reinhard,

Quoted 174 lines · Reinhard Meyer (-VC)

Add support for EMK TOP7000 CPU module

Specifics:

1) create subdir board/emk/top7000 and files in it
2) create include/configs/top7000.h
3) update board/emk/common/vpd.c
4) add call to misc_init_r() to arch/avr32/lib/board.c
5) create arch/avr32/include/asm/unaligned.h to fix zlib.c compilation problem
6) update Makefile, MAINTAINERS, MAKEALL

---
 MAINTAINERS                        |    6 +-
 MAKEALL                            |    3 +-
 Makefile                           |    3 +
 arch/avr32/include/asm/unaligned.h |    1 +
 arch/avr32/lib/board.c             |    5 +
 board/emk/common/vpd.c             |   56 +++++++++-
 board/emk/top7000/Makefile         |   41 +++++++
 board/emk/top7000/config.mk        |    3 +
 board/emk/top7000/top7000.c        |  169 ++++++++++++++++++++++++++++
 board/emk/top7000/u-boot.lds       |   72 ++++++++++++
 include/configs/top7000.h          |  216
++++++++++++++++++++++++++++++++++++
 11 files changed, 570 insertions(+), 5 deletions(-)
 create mode 100644 arch/avr32/include/asm/unaligned.h
 create mode 100644 board/emk/top7000/Makefile
 create mode 100644 board/emk/top7000/config.mk
 create mode 100644 board/emk/top7000/top7000.c
 create mode 100644 board/emk/top7000/u-boot.lds
 create mode 100644 include/configs/top7000.h
MAINTAINERS +5 -1
index 7a13d28..a361be1 100644
@@ -311,7 +311,7 @@ Andrea "llandre" Marson <[email protected]>
 
       PPChameleonEVB  PPC405EP
 
-Reinhard Meyer <[email protected]>
+Reinhard Meyer <[email protected]>
 
       TOP860          MPC860T
       TOP5200         MPC5200
@@ -919,6 +919,10 @@ Julien May <[email protected]>
 
       HAMMERHEAD              AT32AP7000
 
+Reinhard Meyer <[email protected]>
+
+       TOP7000         AT32AP7000
+
 Haavard Skinnemoen <[email protected]>
 
       ATSTK1000       AT32AP7xxx
MAKEALL +2 -1
index 2527352..3a80041 100755
@@ -873,7 +873,8 @@ LIST_avr32="                \
       atngw100        \
       favr-32-ezkit   \
       hammerhead      \
-       mimc200         \
+       mimc200         \
+       top7000         \
 "
 
 #########################################################################
Makefile +3 -0
index c26e491..e57a4ca 100644
@@ -3549,6 +3549,9 @@ hammerhead_config :       unconfig
 mimc200_config         :       unconfig
       @$(MKCONFIG) $(@:_config=) avr32 at32ap mimc200 mimc at32ap700x
 
+top7000_config :       unconfig
+       @$(MKCONFIG) $(@:_config=) avr32 at32ap top7000 emk at32ap700x
+
 #========================================================================
 # SH3 (SuperH)
 #========================================================================
arch/avr32/include/asm/unaligned.h new file +1 -0
new file mode 100644
index 0000000..6cecbbb
@@ -0,0 +1 @@
+#include <asm-generic/unaligned.h>
arch/avr32/lib/board.c +5 -0
index 917ed6c..6be5ab0
@@ -337,6 +337,11 @@ void board_init_r(gd_t *new_gd, ulong dest_addr)
       jumptable_init();
       console_init_r();
 
+#if defined(CONFIG_MISC_INIT_R)
+       /* miscellaneous platform dependent initialisations */
+       misc_init_r();
+#endif
+
       s = getenv("loadaddr");
       if (s)
               load_addr = simple_strtoul(s, NULL, 16);
board/emk/common/vpd.c +4 -3
index c2af219..a6c456b
@@ -1,6 +1,6 @@
 /*
- * (C) Copyright 2003
- * Reinhard Meyer, EMK Elektronik GmbH, r.meyer at emk-elektronik.de
+ * (C) Copyright 2003-2010
+ * EMK Elektronik GmbH & Co. KG, reinhard.meyer at emk-elektronik.de
 *
 * See file CREDITS for list of people who contributed to this
 * project.
@@ -22,7 +22,8 @@
 */
 
 #include <common.h>
-
+#include <command.h>
+
 
 /*****************************************************************************
 * read "factory" part of EEPROM and set some environment variables

*****************************************************************************/

board/emk/common/vpd.c +4 -0
@@ -70,6 +71,10 @@ void read_factory_r (void)
               /* search for our specific entry */
               if (!strncmp ((char *) buf, "[RLA/lan/Ethernet] ", 19)) {
                       setenv ("ethaddr", (char *)(buf + 19));
+#if defined(CONFIG_TOP7000)
+               } else if (!strncmp ((char *) buf, "[RLA/lan2/Ethernet] ",
 20)) {
+                       setenv ("eth1addr", (char *)(buf + 20));
+#endif
               } else if (!strncmp ((char *) buf, "[BOARD/SERIAL] ", 15)) {
                       setenv ("serial#", (char *)(buf + 15));
               } else if (!strncmp ((char *) buf, "[BOARD/TYPE] ", 13)) {
board/emk/common/vpd.c +22 -0
@@ -77,3 +82,48 @@ void read_factory_r (void)
               }
       }
 }
+
+#if defined(CONFIG_TOP7000)
+int do_vpd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+{
+       uchar buf[512];
+       uchar *p;
+       int i;
+       u_int addr;
+
+       if (argc != 3)
+               return 1;
+
+       p = buf+2;
+       i = simple_strtoul(argv[1], NULL, 10);
+       if (i<1 || i>32766)
+               return 1;
+
+       addr=(i-1)*2;
+
+       p+=sprintf((char*)p,
+               "[RLA/lan/Ethernet] 00:80:d9:0d:%02x:%02x\n",
+               addr/256, addr%256);
Quoted 9 lines

board/emk/common/vpd.c void read_factory_r (void) · line 110

Quoted 5 lines
board/emk/common/vpd.c +4 -0
+       addr++;
+       p+=sprintf((char*)p,
+               "[RLA/lan2/Ethernet] 00:80:d9:0d:%02x:%02x\n",
+               addr/256, addr%256);

These appear to be public MAC addresses. Are these ones that your company owns and you're guaranteeing to be unique?
<snip>

That is our address range.

Quoted 4 lines
Quoted 4 lines
board/emk/common/vpd.c +4 -0
+
+#ifdef CONFIG_CMD_NET
+int board_eth_init(bd_t *bi)
+{
Quoted 8 lines

board/emk/common/vpd.c void read_factory_r (void) · line 119

Quoted 6 lines
board/emk/common/vpd.c +5 -0
+       macb_eth_initialize(0,
+               (void *)MACB0_BASE, bi->bi_phy_id[0]);
+       macb_eth_initialize(1,
+               (void *)MACB1_BASE, bi->bi_phy_id[1]);
+       return 0;

Please return the number of controllers that were successfully initialized. <snip>

1) in net/eth.c:

	/* Try board-specific initialization first.  If it fails or isn't
	 * present, try the cpu-specific initialization */
	if (board_eth_init(bis) < 0)
		cpu_eth_init(bis);
that means >=0 OK, <0 error code....
2) most other ports do something like
int board_eth_init(bd_t *bi)
{
	return macb_eth_initialize(0, (void *)MACB0_BASE, bi->bi_phy_id[0]);
}

where macb_eth_initialize() returns 0 on success...
3) no port seems to return a positive number >0
IF in the future it is required that the function returns the number of interfaces EVERY port has to be modified :)

Quoted 2 lines

regards,
Ben

Best Regards, Reinhard

_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

#4 lore raw

PATCH 1/1 add support for EMK TOP7000 CPU module

Dear "Reinhard Meyer (-VC)",

Quoted 3 lines · In message <[email protected]> you wrote:

is this patch going to be accepted, or is someone insisting that only my port shall return the number of controllers initialized?

I don't understand what you mean by "only my port". Ben's comment that board_eth_init() is supposed to retrurn the number of successfully initialized controllers has been standard policy for a pretty long time, and many boards do so.

Eventually the boards you compared against are older ones, and have not been maintained well, so they misbehave in this regard?

Best regards,

Wolfgang Denk

Signature · 5 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Testing can show the presense of bugs, but not their absence.
                                                   -- Edsger Dijkstra
#5 lore raw

PATCH 1/1 add support for EMK TOP7000 CPU module

Quoted 18 lines · Wolfgang Denk

Dear "Reinhard Meyer (-VC)",

Quoted 2 lines · In message <[email protected]> you wrote:

is this patch going to be accepted, or is someone insisting that only my port shall return the number of controllers initialized?

I don't understand what you mean by "only my port". Ben's comment that board_eth_init() is supposed to retrurn the number of successfully initialized controllers has been standard policy for a pretty long time, and many boards do so.

Eventually the boards you compared against are older ones, and have not been maintained well, so they misbehave in this regard?

Best regards,

Wolfgang Denk

#6 lore raw

PATCH 1/1 add support for EMK TOP7000 CPU module

In reply to Wolfgang Denk
Quoted 11 lines · Wolfgang Denk

Dear "Reinhard Meyer (-VC)",

Quoted 2 lines · In message <[email protected]> you wrote:

is this patch going to be accepted, or is someone insisting that only my port shall return the number of controllers initialized?

I don't understand what you mean by "only my port". Ben's comment that board_eth_init() is supposed to retrurn the number of successfully initialized controllers has been standard policy for a pretty long time, and many boards do so.

Quoted 7 lines

Eventually the boards you compared against are older ones, and have not been maintained well, so they misbehave in this regard?

Best regards,

Wolfgang Denk

Hello Wolfgang,

Is that documented somewhere? I see that the calling function in net.c does NOT care about any positive interger result. Will it care sometime in the future? :)

The second problem is that I cannot seem to undo my previous commit in my tree, so any changes I do to my source would come out as a second patch. Would that be accepted?

Or do you know what must be done that GIT will issue a new patch with the current and the new changes in one patch?

I generate the patches by
<after editing>:
git commit -m <message>
git format-patch origin

what to do to return to <after editing>, do new edits and generate a new, single patch?

Best Regards, Reinhard

#7 lore raw

PATCH 1/1 add support for EMK TOP7000 CPU module

Quoted 9 lines · Reinhard Meyer (-VC)
Quoted 2 lines · Wolfgang Denk

Dear "Reinhard Meyer (-VC)",
The second problem is that I cannot seem to undo my previous commit in my

tree, so any changes I do to my source would come out as a second patch. Would that be accepted?

Or do you know what must be done that GIT will issue a new patch with the current and the new changes in one patch?

Quoted 8 lines

I generate the patches by
<after editing>:
git commit -m <message>
git format-patch origin

what to do to return to <after editing>, do new edits and generate a new, single patch?

A "git reset --soft HEAD^" followed by "git add" of all newly changed files does the trick...

Quoted 2 lines

Best Regards, Reinhard

#8 lore raw

PATCH 1/1 add support for EMK TOP7000 CPU module

In reply to Reinhard Meyer (-VC)

Dear "Reinhard Meyer (-VC)",

Quoted 2 lines · In message <[email protected]> you wrote:

Is that documented somewhere? I see that the calling function in net.c

Probably only in the mailing list archives...

Quoted 6 lines

does NOT care about any positive interger result. Will it care sometime in the future? :)

The second problem is that I cannot seem to undo my previous commit in my tree, so any changes I do to my source would come out as a second patch. Would that be accepted?

No. Why cannot you "git rebase -i" your tree (resp. your development branch) and squash the commits in question?

Quoted 2 lines

Or do you know what must be done that GIT will issue a new patch with the current and the new changes in one patch?

Squash the commits into one?

Quoted 2 lines

what to do to return to <after editing>, do new edits and generate a new, single patch?

man git-rebase

Best regards,

Wolfgang Denk

Signature · 4 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
He is truly wise who gains wisdom from another's mishap.
#9 lore raw

PATCH 1/1 add support for EMK TOP7000 CPU module

In reply to Reinhard Meyer (-VC)

Hello Reinhard,

Quoted 20 lines · Reinhard Meyer (-VC)
Quoted 11 lines · Wolfgang Denk

Dear "Reinhard Meyer (-VC)",

Quoted 2 lines · In message <[email protected]> you wrote:

is this patch going to be accepted, or is someone insisting that only my port shall return the number of controllers initialized?

I don't understand what you mean by "only my port". Ben's comment that board_eth_init() is supposed to retrurn the number of successfully initialized controllers has been standard policy for a pretty long time, and many boards do so.

Quoted 7 lines

Eventually the boards you compared against are older ones, and have not been maintained well, so they misbehave in this regard?

Best regards,

Wolfgang Denk

Quoted 7 lines

Hello Wolfgang,

Is that documented somewhere? I see that the calling function in net.c does NOT care about any positive interger result. Will it care sometime in the future? :)

Yes, it's documented (doc/README.drivers.eth). Maybe it will get used in

the future. That's why I politely asked to to make a simple change. It wasn't an arbitrary request, and most boards (maybe not most MACB-using ones) do it properly.

regards,
Ben