Showing results for 
Search instead for 
Did you mean: 

Is it possible that PMIC NVM is changed accidently?

hochul yoo
Associate III

Hi all ~

We're using STM32MP157C MPU + STPMIC1A for my custom board with ecosystem 4.1

We've completed almost all of development for hardware and software. 

And we just made a sample of 30 units. 

Unfortunately, we've found some issue in specific 3 units.

At first, all of the boards worked successfully, but after a while, we found that a few boards would not boot.

We are using eMMC for boot device so I configured boot switch to 010 for eMMC boot mode.

Despite of that, MPU enter the DFU mode, and it is detected in STM32CubeProgrammer.

Therefore, I've tried to check why MPU enter to DFU mode despite of boot mode is eMMC.

And I noticed that Cause is PMIC buck4 voltage level.

We are using STPMIC1A, so buck4's default voltage is 3.3v as described in datasheet and it is used for eMMC VCC.

But, In a few board which has boot problem PMIC buck4 output 1.8v as default voltage.

So, eMMC boot device does not work properly and MPU could not find the FSBL, finally MPU enter the DFU mode.

I've already know that we can customize the PMIC default voltage value using NVM re-programming.

but I've never reprogramming NVM explicitly.

I wonder that why some board has this issue. Is there any idea?


Best regards. 


Associate III


The PMIC NVM (Non-Volatile Memory) is used to store default configuration settings, including the default voltage levels. It's unlikely that the NVM would change accidentally, as it typically requires a specific sequence of commands to write to it. However, it's not impossible for it to happen due to a software bug or a hardware issue.