mxc_ocotp fuse_prog(): Access protect error while writing OCOTP_GP3_0 - 3 & OCOTP_GP4_0 -3 registers

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

mxc_ocotp fuse_prog(): Access protect error while writing OCOTP_GP3_0 - 3 & OCOTP_GP4_0 -3 registers

Jump to solution
1,036 Views
roshanmohammed
Contributor I

Hi,

We are using IMX6ULL in our device. We are planning to fuse HW version information in the general purpose customer defined info register. We tried to fuse value by using the below commands in U-boot. 

fuse prog 7 0 0x11223344

We are getting an error below.

mxc_ocotp fuse_prog(): Access protect error

Similarly I was unable to fuse value into OCOTP_GP2 also.

Let me know why I am unable to write into these registers. Am I need to enable any other bits of register to get access of writing into it.

Surprisingly at the same time I was able to fuse the value to the other general purpose register OCOTP_GP1. Please confirm that whether can I use this register for storing my information?

Regards

Roshan Mohammed PP

Labels (1)
0 Kudos
1 Solution
889 Views
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @roshanmohammed,

Can I mark this case as close now?

Thanks & Regards,
Dhruvit Vasavada

View solution in original post

0 Kudos
10 Replies
980 Views
roshanmohammed
Contributor I

Hi @Dhruvit Thanks for the valuable information. What about GP2. I am unable to write into that also.

I am able to write into GP1. Is there any constraints if I am using GP1 register for our purposes?

0 Kudos
970 Views
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @roshanmohammed,

I hope you are doing well.

Could you please share the command used for programming GP2 fuse register?

I am able to write into GP1. Is there any constraints if I am using GP1 register for our purposes?

[Ans]: Yes, the Customer can use GP1 for their purposes.

Thanks & Regards,
Dhruvit Vasavada

 

0 Kudos
950 Views
roshanmohammed
Contributor I

Thank you @Dhruvit for your support.

I am using the command fuse prog 5 2 0x11223344 to fuse the GP2 register in the U-boot. I have done this after fusing GP1 register. Fusing GP1 register was successful. 

0 Kudos
924 Views
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @roshanmohammed

I hope you are doing well.

OCOTP_GP2 is available at Bank 4 & Word 7.

Please refer to 37.5 OCOTP Memory Map/Register Definition in RM for more information.

Please share the output of the below command for further debugging.

=> fuse read 0 0

Thanks & Regards,
Dhruvit Vasavada

0 Kudos
908 Views
roshanmohammed
Contributor I

Below is the output after trying to fuse Bank 4 & Word 7. 

roshanmohammed_0-1689060571966.png

 

Below is the value for Bank 0 & Word 0

Word 0x00000000: 003a7237

 

0 Kudos
898 Views
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @roshanmohammed,

I hope you are doing well.

fuse (bank 0, word 0) is an OCOTP_LOCK fuse.
Here bit 12 & 13 are set (GP2_LOCK[13:12] at 0x400) are set.

So, fuse GP2 seems to be locked (write & override protect).

Please refer to 37.5.12 Value of OTP Bank0 Word0 (Lock controls)
(OCOTP_LOCK) in RM for more information.

Thanks & Regards,
Dhruvit Vasavada

0 Kudos
893 Views
roshanmohammed
Contributor I

Hi @Dhruvit Thanks for this information. I think we have resolved.

0 Kudos
890 Views
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @roshanmohammed,

Can I mark this case as close now?

Thanks & Regards,
Dhruvit Vasavada

0 Kudos
885 Views
roshanmohammed
Contributor I

Sure

0 Kudos
1,011 Views
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @roshanmohammed,

I hope you are doing well.

The OCOTP general-purpose fuse banks GP3 and GP4 are locked and cannot be programmed.

Please refer to ERR011163 in Chip Errata for the i.MX 6ULL

Thanks & Regards,
Dhruvit Vasavada

0 Kudos