[U-Boot] [PATCH v4] armv8/ls2080a: configure PMU's PCTBENR to enable WDT
York Sun
york.sun at nxp.com
Tue Jun 7 17:56:41 CEST 2016
On 06/07/2016 02:28 AM, Yunhui Cui wrote:
> From: Yunhui Cui <yunhui.cui at nxp.com>
>
> The SP805-WDT module on LS2080A and LS2085A, requires configuration
> of PMU's PCTBENR register to enable watchdog counter decrement and
> reset signal generation. In order not to affect the sp805wdt driver
> frame, we enable the watchdog clk in advance.
>
> Signed-off-by: Yunhui Cui <yunhui.cui at nxp.com>
> ---
> arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 15 +++++++++++++++
> arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h | 1 +
> 2 files changed, 16 insertions(+)
>
> diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
> index d939900..1ac1067 100644
> --- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
> +++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
> @@ -639,6 +639,10 @@ int timer_init(void)
> #ifdef CONFIG_FSL_LSCH3
> u32 __iomem *cltbenr = (u32 *)CONFIG_SYS_FSL_PMU_CLTBENR;
> #endif
> +#ifdef CONFIG_LS2080A
> + u32 __iomem *pctbenr = (u32 *)FSL_PMU_PCTBENR_OFFSET;
> + u32 pmu_val;
> +#endif
> #ifdef COUNTER_FREQUENCY_REAL
> unsigned long cntfrq = COUNTER_FREQUENCY_REAL;
>
> @@ -653,6 +657,17 @@ int timer_init(void)
> out_le32(cltbenr, 0xf);
> #endif
>
> +#ifdef CONFIG_LS2080A
> +/*
> + * In certain Layerscape SoCs, the clock for each core's
> + * has an enable bit in the PMU Physical Core Time Base Enable
> + * Register (PCTBENR), which allows the watchdog to operate.
> + */
> +pmu_val = in_le32(pctbenr);
> +pmu_val |= 0xff;
> +out_le32(pctbenr, pmu_val);
> +#endif
> +
You could use setbits_le32() instead of three lines.
Also inappropriate indentation.
York
More information about the U-Boot
mailing list