i.MX7ULP watchdog driver bootstatus not being set

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX7ULP watchdog driver bootstatus not being set

177 Views
gleb
Contributor II

The imx7ulp_wdt watchdog driver for the i.MX7ULP, i.MX8ULP, and i.MX93 does not appear to set the bootstatus during probe to indicate if the last reset reason was due to a watchdog timeout or a power-on reset. This makes it impossible to determine in userland if a watchdog timeout caused the last system reboot.

I am working with an i.MX93 Variscite SOM using the Variscite Linux kernel lf-6.1.y_var03 at https://github.com/varigit/linux-imx/tree/lf-6.1.y_var03

The i.MX93 reference manual shows that the SRC Reset Status Register (SRC_SRSR) should set a flag when one of the hardware watchdogs caused the last reset. It should be possible for the watchdog driver to determine the reset status register value and set the bootstatus flags accordingly.

Relevant watchdog driver source is at https://github.com/varigit/linux-imx/blob/lf-6.1.y_var03/drivers/watchdog/imx7ulp_wdt.c

Also I'd like to mention that the Variscite wiki page for the i.MX93 watchdog says to enable the CONFIG_IMX2_WDT kernel config however this is for the imx2_wdt driver which does not actually support the i.MX93.

Labels (1)
0 Kudos
Reply
3 Replies

49 Views
gleb
Contributor II

This may be a moot point as I have since discovered that the i.MX93 Variscite SOM has a PMIC (NXP PCA9451A) which controls the power regulators for the SoC.

When the PMIC on the SOM receives the WDOG_B signal from the SoC it kills power to the regulators to reset the SoC. This means that from the SoC perspective it looks just like a power-on reset which is why the hardware watchdog never sets the last reset reason flag for a watchdog timeout event.

126 Views
gleb
Contributor II
0 Kudos
Reply

133 Views
Rita_Wang
NXP TechSupport
NXP TechSupport

Which product are you using?

0 Kudos
Reply