[U-Boot-Users] [PATCH] DM9000 driver
Ben Warren
bwarren at qstreams.com
Tue Aug 21 15:25:35 CEST 2007
stefano babic wrote:
> The logic to check if there is a correct MAC address in the DM9000
> EEPROM, added in the last patch, is wrong.
> Now the MAC address is always taken from the environment, even if a
> suitable MAC is present in the EEPROM.
>
> Signed-off-by: Stefano Babic <sbabic at denx.de>
>
>
Your patch is backwards (stuff to remove should be - and to add should
be +), and so won't apply. The same goes for the TFTP one.
> ------------------------------------------------------------------------
>
> >From 432445542c9ebc11cc9d4ed4200de3671a2cf029 Mon Sep 17 00:00:00 2001
> From: Stefano Babic <sbabic at denx.de>
> Date: Tue, 21 Aug 2007 12:46:34 +0200
> Subject: [PATCH] The logic to check if there is a correct MAC address in the DM9000 EEPROM,
> added in the last patch, is wrong.
> Now the MAC address is always taken from the environment, even if a suitable MAC
> is present in the EEPROM. Time to wait reading the EEPROM is set to 8ms
> according to the linux driver
> ---
> drivers/dm9000x.c | 6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/dm9000x.c b/drivers/dm9000x.c
> index e0d531b..78acb09 100644
> --- a/drivers/dm9000x.c
> +++ b/drivers/dm9000x.c
> @@ -303,8 +303,8 @@ eth_init(bd_t * bd)
> for (i = 0; i < 6; i++)
> ((u16 *) bd->bi_enetaddr)[i] = read_srom_word(i);
>
> - if (is_zero_ether_addr(bd->bi_enetaddr) ||
> - is_multicast_ether_addr(bd->bi_enetaddr)) {
> + if (!is_zero_ether_addr(bd->bi_enetaddr) &&
> + !is_mutlicast_ether_addr(bd->bi_enetaddr)) {
> /* try reading from environment */
> u8 i;
> char *s, *e;
> @@ -542,7 +542,7 @@ read_srom_word(int offset)
> {
> DM9000_iow(DM9000_EPAR, offset);
> DM9000_iow(DM9000_EPCR, 0x4);
> - udelay(8000);
> + udelay(200);
>
Does the 200us delay not work, or are you just doing this to match the
Linux driver?
More information about the U-Boot
mailing list