regulator: BD71837 PMIC resume during noirq phase?

Vaittinen, Matti Matti.Vaittinen at fi.rohmeurope.com
Tue Jun 14 02:47:43 PDT 2022


On 6/14/22 12:18, Mark Brown wrote:
> On Tue, Jun 14, 2022 at 11:06:06AM +0200, Martin Kepplinger wrote:
> 
>> and regulator_enable() in imx-pgc is called from genpd_resume_noirq().
>>
>> At this point, does any workaround or fix come to your mind I could
>> test? I guess i2c needs to be resumed too...
>>
>> Why does power domain only implement resume_noirq? How could I untangle
>> this?
> 
> Indeed - if a power domain is controlling regulators then I'd not expect
> things to go well if it tries to resume without interrupts, there will
> be some things that can be done purely with GPIOs but that's depending
> on the hardware having wired things up that way and the operations
> needed by the power domain mapping well onto what can be done with
> GPIOs.

In case of BD71837 only the PMIC 'state changes' could be initiated by 
GPIO. And if the state is not 'RUN' the regulator enable/disable state 
can not be controlled by the Linux driver (or - as far as I remember the 
driver I've authored does not support that. It _may_ be there were 
enable/disable register for IDLE/SUSPEND states for _some_ of the 
BD71837 regulators. Some probably had fixed states. In any case, I don't 
think the driver touched them after initial setup).

Best Regards
-- Matti


-- 
The Linux Kernel guy at ROHM Semiconductors

Matti Vaittinen, Linux device drivers
ROHM Semiconductors, Finland SWDC
Kiviharjunlenkki 1E
90220 OULU
FINLAND

~~ this year is the year of a signature writers block ~~


More information about the linux-arm-kernel mailing list