Number of Fuses and Fuse Address Confusion in TRM and Security Manuals

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

Number of Fuses and Fuse Address Confusion in TRM and Security Manuals

Jump to solution
369 Views
scottNureva
Contributor II

I'm tasked with creating a fuse map in preparation for securing an i.MX8M Plus device.  As I've been diving through the fuses, I stumbled on some sections that seem to be typos (they exist in both the i.MX8M Plus TRM as well as the Security Manual, when the unsecured options exist in both).

For example, Fuse 0x420[10:0] is shown as UNIQUE_ID[42:0] and Number of Fuses is set to 43.  How?  Would this not be 11 bits of the Unique ID?

scottNureva_0-1704396840142.png

Also, the MAC addresses:

At 0x640[15:0] it's listed as MAC_0_ADDR[47:0] with the Number of Fuses set to 48, and
At 0x650[31:16] it's listed as MAC_1_ADDR[47:0] with the Number of Fuses also set to 48.  How?

scottNureva_1-1704396995975.png

For the security SRK_HASH the total number of fuses is listed as 256 but the (24?) words allocated doesn't seem to line up?  Is this where 3x SRK keys are stored?

Another example is the USB_VID/PID at 0x620[15:0]/[31:16]which shows USB_VID/PID[31:0] (32-bits) but as expected only 16 fuses are allocated (each)--clearly a typo.

Seems like lots of typos which concerns me for something that can easily brick our device.  

My TRM is dated 6/2021 I'll look for a later version, but much of this is also replicated in the Security Manual (dated 4/2021).  Can you please let me know if I need to request an updated Security Manual if 4/2021 is not the latest version?  

Thanks.

0 Kudos
Reply
1 Solution
332 Views
joanxie
NXP TechSupport
NXP TechSupport

1)for unique_id, the lower 32bits is from 0x420[32:0] and higher 32bits is from 0x430[32:0], for mac address,

 MAC_1_ADDR is in 0x640[0:31] and 0x650[0:15]. MAC_2_ADDR is in 0x650[16:31] and 0x660[0:31].

2)Another example is the USB_VID/PID at 0x620[15:0]/[31:16]which shows USB_VID/PID[31:0] (32-bits) but as expected only 16 fuses are allocated (each)--clearly a typo.

>yes only 16bits each

View solution in original post

3 Replies
333 Views
joanxie
NXP TechSupport
NXP TechSupport

1)for unique_id, the lower 32bits is from 0x420[32:0] and higher 32bits is from 0x430[32:0], for mac address,

 MAC_1_ADDR is in 0x640[0:31] and 0x650[0:15]. MAC_2_ADDR is in 0x650[16:31] and 0x660[0:31].

2)Another example is the USB_VID/PID at 0x620[15:0]/[31:16]which shows USB_VID/PID[31:0] (32-bits) but as expected only 16 fuses are allocated (each)--clearly a typo.

>yes only 16bits each

326 Views
scottNureva
Contributor II

Thank you for the feedback; I'll annotate my copy of the document to reflect those changes.  I would have not guessed the MAC addresses as 0x660 was missing from the table but makes sense from the OCOTP banks.

Cheers,

Scott

0 Kudos
Reply
365 Views
scottNureva
Contributor II

Made a slight typo on security SRK --- it's only 8 words so that matches--I misread the ending register value...

0 Kudos
Reply