[U-Boot] [PATCH] ARM: mxs: rename function that sets AUTO_RESTART flag
Marek Vasut
marex at denx.de
Wed Jul 24 17:54:35 CEST 2013
Dear Hector Palacios,
> The AUTO_RESTART flag of HW_RTC_PERSISTENT0 register will
> power up the chip automatically 180ms after power down.
> This bit must be enabled by the boot loader to ensure the
> target can start upon hardware reset or watchdog reset
> even when powered from a battery.
>
> Currently the function named 'mxs_power_clear_auto_restart()'
> is setting this flag although the 'clear' in its name suggest
> the opposite.
>
> This patch renames the function to 'mxs_power_set_auto_restart()'
> and removes the comment about EVK revision A which was confusing
> because the function indeed was setting the flag.
Why? The comment seems fully valid to me.
> Signed-off-by: Hector Palacios <hector.palacios at digi.com>
> ---
> arch/arm/cpu/arm926ejs/mxs/spl_power_init.c | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c
> b/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c index 5ee2d88..285ac79
> 100644
> --- a/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c
> +++ b/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c
> @@ -52,7 +52,7 @@ static void mxs_power_clock2pll(void)
> CLKCTRL_CLKSEQ_BYPASS_CPU);
> }
>
> -static void mxs_power_clear_auto_restart(void)
> +static void mxs_power_set_auto_restart(void)
> {
> struct mxs_rtc_regs *rtc_regs =
> (struct mxs_rtc_regs *)MXS_RTC_BASE;
> @@ -65,10 +65,7 @@ static void mxs_power_clear_auto_restart(void)
> while (readl(&rtc_regs->hw_rtc_ctrl) & RTC_CTRL_CLKGATE)
> ;
>
> - /*
> - * Due to the hardware design bug of mx28 EVK-A
> - * we need to set the AUTO_RESTART bit.
> - */
> + /* Do nothing if flag already set */
You're changing the behavior here and it's not documented. I see no point in
this change while at it.
> if (readl(&rtc_regs->hw_rtc_persistent0) & RTC_PERSISTENT0_AUTO_RESTART)
> return;
>
> @@ -903,7 +900,7 @@ void mxs_power_init(void)
> (struct mxs_power_regs *)MXS_POWER_BASE;
>
> mxs_power_clock2xtal();
> - mxs_power_clear_auto_restart();
> + mxs_power_set_auto_restart();
> mxs_power_set_linreg();
> mxs_power_setup_5v_detect();
Best regards,
Marek Vasut
More information about the U-Boot
mailing list