
Dear Wilson,
in message 97339EDB-05CD-4EFA-BF76-28D15E6D7633@savantav.com you wrote:
This is a problem with the Linux driver then, and should be fixed in Linux. Please see the FAQ entry about this, and then let's get rid of this eth_init call in U-Boot. Philosophy here is that devices shall be only initialized when really used by U-Boot.
that makes sense. in this case its u-boot that knows the Ethernet Address since its stored in its environment. Possibly the solution is to create a routine in fec.c (the fast ethernet driver) which only
If you mean the U-Boot file: then no, that would be the wrong approach.
U-Boot shall initialize a device only when it uses it. If Ethernet is not used by U-Boot itself, it shall not touch any parts of the Ethernet controller.
U-Boot shall pass the MAC address to the Linux kernel by whatever means the current architecture provides; if no other means are available for example on the kernel command line.
sets the MAC in the coldfire, instead of starting up the ethernet port before the buffers are ready. This change would keep things working as they are, but fix the bug where packets are received before the buffer address is set.
Which bug are you talking about? Is this in U-Boot or in Linux?
Best regards,
Wolfgang Denk