From: Daniel Mack <daniel@caiaq.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] ne2000: take MAC address from config if available
Date: Fri, 28 Nov 2008 17:16:43 +0100 [thread overview]
Message-ID: <20081128161643.GA13920@buzzloop.caiaq.de> (raw)
Hi,
the board I'm currently working on has an ASIX AX88796 NE2000 clone but
no EEPROM attached to it. Hence, the get_prom() routine returns zeros
only so the system won't work.
This patch takes the MAC address given by CONFIG_ETHADDR and translates
it to numeric values. This could probably go to some other, more generic
place, but I didn't find any.
Best regards,
Daniel
diff --git a/drivers/net/ne2000_base.c b/drivers/net/ne2000_base.c
index f93f932..f8480a3 100644
--- a/drivers/net/ne2000_base.c
+++ b/drivers/net/ne2000_base.c
@@ -693,6 +693,7 @@ int eth_init(bd_t *bd) {
nic.base = (u8 *) CONFIG_DRIVER_NE2000_BASE;
+#ifndef CONFIG_ETHADDR
r = get_prom(dev_addr, nic.base);
if (!r)
return -1;
@@ -703,6 +704,20 @@ int eth_init(bd_t *bd) {
dev_addr[4], dev_addr[5]) ;
PRINTK("Set environment from HW MAC addr = \"%s\"\n", ethaddr);
setenv ("ethaddr", ethaddr);
+#else /* CONFIG_ETHADDR */
+#define STR(X) #X
+#define XSTR(X) STR(X)
+ strncpy(ethaddr, XSTR(CONFIG_ETHADDR), sizeof(ethaddr));
+
+ /* replace all colons by NULL characters */
+ for (r = 0; r < strlen(ethaddr); r++)
+ if (ethaddr[r] == ':')
+ ethaddr[r] = '\0';
+
+ /* convert the string notation */
+ for (r = 0; r < 6; r++)
+ dev_addr[r] = simple_strtol(ethaddr + (r * 3), NULL, 16);
+#endif
nic.data = nic.base + DP_DATA;
nic.tx_buf1 = START_PG;
next reply other threads:[~2008-11-28 16:16 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-28 16:16 Daniel Mack [this message]
2008-11-29 5:27 ` [U-Boot] [PATCH] ne2000: take MAC address from config if available Ben Warren
2008-11-29 13:17 ` Daniel Mack
2008-12-03 1:01 ` Daniel Mack
2008-12-14 11:12 ` Wolfgang Denk
2008-12-14 11:39 ` Daniel Mack
2009-01-27 13:09 ` Daniel Mack
2009-01-27 13:31 ` Wolfgang Denk
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=20081128161643.GA13920@buzzloop.caiaq.de \
--to=daniel@caiaq.de \
--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.