<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic How to set OTP bits with MfgTool? in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/How-to-set-OTP-bits-with-MfgTool/m-p/166447#M4582</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'd like to use mfg-tool to program an OtpInit.sb as part of production programming. The OtpInit.sb is produced by otp_burner.py.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is a chunk of my ucl.xml:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;LIST name="Full Install" desc="Full Install on NAND"&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;!-- Flash OTP Bits --&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;CMD type="boot" body="Recovery" file="OtpInit.sb" timeout="60"&amp;gt;flashing OTP.&amp;lt;/CMD&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;!-- Force into USB Boot mode, then load the updater_ivt.sb bootstream - Linux Env. --&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;CMD type="boot" body="Recovery" file="updater_ivt.sb" timeout="60"&amp;gt;Booting Update Firmware.&amp;lt;/CMD&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;!-- Wait for Linux to boot and show up as the USB Gadget device. --&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;CMD type="find" body="Updater" timeout="180"/&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But, this doesn't work. I think there must be some command that I need to execute after booting the OtpInit.sb image.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is what I see on the debug console:&lt;/P&gt;&lt;P&gt;"&lt;/P&gt;&lt;P&gt;pitc_loader(8003)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loading pitc id 8003&lt;/P&gt;&lt;P&gt;pitc installed&lt;/P&gt;&lt;P&gt;initialize pitc 2280: id:8003&lt;/P&gt;&lt;P&gt;"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I program this bootstream from BitInit.exe, it works fine, and I get:&lt;/P&gt;&lt;P&gt;"&lt;/P&gt;&lt;P&gt;pitc_loader(8003)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loading pitc id 8003&lt;/P&gt;&lt;P&gt;pitc installed&lt;/P&gt;&lt;P&gt;initialize pitc 2280: id:8003&lt;/P&gt;&lt;P&gt;pitc 8003: process_cdb(cdb:14)&lt;/P&gt;&lt;P&gt;k_pitc_cmd_write_otp_register_set&lt;/P&gt;&lt;P&gt;pitc 8003: process_cdb(cdb:11)&lt;/P&gt;&lt;P&gt;k_pitc_cmd_request_sense&lt;/P&gt;&lt;P&gt;"&lt;/P&gt;&lt;P&gt;-So, definitely something is missing.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in the mfgtool source, I see the section DWORD COpMxRomUpdate::InitOtpRegs() - but it is commented out for some reason - so is this functionality broken/unsupported?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm in a big hurry to get this working - production starts on Dec. 1st.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;-Patrick&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 06 Nov 2012 20:41:43 GMT</pubDate>
    <dc:creator>patrickmcneil</dc:creator>
    <dc:date>2012-11-06T20:41:43Z</dc:date>
    <item>
      <title>How to set OTP bits with MfgTool?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-set-OTP-bits-with-MfgTool/m-p/166447#M4582</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'd like to use mfg-tool to program an OtpInit.sb as part of production programming. The OtpInit.sb is produced by otp_burner.py.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is a chunk of my ucl.xml:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;LIST name="Full Install" desc="Full Install on NAND"&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;!-- Flash OTP Bits --&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;CMD type="boot" body="Recovery" file="OtpInit.sb" timeout="60"&amp;gt;flashing OTP.&amp;lt;/CMD&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;!-- Force into USB Boot mode, then load the updater_ivt.sb bootstream - Linux Env. --&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;CMD type="boot" body="Recovery" file="updater_ivt.sb" timeout="60"&amp;gt;Booting Update Firmware.&amp;lt;/CMD&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;!-- Wait for Linux to boot and show up as the USB Gadget device. --&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;CMD type="find" body="Updater" timeout="180"/&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But, this doesn't work. I think there must be some command that I need to execute after booting the OtpInit.sb image.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is what I see on the debug console:&lt;/P&gt;&lt;P&gt;"&lt;/P&gt;&lt;P&gt;pitc_loader(8003)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loading pitc id 8003&lt;/P&gt;&lt;P&gt;pitc installed&lt;/P&gt;&lt;P&gt;initialize pitc 2280: id:8003&lt;/P&gt;&lt;P&gt;"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I program this bootstream from BitInit.exe, it works fine, and I get:&lt;/P&gt;&lt;P&gt;"&lt;/P&gt;&lt;P&gt;pitc_loader(8003)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loading pitc id 8003&lt;/P&gt;&lt;P&gt;pitc installed&lt;/P&gt;&lt;P&gt;initialize pitc 2280: id:8003&lt;/P&gt;&lt;P&gt;pitc 8003: process_cdb(cdb:14)&lt;/P&gt;&lt;P&gt;k_pitc_cmd_write_otp_register_set&lt;/P&gt;&lt;P&gt;pitc 8003: process_cdb(cdb:11)&lt;/P&gt;&lt;P&gt;k_pitc_cmd_request_sense&lt;/P&gt;&lt;P&gt;"&lt;/P&gt;&lt;P&gt;-So, definitely something is missing.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in the mfgtool source, I see the section DWORD COpMxRomUpdate::InitOtpRegs() - but it is commented out for some reason - so is this functionality broken/unsupported?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm in a big hurry to get this working - production starts on Dec. 1st.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;-Patrick&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Nov 2012 20:41:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-set-OTP-bits-with-MfgTool/m-p/166447#M4582</guid>
      <dc:creator>patrickmcneil</dc:creator>
      <dc:date>2012-11-06T20:41:43Z</dc:date>
    </item>
    <item>
      <title>Re: How to set OTP bits with MfgTool?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-set-OTP-bits-with-MfgTool/m-p/166448#M4583</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OK, I think I've answered my own question:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;lt;LIST name="Full Install" desc="Full Install on NAND"&amp;gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp; &amp;lt;!-- Flash OTP Bits --&amp;gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp; &amp;lt;CMD type="boot" body="Recovery" file="OtpInit.sb" timeout="60"&amp;gt;flashing OTP.&amp;lt;/CMD&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;!-- Burn the OTP --&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;CMD type="burn"/&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp; &amp;lt;!-- Force into USB Boot mode, then load the updater_ivt.sb bootstream - Linux Env. --&amp;gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp; &amp;lt;CMD type="boot" body="Recovery" file="updater_ivt.sb" timeout="60"&amp;gt;Booting Update Firmware.&amp;lt;/CMD&amp;gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt; ....&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;The 'Burn' command will burn the OTP bits. I'm not sure if this is documented anywhere.. but it's in the code, and works.&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;-Patrick&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Nov 2012 20:56:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-set-OTP-bits-with-MfgTool/m-p/166448#M4583</guid>
      <dc:creator>patrickmcneil</dc:creator>
      <dc:date>2012-11-06T20:56:42Z</dc:date>
    </item>
  </channel>
</rss>

