[PATCHv2 1/2] ARM pcm043: Use PDR0 to change cpu freq
Sascha Hauer
s.hauer at pengutronix.de
Mon Aug 22 13:27:01 EDT 2011
Hi Teresa,
On Mon, Aug 22, 2011 at 03:51:04PM +0200, Teresa Gámez wrote:
> Instead of changing the MPCTL to set an other cpu frequency,
> use the post divider.
>
> This prevents freezing when changing the clock from 399MHz to 532MHz.
Originally this command was meant for debugging purposes. The pcm043
comes up with 532MHz and there should be no need to change the
frequency. I remember that some boards are able to run barebox with
532MHz but don't manage to start the kernel with this frequency. Also I
have one board which does not run with 532MHz at all, but I think it's
an early development sample.
Is there a need to run boards with a lower frequency than they are able
to do? Otherwise, if some boards are not stable at the default 532MHz
I suggest we should also lower the default to 399MHz.
Sascha
>
> Signed-off-by: Teresa Gámez <t.gamez at phytec.de>
> ---
> arch/arm/boards/pcm043/pcm043.c | 8 ++++----
> 1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/boards/pcm043/pcm043.c b/arch/arm/boards/pcm043/pcm043.c
> index 966899a..5cd6432 100644
> --- a/arch/arm/boards/pcm043/pcm043.c
> +++ b/arch/arm/boards/pcm043/pcm043.c
> @@ -301,8 +301,8 @@ static int pcm043_core_setup(void)
>
> core_initcall(pcm043_core_setup);
>
> -#define MPCTL_PARAM_399 (IMX_PLL_PD(0) | IMX_PLL_MFD(15) | IMX_PLL_MFI(8) | IMX_PLL_MFN(5))
> -#define MPCTL_PARAM_532 ((1 << 31) | IMX_PLL_PD(0) | IMX_PLL_MFD(11) | IMX_PLL_MFI(11) | IMX_PLL_MFN(1))
> +#define CCM_PDR0_PARAM_399 ((1 << 12) | (1 << 16))
> +#define CCM_PDR0_PARAM_532 (1 << 12)
>
> static int do_cpufreq(struct command *cmdtp, int argc, char *argv[])
> {
> @@ -315,10 +315,10 @@ static int do_cpufreq(struct command *cmdtp, int argc, char *argv[])
>
> switch (freq) {
> case 399:
> - writel(MPCTL_PARAM_399, IMX_CCM_BASE + CCM_MPCTL);
> + writel(CCM_PDR0_PARAM_399, IMX_CCM_BASE + CCM_PDR0);
> break;
> case 532:
> - writel(MPCTL_PARAM_532, IMX_CCM_BASE + CCM_MPCTL);
> + writel(CCM_PDR0_PARAM_532, IMX_CCM_BASE + CCM_PDR0);
> break;
> default:
> return COMMAND_ERROR_USAGE;
> --
> 1.7.0.4
>
>
> _______________________________________________
> barebox mailing list
> barebox at 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 |
More information about the barebox
mailing list