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/ |