AnsweredAssumed Answered

Flashing fuses on custom imx6 board

Question asked by Kyle Johnson on Nov 26, 2013
Latest reply on Jun 9, 2016 by Han Xu
We are trying to bring up our custom board (based upon i.MX6 and the SABRE Lite schematic). We have made substantial progress, and have been able to flash to RAM and to the SD card using the mfgtool, but are having trouble now booting off of the SD card (specifically trying to boot off of the SD3 slot). We need to be able to change the boot mode to boot from the sd card.


Our board has pins BOOT_MODE0 and BOOT_MODE1, but no additional pins for setting up boot modes (as are available in the SABRE SD design) without flashing fuses. So our way forward is to flash fuses, but we want to make sure we are doing it correctly.


We have found two ways of flashing fuses:


Option 1

From "Manufacturing Tool V2 Quick Start Guide" associated with the mfgtool documents, we found the following three suggested lines of code (to be added to the configuration file ucl2.xml):


<CMD state="Updater" type="push" body="$ ls /sys/fsl_otp ">Showing HW_OCOTP fuse bank</CMD>

<CMD state="Updater" type="push" body="$ echo 0x11204154 > /sys/fsl_otp/HW_OCOTP_CFG1">write 0x11204154 to HW_OCOTP_CFG1 fuse bank</CMD>

<CMD state="Updater" type="push" body="$ cat /sys/fsl_otp/HW_OCOTP_CFG1">Read value from HW_OCOTP_CFG1 fuse bank</CMD>

NOTE: we believe (and added to the above lines of code) that “HW_OCOTP_CFG1” is the fuse bank we need to change (IMX6DQRM chapter 8 table 8-8.) We also believe that the fuse value is 0x11204154 (according to the same table, based upon the returned cat value on CFG1 fuse bank of 0x112041d4.)


Question: can you confirm this fuse bank and value (HW_OCOTP_CFG1,  0x11204154)?


Option 2

The other option is to use the uboot to flash the fuses. This is done as show on this link This link indicates that we should run imxotp from uboot as follows:


imxotp blow [--force] <index> <value>


NOTE: the “<index>” is the hex representation for the fuse name. We think that the “<value>” is the fuse value 0x11204154 (also according to Reference Manual, chapter 8 table 8-8).

We do not know the hex value for the “<index>”.



(1) Are we correct in trying thus to change “<index>” and “<value>” in order to boot from the SD card?

(2) Is the fuse value 0x11204154 correct?

(3) Is CFG1 the correct fuse bank for us to use, and if so what is the correct “<index>” hex value?