public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Jerry Van Baren <gerald.vanbaren@smiths-aerospace.com>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] MPC8540 mtest "hang" with 1GByte memory module
Date: Wed, 05 Jul 2006 12:38:56 -0400	[thread overview]
Message-ID: <44ABEB20.2000503@smiths-aerospace.com> (raw)
In-Reply-To: <43EB80E07C42E1408726E4905FB96B0466CC03@CYBORG3.cyclone.com>

Scott Coulter wrote:
> Hi everyone,
> 
> I have a custom MPC8540-based board running U-boot 1.1.4.  The processor
> core runs at 833MHz and the memory is DDR 333MHz with ECC.  With a
> single banked SoDIMM memory module, 256 or 512Mbyte, the board can run a
> memory test and boot/run linux 2.6.15.  With a multiple banked (2)
> 1Gbyte memory module, the board can boot/run linux 2.6.15, but, the
> memory test hangs in the vicinity of the bank (512Mbyte) boundary.  The
> uboot fill command also hangs.  We can also generate a hang condition by
> doing a sequence of reads of a memory range that crosses the bank
> boundary.  Individual peeks and pokes of memory work fine.  It seems
> that a prolonged sequence of accesses is required to cause the problem.
> 
> If I run 'mtest 1fff0000 20010000' (over the 512MB boundary on a 1GB
> module), the test hangs in seconds.
> 
> If I use a 512MB SoDIMM module which use two Chip Selects (2 banks).  I
> can run 'mtest fff0000 10010000' from U-boot for hours without a
> problem.
> 
> Investigation with a JTAG emulator shows that the processor is not hung,
> but rather the code is stuck in a loop trying to output characters to
> the serial port (polling the LSR in the DUART for the transmitter to be
> empty).  According to the JTAG emulator, the data being read in the loop
> during the "hang" condition was 0.  However, if I read the register
> manually using the emulator, the value returned is 0x60 which should
> have caused the loop to exit and the character to be written.

OK, what is the system trying to send out the UART when the hang occurs? 
  Since you only send characters out the UART "when the test is done" 
either the test has been successfully completed or it is sending a 
failure message.  The two cases would cause different guesses.

> On the board, we have an LED register connected to the local bus.  If I
> write to the LEDs prior to the DUART LSR polling loop the memory test
> runs fine.  What effect should the local bus access have on the DUART
> polling loop?  According to the code and the emulator, the DUART
> registers do not show up in the data cache.

Are you missing "sync" instructions in your UART handling?  Sounds like 
the UART register operations are not being forced to run by the 
processor... when you hit the LED register, you are forcing the 
instructions to run as a side effect and all becomes well.

[snip]

> Thanks in advance,
> Scott

You are welcome in advance, ;-)
gvb

  reply	other threads:[~2006-07-05 16:38 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-05 15:47 [U-Boot-Users] MPC8540 mtest "hang" with 1GByte memory module Scott Coulter
2006-07-05 16:38 ` Jerry Van Baren [this message]
  -- strict thread matches above, loose matches on Subject: below --
2006-07-05 19:29 Scott Coulter
2006-07-06 11:59 Joao, Nuno
2006-07-06 14:34 Joao, Nuno
2006-07-06 15:08 ` Jerry Van Baren
2006-07-07 19:07 Scott Coulter

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=44ABEB20.2000503@smiths-aerospace.com \
    --to=gerald.vanbaren@smiths-aerospace.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox