AnsweredAssumed Answered

How to set OTP bits with MfgTool?

Question asked by Patrick McNeil on Nov 6, 2012
Latest reply on Nov 6, 2012 by Patrick McNeil

Hi,

 

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.

 

This is a chunk of my ucl.xml:

 

<LIST name="Full Install" desc="Full Install on NAND">

  <!-- Flash OTP Bits -->   

  <CMD type="boot" body="Recovery" file="OtpInit.sb" timeout="60">flashing OTP.</CMD>

  <!-- Force into USB Boot mode, then load the updater_ivt.sb bootstream - Linux Env. -->

  <CMD type="boot" body="Recovery" file="updater_ivt.sb" timeout="60">Booting Update Firmware.</CMD>

   

  <!-- Wait for Linux to boot and show up as the USB Gadget device. -->

  <CMD type="find" body="Updater" timeout="180"/>

  ....

 

 

But, this doesn't work. I think there must be some command that I need to execute after booting the OtpInit.sb image.

 

This is what I see on the debug console:

"

pitc_loader(8003)

 

 

loading pitc id 8003

pitc installed

initialize pitc 2280: id:8003

"

 

If I program this bootstream from BitInit.exe, it works fine, and I get:

"

pitc_loader(8003)

 

 

loading pitc id 8003

pitc installed

initialize pitc 2280: id:8003

pitc 8003: process_cdb(cdb:14)

k_pitc_cmd_write_otp_register_set

pitc 8003: process_cdb(cdb:11)

k_pitc_cmd_request_sense

"

-So, definitely something is missing.

 

 

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?

 

I'm in a big hurry to get this working - production starts on Dec. 1st.

 

Thanks,

-Patrick

 

 

Outcomes