kirkwood_egiga: CONFIG_SKIP_LOCAL_MAC_RANDOMIZATION

This configuration option allows SoCs without random
generation capability to fill in local MACs with a  fixed
rather than random value

Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
This commit is contained in:
Albert Aribaud 2010-07-12 11:03:33 +02:00 committed by Ben Warren
parent 836cd45358
commit c67e2ccd50
1 changed files with 9 additions and 1 deletions

View File

@ -699,13 +699,21 @@ int kirkwood_egiga_initialize(bd_t * bis)
}
while (!eth_getenv_enetaddr(s, dev->enetaddr)) {
/* Generate Random Private MAC addr if not set */
/* Generate Private MAC addr if not set */
dev->enetaddr[0] = 0x02;
dev->enetaddr[1] = 0x50;
dev->enetaddr[2] = 0x43;
#if defined (CONFIG_SKIP_LOCAL_MAC_RANDOMIZATION)
/* Generate fixed lower MAC half using devnum */
dev->enetaddr[3] = 0;
dev->enetaddr[4] = 0;
dev->enetaddr[5] = devnum;
#else
/* Generate random lower MAC half */
dev->enetaddr[3] = get_random_hex();
dev->enetaddr[4] = get_random_hex();
dev->enetaddr[5] = get_random_hex();
#endif
eth_setenv_enetaddr(s, dev->enetaddr);
}