Hello everyone,
I want to fuse the correct fuses using UBoot. However, I'm slightly confused about the fusing of MAC addresses for IMX8. According to reference manual, on Page 876.
Fuse address (offset ) for MAC is 0x640. I interpreted the following: This fuse is 32 bits long, reseved for higher 16 bits. How would i program the Lower 32 bits?
This is stated on Page 885. Offsets at 0x640, 0x650, 0x660 are reserved for writing MAC addresses from software.
I'm really confused as to how to interpret this ambiguous information regarding MAC_ADDR fuses.
Hi,
In case anyone is still looking for a solution for this, the below commands worked for me from the u-boot prompt (AA:BB:CC:DD:EE:FF):
fuse prog 9 0 0xDDCCBBAA
fuse prog 9 1 0xFFEE
Hi, on iMX8M Mini the order is a little bit different:
if MAC Address is Aa:Bb:Cc:Dd:Ee:Ff the uboot commands would be:
fuse prog 9 0 Cc:Dd:Ee:Ff
fuse prog 9 1 Aa:Bb
WARNING WARNING
The address sequence is not OK for u-boot imx8mq AVNET MaaX board
rohitdubey wrote: "u-boot prompt (AA:BB:CC:DD:EE:FF)" ....
But for imx8mq u-boot should be FF:EE:DD:CC:BB:AA !
p.p I screwed a chip, but luckily the highest byte is 0x7A ( bit 0 is not 1, multicast etc)
Hello,
I hope the following helps:
"Burn exact MAC address to eFuse in imx6"
< https://community.nxp.com/message/387036 >
Have a great day,
Yuri
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
Thanks for the quick reply, i neither have this folder on my system
fsl_otp
under /sys folder nor this file
HW_OCOTP_MAC0
Hello,
fuse burning under Linux now is not supported. Use U-boot fuse command.
OCOTP_HW_OCOTP_MAC_ADDR1 = (((mac_data[0] & 0xFF) << 8) | (mac_data[1] & 0xFF));
OCOTP_HW_OCOTP_MAC_ADDR0 = (((mac_data[2] & 0xFF) << 24) | ((mac_data[3] & 0xFF) << 16) | ((mac_data[4] & 0xFF) << 8) | (mac_data[5] & 0xFF));
OCOTP_HW_OCOTP_MAC_ADDR0 is Bank 9, word 0.
OCOTP_HW_OCOTP_MAC_ADDR1 is Bank 9, word 1.
Regards,
Yuri.