diff options
Diffstat (limited to 'board/emk/top5200/top5200.c')
| -rw-r--r-- | board/emk/top5200/top5200.c | 48 | 
1 files changed, 2 insertions, 46 deletions
| diff --git a/board/emk/top5200/top5200.c b/board/emk/top5200/top5200.c index 3969e2aa1..b65d2d0d0 100644 --- a/board/emk/top5200/top5200.c +++ b/board/emk/top5200/top5200.c @@ -156,53 +156,9 @@ void flash_afterinit(uint bank, ulong start, ulong size)  int misc_init_r (void)  {  	/* read 'factory' part of EEPROM */ -	uchar buf[81]; -	uchar *p; -	uint length; -	uint addr; -	uint len; +	extern void read_factory_r (void); +	read_factory_r (); -	/* get length first */ -	addr = CFG_FACT_OFFSET; -	if (eeprom_read (CFG_I2C_FACT_ADDR, addr, buf, 2)) { -bailout: -		printf ("cannot read factory configuration\n"); -		printf ("be sure to set ethaddr	yourself!\n"); -		return 0; -	} -	length = buf[0] + (buf[1] << 8); -	addr += 2; - -	/* sanity check */ -	if (length < 20 || length > CFG_FACT_SIZE - 2) -		goto bailout; - -	/* read lines */ -	while (length > 0) { -		/* read one line */ -		len = length > 80 ? 80 : length; -		if (eeprom_read (CFG_I2C_FACT_ADDR, addr, buf, len)) -			goto bailout; -		/* mark end of buffer */ -		buf[len] = 0; -		/* search end of line */ -		for (p = buf; *p && *p != 0x0a; p++); -		if (!*p) -			goto bailout; -		*p++ = 0; -		/* advance to next line start */ -		length -= p - buf; -		addr += p - buf; -		/*printf ("%s\n", buf); */ -		/* search for our specific entry */ -		if (!strncmp ((char *) buf, "[RLA/lan/Ethernet] ", 19)) { -			setenv ("ethaddr", buf + 19); -		} else if (!strncmp ((char *) buf, "[BOARD/SERIAL] ", 15)) { -			setenv ("serial#", buf + 15); -		} else if (!strncmp ((char *) buf, "[BOARD/TYPE] ", 13)) { -			setenv ("board_id", buf + 13); -		} -	}  	return (0);  } |