RE MAC address; we are doing our own board; is having the MAC address
in the EEPROM the only way to do it? How would you program the EEPROM
at the factory if starting with a fresh blank part?
>
>> Guys, where is the MAC address set for eth0 on the BeagleBone?
>
> In the EEPROM. On A6 it's write protected by default, use the test
> pad to unprotect.
Well, I may have spoken before my brain understood everything. I'm
actually not sure where the MAC is stored at this moment, sorry.
The MAC addresses are stored in registers of the AM335x. From the TRM:
“The values read from Control Module (Base address 0x44E1_0000) MAC_ID0_LO register (Offset 0x630), MAC_ID0_HI register (Offset 0x634), MAC_ID1_LO register (Offset 0x638), and MAC_ID1_HI register (Offset 0x63C) represent unique MAC addresses assigned to each AM335x device. The values in these registers are programmed into each AM335x device by TI and can not be changed.”
In addition, these values are read out in am33xx_cpsw_init() in arch/arm/mach-omap2/devices.c. You could change that function if you wanted to load a custom MAC address.