
In message 20040826171027.GA2759@umax645sx you wrote:
No. For U-Boot the reference is always the value of the "ethaddr" envrionment variable.
Ah, I probably didn't explain it too well :( "ethaddr" envrionment variable still exist, but it's not stored together with other variables, but in smc's eeprom itself (so it's not stored in two different places)
This is not acceptable. The environment is defined as a single contiguous area in memory (RAM while U-Boot is running). I will not accept exceptions from that rule.
That feature is configurable (eeprom is optional and smc can be told not to use it). Are you interested in patch?
No, see above.
Again: there is no need for such a behaviour. If there is a valid MAC address somewhere else, you can simply omit the "ethaddr" in the initialization of the environment, and you may even add code to automatically bootstrap the definition from this external storage. But that's all.
My point is exactly the same. After board is manufactured, it is put into automatic tester which writes mac address (basicaly it is computer hooked to serial line and some other signals for diagnostic) by issuing setenv ethaddr command. This command stores mac address directly into eeprom, not into the same space as other variables are stored (NOR flash)
No. Make your teste write it directly to the EEPROM if you like (but not though the "setenv" command, as this will always write to _one_ device only).
Once set, overwriting mac address is allowed, but it is password protected. That way unexperienced user is not able to change it, but service technician is.
Such password protection is overkill. Shall I show you how an unexperienced user is able to overwrite the whole environment even if you password protect it? You just need to read the documentation and add 2 and 2 together.
Best regards,
Wolfgang Denk