Message ID | 20250502-wdt_reset_reason-v3-3-b2dc7ace38ca@oss.qualcomm.com |
---|---|
State | New |
Headers | show |
Series | Add support to read the restart reason from IMEM | expand |
On 5/2/25 06:17, Kathiravan Thirumoorthy wrote: > To retrieve the restart reason from IMEM, certain device specific data > like IMEM compatible to lookup, location of IMEM to read, etc should be > defined. To achieve that, introduce the separate device data for IPQ5424 > and add the required details subsequently. > > Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net>
On Fri, May 02, 2025 at 06:47:51PM +0530, Kathiravan Thirumoorthy wrote: > To retrieve the restart reason from IMEM, certain device specific data > like IMEM compatible to lookup, location of IMEM to read, etc should be > defined. To achieve that, introduce the separate device data for IPQ5424 > and add the required details subsequently. > > Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com> > --- > Changes in v3: > - New patch > --- > drivers/watchdog/qcom-wdt.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/watchdog/qcom-wdt.c b/drivers/watchdog/qcom-wdt.c > index 006f9c61aa64fd2b4ee9db493aeb54c8fafac818..dfaac5995c84c1f377023e6e62770c5548528a4c 100644 > --- a/drivers/watchdog/qcom-wdt.c > +++ b/drivers/watchdog/qcom-wdt.c > @@ -181,6 +181,12 @@ static const struct qcom_wdt_match_data match_data_apcs_tmr = { > .max_tick_count = 0x10000000U, > }; > > +static const struct qcom_wdt_match_data match_data_ipq5424 = { > + .offset = reg_offset_data_kpss, > + .pretimeout = true, > + .max_tick_count = 0xFFFFFU, > +}; > + > static const struct qcom_wdt_match_data match_data_kpss = { > .offset = reg_offset_data_kpss, > .pretimeout = true, > @@ -322,6 +328,7 @@ static const struct dev_pm_ops qcom_wdt_pm_ops = { > }; > > static const struct of_device_id qcom_wdt_of_table[] = { > + { .compatible = "qcom,apss-wdt-ipq5424", .data = &match_data_ipq5424 }, Shouldn't it be qcom,ipq5424-apss-wdt ? > { .compatible = "qcom,kpss-timer", .data = &match_data_apcs_tmr }, > { .compatible = "qcom,scss-timer", .data = &match_data_apcs_tmr }, > { .compatible = "qcom,kpss-wdt", .data = &match_data_kpss }, > > -- > 2.34.1 >
On 5/2/2025 8:23 PM, Dmitry Baryshkov wrote: > On Fri, May 02, 2025 at 06:47:51PM +0530, Kathiravan Thirumoorthy wrote: >> To retrieve the restart reason from IMEM, certain device specific data >> like IMEM compatible to lookup, location of IMEM to read, etc should be >> defined. To achieve that, introduce the separate device data for IPQ5424 >> and add the required details subsequently. >> >> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com> >> --- >> Changes in v3: >> - New patch >> --- >> drivers/watchdog/qcom-wdt.c | 7 +++++++ >> 1 file changed, 7 insertions(+) >> >> diff --git a/drivers/watchdog/qcom-wdt.c b/drivers/watchdog/qcom-wdt.c >> index 006f9c61aa64fd2b4ee9db493aeb54c8fafac818..dfaac5995c84c1f377023e6e62770c5548528a4c 100644 >> --- a/drivers/watchdog/qcom-wdt.c >> +++ b/drivers/watchdog/qcom-wdt.c >> @@ -181,6 +181,12 @@ static const struct qcom_wdt_match_data match_data_apcs_tmr = { >> .max_tick_count = 0x10000000U, >> }; >> >> +static const struct qcom_wdt_match_data match_data_ipq5424 = { >> + .offset = reg_offset_data_kpss, >> + .pretimeout = true, >> + .max_tick_count = 0xFFFFFU, >> +}; >> + >> static const struct qcom_wdt_match_data match_data_kpss = { >> .offset = reg_offset_data_kpss, >> .pretimeout = true, >> @@ -322,6 +328,7 @@ static const struct dev_pm_ops qcom_wdt_pm_ops = { >> }; >> >> static const struct of_device_id qcom_wdt_of_table[] = { >> + { .compatible = "qcom,apss-wdt-ipq5424", .data = &match_data_ipq5424 }, > Shouldn't it be qcom,ipq5424-apss-wdt ? Currently, the compatible string is "qcom,apss-wdt-ipq5424". So used as it is. > >> { .compatible = "qcom,kpss-timer", .data = &match_data_apcs_tmr }, >> { .compatible = "qcom,scss-timer", .data = &match_data_apcs_tmr }, >> { .compatible = "qcom,kpss-wdt", .data = &match_data_kpss }, >> >> -- >> 2.34.1 >>
diff --git a/drivers/watchdog/qcom-wdt.c b/drivers/watchdog/qcom-wdt.c index 006f9c61aa64fd2b4ee9db493aeb54c8fafac818..dfaac5995c84c1f377023e6e62770c5548528a4c 100644 --- a/drivers/watchdog/qcom-wdt.c +++ b/drivers/watchdog/qcom-wdt.c @@ -181,6 +181,12 @@ static const struct qcom_wdt_match_data match_data_apcs_tmr = { .max_tick_count = 0x10000000U, }; +static const struct qcom_wdt_match_data match_data_ipq5424 = { + .offset = reg_offset_data_kpss, + .pretimeout = true, + .max_tick_count = 0xFFFFFU, +}; + static const struct qcom_wdt_match_data match_data_kpss = { .offset = reg_offset_data_kpss, .pretimeout = true, @@ -322,6 +328,7 @@ static const struct dev_pm_ops qcom_wdt_pm_ops = { }; static const struct of_device_id qcom_wdt_of_table[] = { + { .compatible = "qcom,apss-wdt-ipq5424", .data = &match_data_ipq5424 }, { .compatible = "qcom,kpss-timer", .data = &match_data_apcs_tmr }, { .compatible = "qcom,scss-timer", .data = &match_data_apcs_tmr }, { .compatible = "qcom,kpss-wdt", .data = &match_data_kpss },
To retrieve the restart reason from IMEM, certain device specific data like IMEM compatible to lookup, location of IMEM to read, etc should be defined. To achieve that, introduce the separate device data for IPQ5424 and add the required details subsequently. Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com> --- Changes in v3: - New patch --- drivers/watchdog/qcom-wdt.c | 7 +++++++ 1 file changed, 7 insertions(+)