[PATCH] phyCORE-i.MX27: Keep frequency multiplier enabled to be able to do a warmstart

Teresa Gamez T.Gamez at phytec.de
Wed May 25 08:39:59 EDT 2011


Are there any reasons why this patch was not added to the barebox?
It works fine for us.

Teresa 

Am Donnerstag, den 25.11.2010, 17:52 +0100 schrieb Juergen Beisert:
> commit 7d25a0552dd3a4b65412ae1cbf8f9ca8a88b5d27
> Author: Juergen Beisert <jbe at pengutronix.de>
> Date:   Thu Nov 25 17:49:11 2010 +0100
> 
>     Keep frequency multiplier enabled to be able to do a warmstart
>     
>     The wachtdog's reset does only reset the ARM core, not the whole silicon.
>     But the PLLs seems to do some strange things: It seems they switch back to
>     the low frequency reference when the watchdog barks. But in the case the
>     frequency multiplier is off (not used due to 26 MHz reference usage) the
>     machine stops, because the PLLs are stopping due to the lack of a reference
>     frequency. As the power on reset will set the FPM_EN bit again, a power cycle
>     brings the machine back to life.
>     By keeping the frequency multiplier enabled, also a warmstart triggered by the
>     watchdog can restart the machine now.
>     
>     Signed-off-by: Juergen Beisert <jbe at pengutronix.de>
> 
> diff --git a/arch/arm/boards/pcm038/pll.h b/arch/arm/boards/pcm038/pll.h
> index 13a7989..15b94cf 100644
> --- a/arch/arm/boards/pcm038/pll.h
> +++ b/arch/arm/boards/pcm038/pll.h
> @@ -36,6 +36,7 @@
>  		CSCR_MCU_SEL | /* 26 MHz reference */ \
>  		CSCR_ARM_DIV(0) | /* CPU runs at MPLL/3 clock */ \
>  		CSCR_AHB_DIV(1) | /* AHB runs at MPLL/6 clock */ \
> +		CSCR_FPM_EN | \
>  		CSCR_SPEN |		\
>  		CSCR_MPEN)
>  
> @@ -51,6 +52,7 @@
>  		CSCR_ARM_SRC_MPLL | /* use main MPLL clock */ \
>  		CSCR_ARM_DIV(0) | /* CPU run at full MPLL clock */ \
>  		CSCR_AHB_DIV(1) | /* AHB runs at MPLL/6 clock */ \
> +		CSCR_FPM_EN | /* do not disable it! */ \
>  		CSCR_SPEN |		\
>  		CSCR_MPEN)
>  
> 





More information about the barebox mailing list