I have read the Tech Ref manual regarding Ethernet boot.
How is the Ethernet MAC address set?.
I read something about it being set by EFUSE, but I can't find any info on what that is.
-steve
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
I have read the Tech Ref manual regarding Ethernet boot.
How is the Ethernet MAC address set?.
I read something about it being set by EFUSE, but I can't find any info on what that is.
-steve
Steve,
The MAC address is set by efuse and is accessed via these registers (found in the Device Configuration Registers Summary table in the datasheet):
0x4814 0630 MAC_ID0_LO Ethernet MAC Address 0
0x4814 0634 MAC_ID0_HI Ethernet MAC Address 0
0x4814 0638 MAC_ID1_LO Ethernet MAC Address 1
0x4814 063C MAC_ID1_HI Ethernet MAC Address 1
Regards,
Marc
Marc
From looking at other posts that mention the term efuse, it seems that the MAC address is programmed by TI at chip manufacture time and so the vendor does not have to create/program their own MAC address
Am I correct?.
thanks
steve
Hi Steve,
You are right that the EFUSEs are burned during TI production line, but I think you can modify the content of the MAC_ID register afterward yourself, should you want to use your own MAC address series. This can of cause first be done after SW booting => Not for Ethernet peripheral booting, since the MAC_ID register will default to the EFUSE-programmed value at power up...
In case you buy enough chips (whatever this mean - but I think minimum order somewhere around 100K-1M+ chips/year) you might (at least for some chips*) be able to have TI to customise the EFUSEs for you, but a confirmation from TI needs to be given in every single case and AFAIK you (as indicated above) need to commit a large yearly volume for this to be a possibility...
Best regards
Søren
*@TI: Can custom EFUSE burning be arrangement for these chips as well or is this service only available for the high-volume mobile OMAP-chips, which I referred to above?
In summary:
For initial ethernet boot and for Linux driver initialization, a unique MAC address is needed for every device (only then will DHCP yield a proper IP). We rely on the MAC address blown through e-fuse for this purpose. Though the Linux driver will rely on this, it is possible to change the MAC address used by the EMAC module at runtime by writing to the appropriate MAC address registers.
TI can offer EFUSE options for high volume customer engagements.
Regards,
Marc
Here are some more details about the registers associated with the EMAC addresses:
The MAC address values are read from the Device Configuration registers MAC_IDx_LO and MAC_IDx_HI (ReadOnly).
The addresses can be programmed by writing to the MACADDRLO and MACADDRHI registers (RW) in the EMAC Control Registers.
Regards,
Marc
We want to ship some products based on the 81XX line of processors. Is it ok to continue to use the MAC addresses shipped with the parts, or should we get our own OUI and program in Mac addresses ourselves?
Oliver
Oliver,
In most cases it is OK to just use the MAC addresses shipped with the parts.
Regards,
Marc
Hi Marc,
If we want to use our own MAC address. How could I do this?
By writing to the MACADDRLO and MACADDRHI registers (RW) in the EMAC Control Registers ?
Writting MACADDRLO and MACADDRHI will change the values that read from MAC_IDx_LO and MAC_IDx_HI ? If i dont write it, the mac address value will be default by EFUSE-programmed value?
BTW, I dont have any eeprom in my board. Could I store my own mac address in the UBoot Env of nand flash?
Any help will be appreciate!
thank you !
BR
Steven
Steven,
Yes, the addresses can be programmed by writing to the MACADDRLO and MACADDRHI registers (RW) in the EMAC Control Registers, and the efuse programmed values will then not be used.
Regards,
Marc