From: Heiko Schocher <hs@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] 83xx and LCRR setting
Date: Thu, 20 Aug 2009 12:05:58 +0200 [thread overview]
Message-ID: <4A8D2006.2050800@denx.de> (raw)
In-Reply-To: <20090819193128.62f9a4b3.kim.phillips@freescale.com>
Hello Kim,
Kim Phillips schrieb:
> On Tue, 18 Aug 2009 15:23:47 +0200
> Heiko Schocher <hs@denx.de> wrote:
>
>> Hello Kim,
>
> Hello Heiko, sorry for the late reply,
>
>> I actually work on an u-boot mpc8321 port (mostly identical with the kmeter1
>> port already in mainline), and I have to set the LCRR (Clock Ratio Register
>> Reference Manual 10.3.1.14). As I see in
>>
>> cpu/mpc83xx/cpu_init.c cpu_init_f()
>>
>> this is done while running from flash. Hmm... the Reference manual
>> says in chapter 10.3.1.14 page 474:
>>
>> NOTE
>> For proper operation of the system, this register setting must not be altered
>> while local bus memories or devices are being accessed. Special care needs
>> to be taken when running instructions from an local bus controller memory.
>>
>> Hmm...
>>
>> On my board (and for example on the MPC832XEMDS) the flash is connected
>> to the localbus ... and this register setting is done, while
>> running from flash ... Hmm.. is this safe?
>
> yeah, I'm not quite sure how that works myself!
I stumbled over this, just because I didn;t set this
LCRR_DBYP bit, which the CPU sets after a reset, so
what Do you think about this patch?
832x, LCRR: change only the valid bits for this register
Signed-off-by: Heiko Schocher <hs@denx.de>
---
cpu/mpc83xx/cpu_init.c | 6 ++++++
include/asm-ppc/fsl_lbc.h | 4 ++++
2 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/cpu/mpc83xx/cpu_init.c b/cpu/mpc83xx/cpu_init.c
index ea4f2af..b5f64a8 100644
--- a/cpu/mpc83xx/cpu_init.c
+++ b/cpu/mpc83xx/cpu_init.c
@@ -193,8 +193,14 @@ void cpu_init_f (volatile immap_t * im)
*/
im->reset.rmr = (RMR_CSRE & (1<<RMR_CSRE_SHIFT));
+#if defined(CONFIG_MPC832x)
+ /* LCRR - Clock Ratio Register (10.3.1.14) */
+ im->lbus.lcrr = (im->lbus.lcrr & LCRR_MASK) | \
+ (CONFIG_SYS_LCRR & ~LCRR_MASK);
+#else
/* LCRR - Clock Ratio Register (10.3.1.16) */
im->lbus.lcrr = CONFIG_SYS_LCRR;
+#endif
/* Enable Time Base & Decrimenter ( so we will have udelay() )*/
im->sysconf.spcr |= SPCR_TBEN;
diff --git a/include/asm-ppc/fsl_lbc.h b/include/asm-ppc/fsl_lbc.h
index a28082e..2c7a94b 100644
--- a/include/asm-ppc/fsl_lbc.h
+++ b/include/asm-ppc/fsl_lbc.h
@@ -315,6 +315,10 @@
#define LCRR_CLKDIV_4 0x00000004
#define LCRR_CLKDIV_8 0x00000008
+#if defined(CONFIG_MPC832x)
+#define LCRR_MASK 0xFFFCFFF0
+#endif
+
/* LTEDR - Transfer Error Check Disable Register
*/
#define LTEDR_BMD 0x80000000 /* Bus monitor disable */
--
1.6.0.6
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
next prev parent reply other threads:[~2009-08-20 10:05 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-18 13:23 [U-Boot] 83xx and LCRR setting Heiko Schocher
2009-08-20 0:31 ` Kim Phillips
2009-08-20 5:45 ` Heiko Schocher
2009-08-20 10:05 ` Heiko Schocher [this message]
2009-08-20 11:03 ` Detlev Zundel
2009-08-21 20:56 ` Kim Phillips
2009-08-22 6:32 ` Heiko Schocher
2009-08-24 10:15 ` Detlev Zundel
2009-08-24 16:43 ` Kim Phillips
2009-08-21 20:55 ` Kim Phillips
2009-08-22 6:17 ` Heiko Schocher
2009-08-24 16:32 ` Kim Phillips
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=4A8D2006.2050800@denx.de \
--to=hs@denx.de \
--cc=u-boot@lists.denx.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.