* [PATCHv2 1/2] ARM pcm043: Use PDR0 to change cpu freq @ 2011-08-22 13:51 Teresa Gámez 2011-08-22 13:51 ` [PATCHv2 2/2] ARM pcm043: change RAM timings Teresa Gámez 2011-08-22 17:27 ` [PATCHv2 1/2] ARM pcm043: Use PDR0 to change cpu freq Sascha Hauer 0 siblings, 2 replies; 5+ messages in thread From: Teresa Gámez @ 2011-08-22 13:51 UTC (permalink / raw) To: barebox 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. Signed-off-by: Teresa Gámez <t.gamez@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@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCHv2 2/2] ARM pcm043: change RAM timings 2011-08-22 13:51 [PATCHv2 1/2] ARM pcm043: Use PDR0 to change cpu freq Teresa Gámez @ 2011-08-22 13:51 ` Teresa Gámez 2011-08-22 17:27 ` [PATCHv2 1/2] ARM pcm043: Use PDR0 to change cpu freq Sascha Hauer 1 sibling, 0 replies; 5+ messages in thread From: Teresa Gámez @ 2011-08-22 13:51 UTC (permalink / raw) To: barebox Update RAM timing for new sdrams (IS43DR16320B). RAM timings are reworked with extended row cycle delay. Timings where also tested with older sdrams (MT47H32M16). Signed-off-by: Teresa Gámez <t.gamez@phytec.de> --- arch/arm/boards/pcm043/lowlevel.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/arm/boards/pcm043/lowlevel.c b/arch/arm/boards/pcm043/lowlevel.c index eff96f9..bbe586b 100644 --- a/arch/arm/boards/pcm043/lowlevel.c +++ b/arch/arm/boards/pcm043/lowlevel.c @@ -146,7 +146,7 @@ void __bare_init __naked board_init_lowlevel(void) writel(0x00000304, ESDMISC); /* was 0x00000004 */ /* set timing paramters */ - writel(0x00255417, ESDCFG0); + writel(0x0025541F, ESDCFG0); /* select Precharge-All mode */ writel(0x92220000, ESDCTL0); /* Precharge-All */ -- 1.7.0.4 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCHv2 1/2] ARM pcm043: Use PDR0 to change cpu freq 2011-08-22 13:51 [PATCHv2 1/2] ARM pcm043: Use PDR0 to change cpu freq Teresa Gámez 2011-08-22 13:51 ` [PATCHv2 2/2] ARM pcm043: change RAM timings Teresa Gámez @ 2011-08-22 17:27 ` Sascha Hauer 2011-08-23 9:31 ` Teresa Gamez 1 sibling, 1 reply; 5+ messages in thread From: Sascha Hauer @ 2011-08-22 17:27 UTC (permalink / raw) To: Teresa Gámez; +Cc: barebox 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@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@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] 5+ messages in thread
* Re: [PATCHv2 1/2] ARM pcm043: Use PDR0 to change cpu freq 2011-08-22 17:27 ` [PATCHv2 1/2] ARM pcm043: Use PDR0 to change cpu freq Sascha Hauer @ 2011-08-23 9:31 ` Teresa Gamez 2011-08-23 10:43 ` Sascha Hauer 0 siblings, 1 reply; 5+ messages in thread From: Teresa Gamez @ 2011-08-23 9:31 UTC (permalink / raw) To: Sascha Hauer; +Cc: barebox Am Montag, den 22.08.2011, 19:27 +0200 schrieb Sascha Hauer: > 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. Yes, there where different problems with older i.MX35 modules so that the frequency was lowered to 399MHz. For the revision 1315.4 we made some PCB optimizations to run the pcm043 safe with 532MHz. Additionally we switched the silicon revision to TO 2.1. So it is ensured that all pcm043 with >= TO 2.1 run with 532MHz. For that case we made a patch (for u-boot-v2) that checks the silicon revision and sets up the frequency post divider accordingly. I'll update the patch and send it. Teresa > > Sascha > > > > > Signed-off-by: Teresa Gámez <t.gamez@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@lists.infradead.org > > http://lists.infradead.org/mailman/listinfo/barebox > _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCHv2 1/2] ARM pcm043: Use PDR0 to change cpu freq 2011-08-23 9:31 ` Teresa Gamez @ 2011-08-23 10:43 ` Sascha Hauer 0 siblings, 0 replies; 5+ messages in thread From: Sascha Hauer @ 2011-08-23 10:43 UTC (permalink / raw) To: Teresa Gamez; +Cc: barebox On Tue, Aug 23, 2011 at 11:31:02AM +0200, Teresa Gamez wrote: > Am Montag, den 22.08.2011, 19:27 +0200 schrieb Sascha Hauer: > > 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. > > Yes, there where different problems with older i.MX35 modules so that the > frequency was lowered to 399MHz. > For the revision 1315.4 we made some PCB optimizations to run the pcm043 > safe with 532MHz. Additionally we switched the silicon revision to TO 2.1. > So it is ensured that all pcm043 with >= TO 2.1 run with 532MHz. > For that case we made a patch (for u-boot-v2) that checks the silicon revision > and sets up the frequency post divider accordingly. > I'll update the patch and send it. Thanks. This looks like a sane solution. Sascha > > Teresa > > > > > Sascha > > > > > > > > Signed-off-by: Teresa Gámez <t.gamez@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@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] 5+ messages in thread
end of thread, other threads:[~2011-08-23 10:43 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2011-08-22 13:51 [PATCHv2 1/2] ARM pcm043: Use PDR0 to change cpu freq Teresa Gámez 2011-08-22 13:51 ` [PATCHv2 2/2] ARM pcm043: change RAM timings Teresa Gámez 2011-08-22 17:27 ` [PATCHv2 1/2] ARM pcm043: Use PDR0 to change cpu freq Sascha Hauer 2011-08-23 9:31 ` Teresa Gamez 2011-08-23 10:43 ` Sascha Hauer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox