[U-Boot] [PATCH v2 7/9] apalis-tk1/t30: colibri_t30: display reset reason

Oleksandr Suvorov cryosay at gmail.com
Thu Aug 1 13:18:03 UTC 2019


On Thu, Aug 1, 2019 at 11:09 AM Igor Opaniuk <igor.opaniuk at gmail.com> wrote:
>
> From: Dominik Sliwa <dominik.sliwa at toradex.com>
>
> Display proper reset reason after the SoC info.
>
> Signed-off-by: Dominik Sliwa <dominik.sliwa at toradex.com>
> Signed-off-by: Igor Opaniuk <igor.opaniuk at toradex.com>

Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov at toradex.com>

> ---
>
>  arch/arm/mach-tegra/sys_info.c | 32 ++++++++++++++++++++++----------
>  1 file changed, 22 insertions(+), 10 deletions(-)
>
> diff --git a/arch/arm/mach-tegra/sys_info.c b/arch/arm/mach-tegra/sys_info.c
> index 9975f33e0b..5dc998a52b 100644
> --- a/arch/arm/mach-tegra/sys_info.c
> +++ b/arch/arm/mach-tegra/sys_info.c
> @@ -6,24 +6,36 @@
>
>  #include <common.h>
>  #include <linux/ctype.h>
> +#if defined(CONFIG_TEGRA124) || defined(CONFIG_TEGRA30)
> +#include <asm/arch-tegra/pmc.h>
>
> -static void upstring(char *s)
> +static char *get_reset_cause(void)
>  {
> -       while (*s) {
> -               *s = toupper(*s);
> -               s++;
> +       struct pmc_ctlr *pmc = (struct pmc_ctlr *)NV_PA_PMC_BASE;
> +
> +       switch (pmc->pmc_reset_status) {
> +       case 0x00:
> +               return "POR";
> +       case 0x01:
> +               return "WATCHDOG";
> +       case 0x02:
> +               return "SENSOR";
> +       case 0x03:
> +               return "SW_MAIN";
> +       case 0x04:
> +               return "LP0";
>         }
> +       return "UNKNOWN";
>  }
> +#endif
>
>  /* Print CPU information */
>  int print_cpuinfo(void)
>  {
> -       char soc_name[10];
> -
> -       strncpy(soc_name, CONFIG_SYS_SOC, 10);
> -       upstring(soc_name);
> -       puts(soc_name);
> -       puts("\n");
> +       printf("SoC: %s\n", CONFIG_SYS_SOC);
> +#if defined(CONFIG_TEGRA124) || defined(CONFIG_TEGRA30)
> +       printf("Reset cause: %s\n", get_reset_cause());
> +#endif
>
>         /* TBD: Add printf of major/minor rev info, stepping, etc. */
>         return 0;
> --
> 2.17.1
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot



-- 
Best regards

Oleksandr Suvorov
cryosay at gmail.com


More information about the U-Boot mailing list