PF0200 OTP programming problem

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

PF0200 OTP programming problem

Jump to solution
1,510 Views
andersrosvall
Contributor IV

Hi,

I have an unprogrammed PF0200 PMIC on a new iMX6 design that I'm working on.

There is a connector on the board so that it is possible to program the PMIC via Freescale's "PF Series Programmer". I have followed the guidelines in the application note for on-board OTP programming. I have a rev B programmer and use the ver 4 GUI application.

I can download settings in TBB mode and everything works as it should... but I cannot program the OTP fuses and get the PMIC to start up with the values I have programmed.

When I program the OTP fuses via the GUI everything seems ok. I can read back the correct values but as soon as the PMIC is power cycled the previously programmed values are gone.

I think it all boils down to the "FUSE_POR_XOR"  bit in register 0xE7 (reg bank 1). This bit is always zero. I cannot get this bit to be set.

If I 'blank check' the PMIC after programming, the GUI reports that the device is blank, but when I checked with a logic analyzer that the GUI really does when 'blank checking' I saw that it just reads the "FUSE_POR_XOR"  bit in register 0xE7.

I have attached the programming script I use.

 

Any ideas what the problem can be? Things to check?

 

Many thanks,

Anders

Original Attachment has been moved to: Example_Script-(F6-Sample-ManualProgramECC).txt.zip

Labels (2)
0 Kudos
Reply
1 Solution
1,072 Views
andersrosvall
Contributor IV

Just to wrap things up (in case someone else run into this problem) - the problem is that if pin 56 (PWRON) is held low by an external source then programming will fail and the programming GUI will not give any error indication.

View solution in original post

0 Kudos
Reply
4 Replies
1,072 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello Anders,

     I will discuss your question with Power AE team, please wait some time ...!

Regards,

Weidong

0 Kudos
Reply
1,072 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi Anders,

    We did test, and see the following reply from Power AE team:

------------------------------------------------------------------------------------------

With the customer script, I can program well. So this is not the script problem.

The only one thing is there is an error after programming, please add a line as below. Of course this error will not impact the OTP result.

WRITE_I2C:7F:01 // Access FSL EXT Page 1

WRITE_I2C:FF:08 // I2C Device Address = 0x08

I’d like to check with the customer their operating steps, if the steps are the same, I think this should be the board problem.

  1. 1. Enable Target
  2. 2. Go to Programming tab
  3. 3. Select Programming Script File in DATA SOURCE panel, then click  Get Input button to get the script
  4. 4. Click Convert Script File on the bottom to convert the script file into a good format
  5. 5. Check Verify After Programming button in PROGRAMMING panel
  6. 6. Click PROGRAM button to start programming. If programming correct, it will tell there is no error in log
  7. 7. Click black Check button, it says DEVICE PROGRAMMED

status.png

0 Kudos
Reply
1,072 Views
andersrosvall
Contributor IV

Hi Weidong,

Thank you for verifying the programming file. We follow the exact same step as you outline.

The OTP programming is reported successful ("verify after programming" is enabled) but when we do a blank check afterwards it is reported blank. If the settings are retrieved/extracted from the PMIC it reports the correct values but after a power cycle the values are gone (all are 0x00).

prog_fail1.png

0 Kudos
Reply
1,073 Views
andersrosvall
Contributor IV

Just to wrap things up (in case someone else run into this problem) - the problem is that if pin 56 (PWRON) is held low by an external source then programming will fail and the programming GUI will not give any error indication.

0 Kudos
Reply