Hello Everyone,
We are developing a custom board based on IMX7 sabreSD. We are planning to support eMMC boot and SD boot. So I studied about fuse options in IMX7. Below is the summery of understanding.
Various boot mode and boot selection of device is based on BOOT_MODE and BOOT_CFG values as per TRM. Here BOOT_MODE[1:0] is based on hardware settings and BOOT_CFG values are to be fused into OTP registers for the first time. The 6.3.3 Fusemap Descriptions Table of TRM gives the fuse address values of BOOT_CFG value is 0x470. It also gives the fuse names and fuse functions of 0x470[19:0], 0x470[25], 0x470[27], 0x470[28],0x470[29] bits.
Now below are my queries related to this fuse map.
Can you please explain, what's that "HW_OCOTP_LOCK_BOOT_CFG[1]" bit is? Which register I need to set that bit?
Thank You in advance.
Regards,
Gopinath S
已解决! 转到解答。
Hello,
You are right, section 6.3.3 Fusemap Descriptions Table of i.MX 7Dual Applications Processor Reference Manual,
Rev. 0.1, 08/2016 provides common for all boot configurations (including BOOT_CFG : 0x470[19:0]) options.
BOOT_CFG : 0x470[19:0] contains also specific for boot device settings, that are described in section 6.6 System Boot.
The bits, that are not described - are not used, and should not be touched.
The LOCK bit is located at 0x400[3:2] - BOOT_CFG_LOCK ( section 6.3.3).
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hello,
You are right, section 6.3.3 Fusemap Descriptions Table of i.MX 7Dual Applications Processor Reference Manual,
Rev. 0.1, 08/2016 provides common for all boot configurations (including BOOT_CFG : 0x470[19:0]) options.
BOOT_CFG : 0x470[19:0] contains also specific for boot device settings, that are described in section 6.6 System Boot.
The bits, that are not described - are not used, and should not be touched.
The LOCK bit is located at 0x400[3:2] - BOOT_CFG_LOCK ( section 6.3.3).
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Yuri,
Thank You for your prompt response.When you say "should not be touched" means I cannot set that bit to high (1). Am I correct? Because I am planning to use MFG tool's ucl2.xml file to fuse the SOM.
For Eg in case of IMX6 it is like,
<CMD state="Updater" type="push" body="$ echo 0x4060 > /sys/fsl_otp/HW_OCOTP_CFG4">fuse prog 0 5 0x4060</CMD> <CMD state="Updater" type="push" body="$ echo 0x00000010 > /sys/fsl_otp/HW_OCOTP_CFG5">fuse prog 0 6 0x00000010</CMD> |
So I guess writing '0' to other bits will not cause any issues. Right?