My company needs to store a serial number on our Android i.MX6-based devices. What is the best practice for doing this?
I found that the i.MX6 chip has 64 bits worth of General Purpose fuses (GP1[31:0] at 0x620, GP2[31:0] at 0x630) that would serve. However, our S/N would consume at least 24 of the 64, which cuts pretty deeply into that limited resource. We have also talked about just writing it to our eMMC storage, but we're concerned about losing the S/N during memory failure, upgrades, etc.
I'd be interested in hearing anyone's experience in this area. Thanks for any advice you can provide.
Hi @Yuri,
I have used this mechanism to write the serial number in the imx6 customized IoT gateway. While doing this activity I had written the wrong serial number.
So, is it possible to change the serial number in "sys/fsl_otp/HW_OCOTP_GP1"? Please help me.
Thanks in advance.
Please look at my comments below.
1.
As for "free" fuses, please refer to Chapter 5 (Fusemap), Table 5-10 (Fusemap Descriptions)
of the i.MX6 DQ Reference Manual. Customers can use OEM fields (if not applied as SJC_RESP
and MAC_ADDR); also GP1, GP2 fuses may be mentioned here. SRK_HASH is intended for
HAB application, if there is no need for HAB, SRK_HASH also may be considered. But – strictly
speaking – Freescale does not guarantee that some of these fuses (as GP) cannot be used by
software (boot ROM, OS).
2.
To program fuses we may use Linux sysfs options of Linux.
Showing HW_OCOTP fuse bank :
$ ls -la /sys/fsl_otp
Writing 0x00006200 to HW_OCOTP_GP1 :
$ echo 0x00006200 > /sys/fsl_otp/HW_OCOTP_GP1
Read value from HW_OCOTP_GP1 :
$ cat /sys/fsl_otp/HW_OCOTP_GP1
3.
Let me remind – the i.MX6 fuses can be burned once.
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------