From b6b4625d175019e387e5b0f65a17322a78f6bb90 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Wed, 11 Feb 2009 18:38:38 -0500 Subject: boards: get mac address from environment The boards that get converted here to use the environment for the mac address rather than global data: debris mgcoge mgsuvd muas3001 netstal pn62 sixnet vcma9 xilinx (the ones that use xilinx_enet) Signed-off-by: Mike Frysinger CC: Ben Warren CC: Sangmoon Kim CC: Heiko Schocher CC: David Mueller CC: Niklaus Giger CC: Wolfgang Grandegger CC: Dave Ellis CC: Ricardo Ribalda --- board/pn62/pn62.c | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) (limited to 'board/pn62') diff --git a/board/pn62/pn62.c b/board/pn62/pn62.c index 1b545bfa9d..53d7e5763d 100644 --- a/board/pn62/pn62.c +++ b/board/pn62/pn62.c @@ -30,7 +30,7 @@ DECLARE_GLOBAL_DATA_PTR; static int get_serial_number (char *string, int size); -static int get_mac_address (int id, u8 * mac, char *string, int size); +static void get_mac_address(int id, u8 *mac); #ifdef CONFIG_SHOW_BOOT_PROGRESS void show_boot_progress (int phase) @@ -138,18 +138,16 @@ int misc_init_r (void) } show_startup_phase (9); - if (getenv ("ethaddr") == NULL && - get_mac_address (0, mac, str, sizeof (str)) > 0) { - setenv ("ethaddr", str); - memcpy (gd->bd->bi_enetaddr, mac, 6); + if (!eth_getenv_enetaddr("ethaddr", mac)) { + get_mac_address(0, mac); + eth_setenv_enetaddr("ethaddr", mac); } show_startup_phase (10); #ifdef CONFIG_HAS_ETH1 - if (getenv ("eth1addr") == NULL && - get_mac_address (1, mac, str, sizeof (str)) > 0) { - setenv ("eth1addr", str); - memcpy (gd->bd->bi_enet1addr, mac, 6); + if (!eth_getenv_enetaddr("eth1addr", mac)) { + get_mac_address(1, mac); + eth_setenv_enetaddr("eth1addr", mac); } #endif /* CONFIG_HAS_ETH1 */ show_startup_phase (11); @@ -177,15 +175,9 @@ static int get_serial_number (char *string, int size) return i; } -static int get_mac_address (int id, u8 * mac, char *string, int size) +static void get_mac_address(int id, u8 *mac) { - if (size < 6 * 3) - return -1; - i2155x_read_vpd (I2155X_VPD_MAC0_START + 6 * id, 6, mac); - return sprintf (string, "%02x:%02x:%02x:%02x:%02x:%02x", - mac[0], mac[1], mac[2], - mac[3], mac[4], mac[5]); } int board_eth_init(bd_t *bis) -- cgit v1.2.1