I am using i.MX6q sabresd board with MMPF0100 PMIC. The driver is setting standby voltage only for two buck regulators i.e SW1A and SW1C. How are the standby voltages for other buck regulators configured ? Is there any default behaviour when standby voltage is not configured ?
And, when android is put to sleep(by pressing power key and there are no wakelocks), I am not sure whether PMIC is entering standby mode or sleep mode. Could anyone tell me where in kernel, the processor is asserting PWRON/STAND BY pin of PMIC ? Where in kernel is power key interrupt handled and PMIC's pin is asserted ?
The operating set point of each one of the regulators in standby mode is set by the SWxxSTBY bits in the case of the switchers, and VGENxSTBY in the case of the LDOs. For example, please see table 40 of the attached. Let's say SW1A[5:0] bits are 101100 and SW1ASTBY[5:0] bits are 100100. This means SW1A will be supplying 1.4V in normal mode and 1.2V in standby mode. These bits have to be configured by the processor via I2C.
About your Android question, I'm focused on HW, sorry I can't help on the SW side.
Hope this helps!
Hi Jorge Ramirez Rivero,
Thanks for the reply. Is it possible to set standby voltage for LDOs ? Because I did not find any such detail in the datasheet. And VGENxSTBY is a bit in VGENxCTL register. This bit enables/disables standby for that LDO.
And, in the driver I can see that he is setting standby voltage for SW1A/C, what about others buck regulators? What will be their output voltage in standby ?
Yes, the LDOs can only be configured to be on or off during standby. If you need to change the voltage in standby mode, you have to do it manually by SW in your standby routine by changing their set point in the VGENx[3:0] bits, and then changing them back when returning from standby to on mode.
If in the driver the only SW being configured for standby is SW1, then the rest of the switchers will keep their default values in standby mode. This default value is one time programmable and depends on how you ordered or programmed the OTP configuration of your PF0100.
Thanks again. So I have to set LDO o/p voltages manually for standby mode. There is a confusion here. If I am to set standby voltage for LDOs, I have to do it in PMIC's normal/ON mode, right? Or is it possible to do it after entering standby ?
And one more thing is, for this PMIC there is no such thing as standby routine, all the voltages are preset while initializing PMIC, and PMIC reads these new voltage values when it is entering standby. I still don't know who is triggering this standby. It has to be the processor, yeah, but I did not find him asserting standby pin anywhere in the code. Its a bit confusing. (The datasheet says, standby is asserted when SOC enters low power mode. For this to happen, someone must be putting SW1C, which supplies SOC, into low power mode)