AnsweredAssumed Answered

IMX7 BOOT_CFG Fuse map details

Question asked by Gopinath Srinivasan on Jul 3, 2017
Latest reply on Jul 3, 2017 by Gopinath Srinivasan

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. 


  1. 0x470 offset is mapped to OCOTP_BOOT_CFG0 OTP register. So I need to write one time value to this fuse map based on my boot device selection. Now I am figuring out the 32 bit value for this fuse map. From the TRM, I have managed to find the values of 0x470[15:0] and 0x470[28] which is BT_FUSE_SEL. Now my question is, how can I select the other values for this 32 bit fuse OTP register? I mean, I want to know the valid values for 0x470[31:16] excluding 0x470[28] ? Where can I find those details?
  2. Also can any one confirm, that above understanding about fuse map in IMX7 is correct?  Specifically Is the fuse map OTP register OCOTP_BOOT_CFG0 correct? 
  3. In the OTP register section of OCOTP_BOOT_CFG0, I can see below description 

       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. 



Gopinath S