i.mx6ull GP3 & GP4 burning issue

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

i.mx6ull GP3 & GP4 burning issue

Jump to solution
2,197 Views
courk
Contributor II

Hi,

We are trying to burn the GP3 and GP4 (General purpose fuse register 3 and 4, ranging from 0x880 to 0x8f0) by using the available sysfs entries. We are using NXP official BSP release 4.1.15_2.0.0_ga.

We are doing something like this:

echo 0xdeadbeef > /sys/fsl_otp/HW_OCOTP_GP30
echo 0xdeadbeef > /sys/fsl_otp/HW_OCOTP_GP31
echo 0xdeadbeef > /sys/fsl_otp/HW_OCOTP_GP32
echo 0xdeadbeef > /sys/fsl_otp/HW_OCOTP_GP33

Unfortunately, this doesn't work. Fuses are not burnt, the behavior is the same when we are trying to burn a locked fuse.

Nevertheless, based on the lock fusemap available on page 212 of the imx6ull reference manual, I can confirm GP3 and GP4 are not locked.

# cat /sys/fsl_otp/HW_OCOTP_LOCK
0x333f03

// 0x333f03 & (1 << 15) = 0

//  0x333f03 & (1 << 23) = 0

How can this behavior be explained ? I can confirm other fuses like HW_OCOTP_SW_GPn, HW_OCOTP_MACn, HW_OCOTP_GP1 or HW_OCOTP_GP2 seem to work as expected.

Thanks !

Labels (1)
Tags (2)
0 Kudos
1 Solution
1,689 Views
Yuri
NXP Employee
NXP Employee

Hello,

  It is a known design issue. GP3 and GP4 fuses can't be programmed on i.MX6ULL platform,

there is no SW workaround. This will be reflected in Errata.

Regards,

Yuri.

View solution in original post

0 Kudos
8 Replies
1,689 Views
cagdas_altin
Contributor II

Hi Yuri,

You said GP3 and GP4 can't be programmed. I am having this issue with GP1, GP2, Misc_Conf and Mac address. We have the EVK board and we try to burn the fuses as described in the section 37.3.1.3 of the imx 6ULL reference manual.


When we first received the boards, the lock register had this value 0x00320003 which shows that mac addresses was not burned although they were. Then we tested the burning logic on Misc_Conf and GP2 but the lock register bits didn't change?

Could you tell me what lock groups work and what not?

Thanks,

Cagdas

0 Kudos
1,689 Views
Yuri
NXP Employee
NXP Employee

Hello,

   As I know, customer can use GP1 and GP2 fuses for own purposes;

these fuse are not programmed in production.

Regards,

Yuri.

0 Kudos
1,690 Views
Yuri
NXP Employee
NXP Employee

Hello,

  It is a known design issue. GP3 and GP4 fuses can't be programmed on i.MX6ULL platform,

there is no SW workaround. This will be reflected in Errata.

Regards,

Yuri.

0 Kudos
1,689 Views
evgenyboger
Contributor II

After more than two years, this issue is still not reflected in Errata.

0 Kudos
1,689 Views
ceggers
Contributor V

Dear Yuri,

I just stumbled on this thread. With a current kernel I tried to write a key to the GP3 fuses on i.MX6ULL:

# cd /sys/bus/nvmem/devices/imx-ocotp0

# dd if=/key of=nvmem bs=4 seek=56
dd: writing 'nvmem': Operation not permitted

imx_ocotp 21bc000.ocotp-ctrl: failed write to locked region

The same for GP4 (seek=60) AND SW_GP (seek=40).

Being able to write a key to the fuses is mission critical for my project. Where can I get concrete information about this "design issue"?

regards

Christian

0 Kudos
1,689 Views
igorpadykov
NXP Employee
NXP Employee

Hi courk

what part used in the case, as GP3 is available only on G3 part version and GP4 on G2&G3.

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

0 Kudos
1,689 Views
courk
Contributor II

Hi,

Thanks for the answer !

I'm not sure about part numbers G2 or G3. Aren't these part numbers for imx6ul instead of imx6ull ? imx6ull shouldn't be Y0, Y1, Y2 or Y7 ?

We do use a Y1 part (MCIMX6Y1DVK05AA). I searched but cannot find any information about some fuses not being avaible for some part numbers of the imx6ull.

Thanks for your help !

0 Kudos
1,689 Views
igorpadykov
NXP Employee
NXP Employee

right, reason may be that these GP registers are not present in

parts with reduced capabilities.

Best regards
igor

0 Kudos