Already gone through this thread: https://community.nxp.com/thread/316232
It's marked 'answered' so I made another one because I don't know how it shows.
We have custom iMX6SX based hw. I've already added fsl_otp - support to mfgtool Linux and I have /sys/fsl_otp - directory with content.
Problem is to map the content of those files to match the fuses.
What we want it BOOT_CFG1 = 0x62 and BOOT_CFG2 = 0xD8.
So I did this:
echo 0x00000062 > /sys/fsl_otp/HW_OCOTP_CFG1
echo 0x000000D8 > /sys/fsl_otp/HW_OCOTP_CFG2
Well, that wasn't right from what I see. Result was this:
cat /sys/fsl_otp/HW_OCOTP_CFG1 => 0x1a2369f6 (initial value was 0x1a2369d4 with no previous programming)
cat /sys/fsl_otp/HW_OCOTP_CFG2 => 0x50000ff (initial value was 0x500007f with no previous programming)
So there were already blown fuses and result wasn't what we wanted. Did I use from files for those fuse registers or how this should work? Don't want to waste too many CPU for testing.
Solved! Go to Solution.
Hi Maddis
For programming 0x450[7:0] BOOT_CFG1 = 0x62 and 0x450[15:8] BOOT_CFG2 = 0xD8 you have to program the fuses in bank 0 word 5.
In that case the correct would be:
- BOOT_CFG1 = 0x62
echo 0x00000062 > /sys/fsl_otp/HW_OCOTP_CFG4
- BOOT_CFG2 = 0xD8
echo 0x0000D800 > /sys/fsl_otp/HW_OCOTP_CFG4
For a more detailed procedure check the posts below:
Burning eFuses on i.MX6 and i.MX7 - i.MXDev Blog
Setting boot configuration on i.MX - i.MXDev Blog
Thanks,
Breno Lima
Hi mc
seems programming was done correctly as:
>cat /sys/fsl_otp/HW_OCOTP_CFG1 => 0x1a2369f6 (initial value was 0x1a2369d4 with no previous programming)
performing echo 0x00000062 > /sys/fsl_otp/HW_OCOTP_CFG1 sets bits 0x20 and 0x2 and this makes
0x1a2369d4 --> 0x1a2369f6
>cat /sys/fsl_otp/HW_OCOTP_CFG2 => 0x50000ff (initial value was 0x500007f with no previous programming)
performing echo 0x000000D8 > /sys/fsl_otp/HW_OCOTP_CFG2 sets bit 0x80 and this makes 0x500007f --> 0x50000ff
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Maddis
For programming 0x450[7:0] BOOT_CFG1 = 0x62 and 0x450[15:8] BOOT_CFG2 = 0xD8 you have to program the fuses in bank 0 word 5.
In that case the correct would be:
- BOOT_CFG1 = 0x62
echo 0x00000062 > /sys/fsl_otp/HW_OCOTP_CFG4
- BOOT_CFG2 = 0xD8
echo 0x0000D800 > /sys/fsl_otp/HW_OCOTP_CFG4
For a more detailed procedure check the posts below:
Burning eFuses on i.MX6 and i.MX7 - i.MXDev Blog
Setting boot configuration on i.MX - i.MXDev Blog
Thanks,
Breno Lima