read imx6 Unique ID

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

read imx6 Unique ID

3,036 Views
myungjinhwang
Contributor III

hi.

i'm finding a 64bit device unique ID in imx6 board.

i found OCOTP_CFG0, OCOTP_CFG1. the chapter 46.5.10, 46.5.11 explain that they are each 32 bits unique IDs in IMX6DQRM doc.

1. can i read OCOTP_CFG0, OCOTP_CFG1 with physical address (Address: 21B_C000h base + 410h offset = 21B_C410h)?

2. it could be read only secure mode ? or non-secure mode?

Best regards.

0 Kudos
5 Replies

923 Views
_asif_muhammed_
Contributor III

Hi,

Can you please tell me on what basis this unique ID is given? Like is it based on the wafer number or something?

Or will CFG0 will be constant for a batch and CFG1 will be changing? Can you please shed some light on to this?

Tags (2)
0 Kudos

1,892 Views
art
NXP Employee
NXP Employee

Q1. can i read OCOTP_CFG0, OCOTP_CFG1 with physical address (Address: 21B_C000h base + 410h offset = 21B_C410h)?

A1. Yes, you can do it, for example, using the memtool utility.

Q2. it could be read only secure mode ? or non-secure mode?

A2. These registers can be read in both non-secure and secure mode while the corresponding fuse lock bits are not blown.


Have a great day,
Artur

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,892 Views
myungjinhwang
Contributor III

hi Artur Petukhov

thanks for the reply.

i have one more question about Q1.

Can i read OCOTP_CFG0, OCOTP_CFG1 in the linux kernel or u-boot  code with physical address without memtool utility?

Have a good day,

Myungjin Hwang

0 Kudos

1,892 Views
BiyongSUN
NXP Employee
NXP Employee

I have shown you already.

please check my previous reply.

copy here again.

root@imx6qdlsolo:~# cat /sys/fsl_otp/HW_OCOTP_CFG0

0xd81917c9

root@imx6qdlsolo:~# cat /sys/fsl_otp/HW_OCOTP_CFG1

0xd1b19d4

0 Kudos

1,892 Views
BiyongSUN
NXP Employee
NXP Employee

A1:

root@imx6qdlsolo:~# cat /sys/fsl_otp/HW_OCOTP_CFG0
0xd81917c9
root@imx6qdlsolo:~# cat /sys/fsl_otp/HW_OCOTP_CFG1
0xd1b19d4

root@imx6qdlsolo:~# /unit_tests/memtool OCOTP.CFG0
SOC: i.MX6Q
OCOTP    Addr:0x21bc000
  OCOTP.CFG0 Addr:0x021BC410 Value:0xD81917C9 - Copied from the OTP automatically after reset.
     OCOTP.CFG0.BITS(0..31)     :0xd81917c9
             This register contains 32 bits of the Unique ID and SJC_CHALLENGE field.

root@imx6qdlsolo:~# /unit_tests/memtool OCOTP.CFG1
SOC: i.MX6Q
OCOTP    Addr:0x21bc000
  OCOTP.CFG1 Addr:0x021BC420 Value:0x0D1B19D4 - Copied from the OTP automatically after reset.
     OCOTP.CFG1.BITS(0..31)     :0xd1b19d4
             This register contains 32 bits of the Unique ID and SJC_CHALLENGE field.

root@imx6qdlsolo:~#  /unit_tests/memtool   0x021BC410  1
E
Reading 0x1 count starting at address 0x021BC410

0x021BC410:  D81917C9

root@imx6qdlsolo:~#  /unit_tests/memtool   0x021BC420 1
E
Reading 0x1 count starting at address 0x021BC420

0x021BC420:  0D1B19D4

A2:

It is read only by LOCK_TESTER.    LOCK_TESTER only for manufacturing to lock.

It is said when this chip is shipped to the field, the ID is Unique.

Each one of single chip has its only Unique ID and read only.

0 Kudos