[U-Boot] [PATCH 2/9] mvgbe: Support preserving the existing MAC address
Michael Spang
mspang at csclub.uwaterloo.ca
Tue Apr 26 06:20:41 CEST 2011
On Sun, Apr 24, 2011 at 7:50 PM, Wolfgang Denk <wd at denx.de> wrote:
> Dear Michael Spang,
>
> In message <1300391223-11879-3-git-send-email-mspang at csclub.uwaterloo.ca> you wrote:
>> The MVGBE driver either gets the MAC from the environment, or invents
>> one. This allows the driver to leave the existing address alone in
>> case it is initialized before U-Boot starts.
>
> Who or what would be doing that?
The manufacturer's bootloader runs first, and cannot easily be
replaced. So U-Boot is loaded second, after the MAC is already set.
>
>> while (!eth_getenv_enetaddr(s, dev->enetaddr)) {
>> +#if defined(CONFIG_PRESERVE_LOCAL_MAC)
>> + port_uc_addr_get(dmvgbe->regs, dmvgbe->dev.enetaddr);
>> +#else
>
> For consistency, should this not be
>
> port_uc_addr_get(dmvgbe->regs, dev->enetaddr);
>
> ?
Yes.
>
>
>> /* Generate Private MAC addr if not set */
>> dev->enetaddr[0] = 0x02;
>> dev->enetaddr[1] = 0x50;
>> @@ -734,6 +753,7 @@ error1:
>> dev->enetaddr[4] = get_random_hex();
>> dev->enetaddr[5] = get_random_hex();
>> #endif
>> +#endif
>> eth_setenv_enetaddr(s, dev->enetaddr);
>> }
>
> And please add documentation for the new CONFIG_PRESERVE_LOCAL_MAC to
> the README.
Ok I'll add:
CONFIG_PRESERVE_LOCAL_MAC
If no MAC address is set in the environment, then
preserve the ethernet interface's current MAC address.
Used if the MAC is configured before U-Boot is loaded.
Thanks,
Michael
More information about the U-Boot
mailing list