* [PATCH] phyCORE-i.MX27: Keep frequency multiplier enabled to be able to do a warmstart
@ 2010-11-25 16:52 Juergen Beisert
2011-05-25 12:39 ` Teresa Gamez
2011-08-25 10:02 ` Sascha Hauer
0 siblings, 2 replies; 3+ messages in thread
From: Juergen Beisert @ 2010-11-25 16:52 UTC (permalink / raw)
To: barebox
commit 7d25a0552dd3a4b65412ae1cbf8f9ca8a88b5d27
Author: Juergen Beisert <jbe@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@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)
--
Pengutronix e.K. | Juergen Beisert |
Linux Solutions for Science and Industry | Phone: +49-8766-939 228 |
Vertretung Sued/Muenchen, Germany | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de/ |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] phyCORE-i.MX27: Keep frequency multiplier enabled to be able to do a warmstart
2010-11-25 16:52 [PATCH] phyCORE-i.MX27: Keep frequency multiplier enabled to be able to do a warmstart Juergen Beisert
@ 2011-05-25 12:39 ` Teresa Gamez
2011-08-25 10:02 ` Sascha Hauer
1 sibling, 0 replies; 3+ messages in thread
From: Teresa Gamez @ 2011-05-25 12:39 UTC (permalink / raw)
To: Juergen Beisert; +Cc: barebox
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@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@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)
>
>
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] phyCORE-i.MX27: Keep frequency multiplier enabled to be able to do a warmstart
2010-11-25 16:52 [PATCH] phyCORE-i.MX27: Keep frequency multiplier enabled to be able to do a warmstart Juergen Beisert
2011-05-25 12:39 ` Teresa Gamez
@ 2011-08-25 10:02 ` Sascha Hauer
1 sibling, 0 replies; 3+ messages in thread
From: Sascha Hauer @ 2011-08-25 10:02 UTC (permalink / raw)
To: Juergen Beisert; +Cc: barebox
On Thu, Nov 25, 2010 at 05:52:42PM +0100, Juergen Beisert wrote:
> commit 7d25a0552dd3a4b65412ae1cbf8f9ca8a88b5d27
> Author: Juergen Beisert <jbe@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@pengutronix.de>
Applied to master. Maintainer was asleep for a long long time.
Sascha
>
> 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)
>
>
> --
> Pengutronix e.K. | Juergen Beisert |
> Linux Solutions for Science and Industry | Phone: +49-8766-939 228 |
> Vertretung Sued/Muenchen, Germany | Fax: +49-5121-206917-5555 |
> Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de/ |
>
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
>
--
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 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-08-25 10:02 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-25 16:52 [PATCH] phyCORE-i.MX27: Keep frequency multiplier enabled to be able to do a warmstart Juergen Beisert
2011-05-25 12:39 ` Teresa Gamez
2011-08-25 10:02 ` Sascha Hauer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox