Skip to contentSkip to conversation

smc911x: cannot pass the MAC address from U-Boot to the Linux driver via chip registers

U-Boot-Users Jens Gehrlein 2 participants 2 messages May 16, 2008

lore
Share & tools
lore
#0 lore raw

Hi,

in the smc911x U-Boot driver the call of eth_halt() causes a reset of the ethernet controller. This also resets the MAC address in the according chip registers. This makes it impossible to pass the MAC address to an ARM kernel because the smc911x linux driver reads the MAC address from the MAC registers and complains if the found values are invalid.

Any ideas to solve this problem, e.g.
- rewriting the MAC address after reset?
- not to reset the chip?
- another passing mechanism to the kernel?
- or ...

Best Regards,
Jens

#1 lore raw
Quoted 7 lines · In message <[email protected]> you wrote:

in the smc911x U-Boot driver the call of eth_halt() causes a reset of the ethernet controller. This also resets the MAC address in the according chip registers. This makes it impossible to pass the MAC address to an ARM kernel because the smc911x linux driver reads the MAC address from the MAC registers and complains if the found values are invalid.

You should have searched the archives and possible read the FAQ before posting. This has been discussed a zillion times before.

Quoted 1 line

Any ideas to solve this problem, e.g.

Pass it with the kernel's boot arguments.

...or implement FDT support for ARM.

Best regards,

Wolfgang Denk

Signature · 4 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
I have often regretted my speech, never my silence.