Re: [PATCH v3 4/4] watchdog: qcom: add support to read the restart reason from IMEM
From: Konrad Dybcio <hidden>
Date: 2025-05-02 14:03:47
Also in:
linux-arm-msm, linux-watchdog, lkml
From: Konrad Dybcio <hidden>
Date: 2025-05-02 14:03:47
Also in:
linux-arm-msm, linux-watchdog, lkml
On 5/2/25 3:17 PM, Kathiravan Thirumoorthy wrote:
When the system boots up after a watchdog reset, the EXPIRED_STATUS bit in the WDT_STS register is cleared. To identify if the system was restarted due to WDT expiry, XBL update the information in the IMEM region. Update the driver to read the restart reason from IMEM and populate the bootstatus accordingly. With the CONFIG_WATCHDOG_SYSFS enabled, user can extract the information as below: cat /sys/devices/platform/soc@0/f410000.watchdog/watchdog/watchdog0/bootstatus 32 For backward compatibility, keep the EXPIRED_STATUS bit check. Add a new function qcom_wdt_get_restart_reason() to read the restart reason from IMEM. Signed-off-by: Kathiravan Thirumoorthy <redacted> ---
[...]
+static int qcom_wdt_get_restart_reason(struct qcom_wdt *wdt,
+ const struct qcom_wdt_match_data *data)
+{
+ struct regmap *imem;
+ unsigned int val;
+ int ret;
+
+ imem = syscon_regmap_lookup_by_compatible(data->imem_compatible);Try syscon_regmap_lookup_by_phandle_args() and pass a phandle, see e.g. drivers/phy/qualcomm/phy-qcom-qmp-pcie.c & phy@1bfc000 in x1e80100.dtsi That way all platform specifics will live in the DT, requiring no hardcode-y driver changes on similar platforms Konrad