From: Juergen Beisert <jbe@pengutronix.de>
To: barebox@lists.infradead.org
Subject: Re: iMX27 clock settings
Date: Wed, 15 Feb 2012 10:29:12 +0100 [thread overview]
Message-ID: <201202151029.12926.jbe@pengutronix.de> (raw)
In-Reply-To: <CALQ+5adUP4qyf8+82s2NK6R3LbvjteuE-bkQ0iUdMG7X2LtxFQ@mail.gmail.com>
Igor Trevisan wrote:
> Hi,
>
> I'm working on a custom board based on iMX27L. Initially I worked with
> Redboot as Linux bootloader but now, I'm happily working with Barebox
> (2012.01.0) having replaced Redboot with it.
>
> Everithing is fine (thanks to the guys in the list for helping me!) but...
> I noticed that my Linux apps run more slowly within my system if it's
> started by Barebox
> then if it's started by Redbbot.
> I think it's a matter of internal clocks settings.
>
> I see that Redboot, for example, set:
> CSR=0x33F38107
> while Barebox does:
> writel(0x33F30307 | CSCR_MPLL_RESTART | CSCR_SPLL_RESTART, CSCR)
> That brings to CSR=0x33F30307 at the end of the PLLs restart procedure.
>
> Reading the Manual I can see that the differences between the two settings
> mean having an arm_clk that is 2/3 and an AHB_clk that's the half.
>
> Is there a particular reason for having these "slower configuration"?
>
> I tried to change the lowlevel_init.S to force 0x33F38107 into CSCR
> at startup but, after that change, my board starts, has time to write
> somenthing on the
> serial console:
>
> "barebox 2012.01.0-svn11070-dirty1 (Feb 14 2012 - 11:10:39)
>
> Board: Freescale iÿ"
>
> and then restarts... continuously.
>
> Can anybody help me to understand this and to make (if possible) my
> system faster?
a) you cannot change the PLL settings, when the system is already up and
running (which means the SDRAM controller is running)
This is due to the fact, the clocks are stopping until the PLLs lock
again to the new settings. While the clock is stopped the SDRAM may lose
data (no refresh for about 100ms).
b) one way to solve it is to re-program the PLL very early prior the SDRAM
controller gets configured.
c) solution b) does not work if the default core power supply is to low to run
the core at the full speed.
d) solution here is to re-program the PLL to its final values, but with higher
prescaler vale to keep the core clock at rates corresponding to the
available core power supply value. Later on, when Barebox is up and running
and can re-program the core power supply to higher values, it is possible
the change only the prescalers to run the core at higher speed (without the
need to reprogram the PLL).
Regards,
Juergen
--
Pengutronix e.K. | Juergen Beisert |
Linux Solutions for Science and Industry | http://www.pengutronix.de/ |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2012-02-15 9:31 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-14 15:10 Igor Trevisan
2012-02-15 9:15 ` Kamel BOUHARA
2012-02-15 11:10 ` Igor Trevisan
2012-02-15 9:29 ` Juergen Beisert [this message]
2012-02-15 12:09 ` Sascha Hauer
2012-02-15 14:59 ` Igor Trevisan
2012-02-15 16:06 ` Igor Trevisan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201202151029.12926.jbe@pengutronix.de \
--to=jbe@pengutronix.de \
--cc=barebox@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox