Dear all,
is there any way to figure out in software, when the PF0100 PFUZE PMIC is finished with a voltage stepping sequence?
The datasheet (Rev. 8.0) explains in section 6.4.4.2 how the voltage stepping for the buck regulators works and which DVS speed selections can be configured, but I can't find any information on how to determine in software, when such a voltage stepping sequence is finished after reprogramming the voltage-setting for a buck regulator or when the PMIC switches between "normal", "standby" and "sleep" modes.
When switching other devices to different power-management modes or turning them on or off, it would be quite important to know, when their respective voltage supply has reached the programmed value.
Kind regards,
Marc
已解决! 转到解答。
Hi Marc,
I think that the easiest way would be to pre-program the time it takes by using the DVS clock speed (user selectable) and the change in voltage. There is no internal signal to indicate that the DVS is complete.
The Standby signal is synchronized to the 32kHz clock so there will be a few clocks to synchronize the signal and on top of that we will have the actual dV/dt.
During turn-on, RESETBMCU signal indicates that all the regulators are up, I'm not sure if you were asking for this (but may be helpful), but I think that your concern is more about going between other modes, you can either use the approach mentioned above, or use a fixed time delay (say 5ms).
The Freescale BSP already takes care of these things. So if you use it, you should be able to use as-is.
Have a great day,
Jose Reyes
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi, Marc
You can look at the regulator driver core, take L3.10 for example, drivers/regulator/core.c, in routine _regulator_do_set_voltage, after voltage increase, it will call set_voltage_time_sel to get the delay time it needed, the low level pmic driver need to implement this callback and return the necessary delay time for voltage stepping.
The delay time for each step is passed from dts for kernel, you can search the "ramp_delay" in drivers/regulator/core.c and drivers/regulator/of_regulator.c.
This is for voltage change, for the standby voltage, I think our SOC has other setting for waiting PMIC to be ready.