I am using PF0100 EVK Control GUI (Revision 3) to program a PMIC "MMPF0100NPAEP." I have not had problems programming PMICs using my current script usually, but this PMIC has been replaced so I suspect there could be a peripheral to the chip that could have failed causing the programming of the chip to fail, or the new chip is bad too.
The programming seems to go through the script without error, but upon completion of programming the chip, the message "OTP is BLANK" message appears, and the chip is not programmed. What are the things that would cause this?
I have verified that I can write an I2C byte to the chip and read that same I2C byte back from the chip using the program tool. PF0100 EVK Control GUI (Revision 3)
Thanks,
Here is the LOG:
PF-Programmer is Connected
3.3V Supply is Enabled
Configuration successfully read.
Date: 5/23/2016 Time: 1:18 PM
Configuration File Used: \\ENGINEERING\Engineering\Design Notebooks\99977 EVi Scanner Instrument\7 Sub Projects\71982_EVi_Power_Board\5 Software\PMIC Scripts\Rev A\i.MX6X_PMIC_OTP_Script.txt
WRITE_I2C to 0x7F, Data = 0x01
WRITE_I2C to 0xA0, Data = 0x2E
WRITE_I2C to 0xA1, Data = 0x10
WRITE_I2C to 0xA2, Data = 0x05
WRITE_I2C to 0xA8, Data = 0x2E
WRITE_I2C to 0xA9, Data = 0x10
WRITE_I2C to 0xAA, Data = 0x01
WRITE_I2C to 0xAC, Data = 0x00
WRITE_I2C to 0xAD, Data = 0x14
WRITE_I2C to 0xAE, Data = 0x01
WRITE_I2C to 0xB0, Data = 0x2F
WRITE_I2C to 0xB1, Data = 0x11
WRITE_I2C to 0xB2, Data = 0x01
WRITE_I2C to 0xB4, Data = 0x2F
WRITE_I2C to 0xB5, Data = 0x11
WRITE_I2C to 0xB6, Data = 0x01
WRITE_I2C to 0xB8, Data = 0x71
WRITE_I2C to 0xB9, Data = 0x01
WRITE_I2C to 0xBA, Data = 0x01
WRITE_I2C to 0xBC, Data = 0x00
WRITE_I2C to 0xBD, Data = 0x14
WRITE_I2C to 0xC0, Data = 0x00
WRITE_I2C to 0xC4, Data = 0x14
WRITE_I2C to 0xC8, Data = 0x00
WRITE_I2C to 0xC9, Data = 0x14
WRITE_I2C to 0xCC, Data = 0x00
WRITE_I2C to 0xCD, Data = 0x14
WRITE_I2C to 0xD0, Data = 0x00
WRITE_I2C to 0xD1, Data = 0x14
WRITE_I2C to 0xD4, Data = 0x00
WRITE_I2C to 0xD5, Data = 0x14
WRITE_I2C to 0xD8, Data = 0x00
WRITE_I2C to 0xD9, Data = 0x14
WRITE_I2C to 0xDC, Data = 0x00
WRITE_I2C to 0xDD, Data = 0x14
WRITE_I2C to 0xE0, Data = 0x07
WRITE_I2C to 0xE1, Data = 0x07
WRITE_I2C to 0xE2, Data = 0x07
WRITE_I2C to 0xE8, Data = 0x00
WRITE_I2C to 0xFF, Data = 0x08
WRITE_I2C to 0xE4, Data = 0x02
WRITE_I2C to 0xE5, Data = 0x02
WRITE_I2C to 0xE6, Data = 0x02
WRITE_I2C to 0xF0, Data = 0x1F
WRITE_I2C to 0xF1, Data = 0x1F
WRITE_I2C to 0x7F, Data = 0x02
WRITE_I2C to 0xD0, Data = 0x1F
WRITE_I2C to 0xD1, Data = 0x1F
WRITE_I2C to 0xF1, Data = 0x00
WRITE_I2C to 0xF2, Data = 0x00
WRITE_I2C to 0xF3, Data = 0x00
WRITE_I2C to 0xF4, Data = 0x00
WRITE_I2C to 0xF5, Data = 0x00
WRITE_I2C to 0xF6, Data = 0x00
WRITE_I2C to 0xF7, Data = 0x00
WRITE_I2C to 0xF8, Data = 0x00
WRITE_I2C to 0xF9, Data = 0x00
WRITE_I2C to 0xFA, Data = 0x00
VPGM = ON
8.0V Supply is Enabled
DELAY = 500 msec
WRITE_I2C to 0xF1, Data = 0x03
WRITE_I2C to 0xF1, Data = 0x0B
DELAY = 100 msec
WRITE_I2C to 0xF1, Data = 0x03
WRITE_I2C to 0xF1, Data = 0x00
WRITE_I2C to 0xF2, Data = 0x03
WRITE_I2C to 0xF2, Data = 0x0B
DELAY = 100 msec
WRITE_I2C to 0xF2, Data = 0x03
WRITE_I2C to 0xF2, Data = 0x00
WRITE_I2C to 0xF3, Data = 0x03
WRITE_I2C to 0xF3, Data = 0x0B
DELAY = 100 msec
WRITE_I2C to 0xF3, Data = 0x03
WRITE_I2C to 0xF3, Data = 0x00
WRITE_I2C to 0xF4, Data = 0x03
WRITE_I2C to 0xF4, Data = 0x0B
DELAY = 100 msec
WRITE_I2C to 0xF4, Data = 0x03
WRITE_I2C to 0xF4, Data = 0x00
WRITE_I2C to 0xF5, Data = 0x03
WRITE_I2C to 0xF5, Data = 0x0B
DELAY = 100 msec
WRITE_I2C to 0xF5, Data = 0x03
WRITE_I2C to 0xF5, Data = 0x00
WRITE_I2C to 0xF6, Data = 0x03
WRITE_I2C to 0xF6, Data = 0x0B
DELAY = 100 msec
WRITE_I2C to 0xF6, Data = 0x03
WRITE_I2C to 0xF6, Data = 0x00
WRITE_I2C to 0xF7, Data = 0x03
WRITE_I2C to 0xF7, Data = 0x0B
DELAY = 100 msec
WRITE_I2C to 0xF7, Data = 0x03
WRITE_I2C to 0xF7, Data = 0x00
WRITE_I2C to 0xF8, Data = 0x03
WRITE_I2C to 0xF8, Data = 0x0B
DELAY = 100 msec
WRITE_I2C to 0xF8, Data = 0x03
WRITE_I2C to 0xF8, Data = 0x00
WRITE_I2C to 0xF9, Data = 0x03
WRITE_I2C to 0xF9, Data = 0x0B
DELAY = 100 msec
WRITE_I2C to 0xF9, Data = 0x03
WRITE_I2C to 0xF9, Data = 0x00
WRITE_I2C to 0xFA, Data = 0x03
WRITE_I2C to 0xFA, Data = 0x0B
DELAY = 100 msec
WRITE_I2C to 0xFA, Data = 0x03
WRITE_I2C to 0xFA, Data = 0x00
WRITE_I2C to 0xD0, Data = 0x00
WRITE_I2C to 0xD1, Data = 0x00
VPGM = OFF
8.0V Supply is Disabled
DELAY = 500 msec
PWRON asserted LOW
DELAY = 500 msec
PWRON released HIGH
Programming Complete
Check: OTP is BLANK
Solved! Go to Solution.
Hi Matthew,
Can I ask which board/tool you are using to program your PMIC?
I’m assuming that you are using the KITPFPGMEVME (PF Series Programmer) + the KITPF0100SKTEVBE (Programming Socket Board), but please let me know if I'm wrong.
Another note is that you mentioned that you are using the PF0100 EVK Control GUI (Revision 3), can you please download and try with the latest revision of the Control GUI 4.1, please? You can find it and download it by clicking here
Once you have installed the new revision of the GUI, please follow the instructions to load and run the script as mentioned in section 5.10 of the KITPFSWUG4 User guide
Let me know if you still have issues to program your PMIC using the new version of the GUI.
Regards,
Jose
Hi Matthew,
Can I ask which board/tool you are using to program your PMIC?
I’m assuming that you are using the KITPFPGMEVME (PF Series Programmer) + the KITPF0100SKTEVBE (Programming Socket Board), but please let me know if I'm wrong.
Another note is that you mentioned that you are using the PF0100 EVK Control GUI (Revision 3), can you please download and try with the latest revision of the Control GUI 4.1, please? You can find it and download it by clicking here
Once you have installed the new revision of the GUI, please follow the instructions to load and run the script as mentioned in section 5.10 of the KITPFSWUG4 User guide
Let me know if you still have issues to program your PMIC using the new version of the GUI.
Regards,
Jose
I am using the KITPFPGMEVME programmer (PF Series Programmer) + my own application board. The latest revision of Control GUI 4.1 does not recognize any devices (MMPF0100NPAEP) as described in Section 5.1 of the KITPFSWUG4 User guide.
I have success connecting to the device using GUI REVISION 3. Measurements taken using a DMM. (Digital Multi-meter)
Device PIN NUM | Device PIN Name | Measured Voltage with 3.3V Supply Enabled(V) | Measured Voltage with 3.3V Supply and 8.0V Programming Supply Enabled (V) |
50 | VIN | 3.3 | 3.3 |
51 | VCOREDIG | 1.282 | 1.282 |
52 | VCOREREF | 1.221 | 1.221 |
49 | VCORE | 0 | 0 |
48 | GNDREF | 0 | 0 |
47 | VDDOTP | 0 | 8.59 |
55 | VDDIO | 3.3 | 3.3 |
54 | SCL | 3.3 | 3.3 |
53 | SDA | 3.3 | 3.3 |
56 | PWRON | 0 | 0 |
3 | RESETBMCU | 0 | 0 |
4 | STANDBY | 0.033 | 0.033 |
2 | SDWNB | 3.28 | 3.28 |
1 | INTB | 3.28 | 3.28 |
5 | ICTEST | 0 | 0 |
It's like the registers are being set properly but the fuses are not being burned in.