Fusing MAC addresses in IMX8

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Fusing MAC addresses in IMX8

6,636 Views
a_thomas
Contributor II

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?

Page876.png

This is stated on Page 885. Offsets at 0x640, 0x650, 0x660 are reserved for writing MAC addresses from software.

Page885.png

I'm really confused as to how to interpret this ambiguous information regarding MAC_ADDR fuses.

0 Kudos
6 Replies

5,872 Views
rohitdubey
Contributor III

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

4,787 Views
pgentili
Contributor III

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

5,528 Views
kikote
Contributor II

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)


 

5,874 Views
Yuri
NXP Employee
NXP Employee

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.

0 Kudos

5,874 Views
a_thomas
Contributor II

Thanks for the quick reply,  i neither have this folder on my system

fsl_otp

under /sys folder nor this file

HW_OCOTP_MAC0
0 Kudos

5,874 Views
Yuri
NXP Employee
NXP Employee

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.

0 Kudos