[PATCH 08/10] ARM: VFxxx: Add code to detect reset reason
Sascha Hauer
s.hauer at pengutronix.de
Mon Apr 16 00:19:51 PDT 2018
On Sat, Apr 14, 2018 at 10:50:22AM -0700, Andrey Smirnov wrote:
> Signed-off-by: Andrey Smirnov <andrew.smirnov at gmail.com>
> ---
> arch/arm/mach-imx/imx.c | 78 +++++++++++++++++----------
> arch/arm/mach-imx/include/mach/reset-reason.h | 11 ++++
> 2 files changed, 62 insertions(+), 27 deletions(-)
>
> diff --git a/arch/arm/mach-imx/imx.c b/arch/arm/mach-imx/imx.c
> index fb1160de9..e84713766 100644
> --- a/arch/arm/mach-imx/imx.c
> +++ b/arch/arm/mach-imx/imx.c
> @@ -158,6 +158,7 @@ void imx_set_reset_reason(void __iomem *srsr)
> {
> enum reset_src_type type = RESET_UKWN;
> const u32 reg = readl(srsr);
> + const bool is_vf610 = cpu_is_vf610();
>
> /*
> * SRSR register captures ALL reset event that occured since
> @@ -166,37 +167,60 @@ void imx_set_reset_reason(void __iomem *srsr)
> */
> writel(reg, srsr);
>
> - switch (reg) {
> - case IMX_SRC_SRSR_IPP_RESET: /* FALLTHROUGH */
> - case IMX_SRC_SRSR_IPP_RESET | IMX_SRC_SRSR_WDOG1_RESET:
> - type = RESET_POR;
> - break;
> - case IMX_SRC_SRSR_WDOG3_RESET: /* FALLTHROUGH */
> - case IMX_SRC_SRSR_WDOG4_RESET: /* FALLTHROUGH */
> - case IMX_SRC_SRSR_WDOG1_RESET:
> - type = RESET_WDG;
> - break;
> - case IMX_SRC_SRSR_JTAG_RESET: /* FALLTHROUGH */
> - case IMX_SRC_SRSR_JTAG_SW_RESET:
> - type = RESET_JTAG;
> - break;
> - case IMX_SRC_SRSR_TEMPSENSE_RESET:
> - type = RESET_THERM;
> - break;
> - case IMX_SRC_SRSR_WARM_BOOT:
> - type = RESET_RST;
> - break;
> + if (is_vf610) {
The caller already knows this is a vf610 and the code path for vf610 is
completely different. Please add a vf610_set_reset_reason() instead of
clobbering the i.MX function with this.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list