Programming MTP MPM54304

Hello everyone,

I am currently trying to program the non-volatile memory of a MPM54304 PMIC with an Arduino Uno Rev. 03. I am using the MPM54304 demo board.

I can change the outputs, pull enable low or high and set everything else. The only problem I have is setting the MTP program bit to 1. When I do this nothing happens. The VCC voltage does not change and nothing is programmed. Also the page number does not change.

I suspect it has to do with the MTP password, so the programming bit is still protected. I could not find any information on what the password is. Could you give me the information about the password?

Thank you and kind regards.
Kirsty

Hi Kirsty,
The complete MTP process is below, along w/ password.

  1. Write 0x95 to Reg 0x11 (MTP Password)
  2. Write 0x63 to Reg 0x11 (MTP Password)
  3. Set Reg 0x0E D[5]=1 to burn the I2C register’s data to the MTP table
    4 . Reg 0x0E D[5] will be auto-set to 0 once MTP finishes (typically 100ms).
  4. Write 0x49 to Reg 0x11 to exit MTP.

Best,
Nouman

For those looking for an answer:

  1. The password above is the correct password to unlock the MTP
  2. if you program this PMIC with an Arduino, you have to write to ALL registers. Otherwise the PMIC will put in some default values even if you could read different ones beforehand.

Regards,
Kirsty