[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