snapdragon: added MAC generation functions

Add support for generation of unique MAC address
that is derived from board serial.
Algorithm for generation of MAC taken from LK.

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
lime2-spi
Ramon Fried 6 years ago committed by Tom Rini
parent 86e5e42946
commit e0b04a1525
  1. 1
      arch/arm/mach-snapdragon/include/mach/misc.h
  2. 16
      arch/arm/mach-snapdragon/misc.c

@ -8,5 +8,6 @@
#define MISC_H #define MISC_H
u32 msm_board_serial(void); u32 msm_board_serial(void);
void msm_generate_mac_addr(u8 *mac);
#endif #endif

@ -35,3 +35,19 @@ u32 msm_board_serial(void)
return UNSTUFF_BITS(mmc_dev->cid, 16, 32); return UNSTUFF_BITS(mmc_dev->cid, 16, 32);
} }
void msm_generate_mac_addr(u8 *mac)
{
int i;
char sn[9];
snprintf(sn, 8, "%08x", msm_board_serial());
/* fill in the mac with serialno, use locally adminstrated pool */
mac[0] = 0x02;
mac[1] = 00;
for (i = 3; i >= 0; i--) {
mac[i + 2] = simple_strtoul(&sn[2 * i], NULL, 16);
sn[2 * i] = 0;
}
}

Loading…
Cancel
Save