Re: [PATCH] pwm: imx-tpm: reset module on probe

From: Uwe Kleine-König
Date: Thu Feb 15 2024 - 05:16:11 EST


Hello,

On Thu, Feb 01, 2024 at 06:25:26PM +0200, Viorel Suman wrote:
> On 2/1/24 15:38, Uwe Kleine-König wrote:
> > > + /* Resets all internal logic and registers */
> > > + writel(PWM_IMX_TPM_GLOBAL_RST, tpm->base + PWM_IMX_TPM_GLOBAL);
> > > + writel(0, tpm->base + PWM_IMX_TPM_GLOBAL);
> > > +
> > This opposes the use case that the bootloader setup the pwm-backlight to
> > show a splash screen that is simply taken over by Linux without
> > flickering, right?
>
> Yes, I was not aware of such use case. Is it acceptable if I'll update
>
> the patch in a such way so that the software reset happens as function
>
> of a property in the related DTS node ?

That sounds wrong. Why do you reset at all? If at all, only reset if all
channels are disabled (if at all).

> > Otherwise the commit log should motivate why "the module takes the
> > default state" is better than the status quo and what this default state
> > is.
>
> The default state above means IP internal logic being reset to the initial
> state and
>
> registers values being set to their reset values. We're facing a situation
> on iMX95 when
>
> A core may be reset independently from the rest of the SoC, this triggers a
> new
>
> SPL->U-Boot->Linux boot, and in Linux probe phase PWM will inherit its state
> from
>
> previous Linux runtime - this leads to some issues in suspend/resume
> functionality.

What kind of issues?

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | https://www.pengutronix.de/ |

Attachment: signature.asc
Description: PGP signature