public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Mark Asselstine <mark.asselstine@windriver.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] sheevaplug: correct SDRAM address control register value
Date: Sun, 18 Oct 2009 20:26:18 -0400	[thread overview]
Message-ID: <200910182026.18231.mark.asselstine@windriver.com> (raw)
In-Reply-To: <4ADB765F.3070608@windriver.com>

On Sunday 18 October 2009 16:11:11 Tom wrote:
> Mark Asselstine wrote:
> > The SheevaPlug DevKit is shipped with 4x8 by 1Gb DDR devices in
> > two banks for a total of 512MB of RAM. Based on this configuration
> > the existing values for SDRAM address control register are incorrect
> > and result in random kernel oops as memory is incorrectly accessed
> > (while for example extracting a large tarball such as a rootfs).
> > Based on the hardware configuration along with the supporting
> > documentation from Marvell these are the correct values, as
> > well this change mimics values previously used in Marvell's own
> > u-boot git tree for the SheevaPlug.
> >
> > Other variants of the hardware such as the PogoPlug and TonidoPlug
> > may have different memory configurations but to properly support
> > those additional board directories should be maintained or a better
> > system to support other kwb*.cfg is needed.
> >
> > Tested on SheevaPlug DevKit.
> 
> Mark and Prafulla
> If this configuration is different from the what is already in use,
> then the kwbimage.cfg can not be overwritten.
> 
> Reviewing the kwbimage.cfg file shows a lot of magic.
> What would be a good way to generalize this ?
> 
Let me start with a quick disclaimer that I haven't spent the necessary 
prerequisite time with the kwb image concept yet to be anything more then a 
casual observer at this point.

Moving to a more typical header file format would be useful to remove the 
feeling of "magic", ie. similar to kernel register #defines with BASE and 
OFFSETs. Groupings of registers should be then captured in structures with a 
layout that would allow for 'make sheevaplug_devkit_config' to use the 
include/configs/*.h files to influence the values of particular registers, by 
name.

If the format of the kwbimage.cfg file is fixed we want to consider generating 
this file.

I will defer to Prafulla though as he might already have plans and what we see 
today might only be on the path to the final vision of things.

> More versions of the file ?

This would be the easiest route but would not make any strides to making the 
file less "magic".

> Variable support in the file?

Allowing the file to make use of #ifdef, #ifndef would allow for flexibility 
but again this solves on the issue of supporting variations not in making the 
file more reader friendly.

The $0.02 of a casual observer.

Mark.


> Other ideas ?
> 
> Tom
> 
> > Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
> > ---
> >  board/Marvell/sheevaplug/kwbimage.cfg |   10 +++++-----
> >  1 files changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/board/Marvell/sheevaplug/kwbimage.cfg
> > b/board/Marvell/sheevaplug/kwbimage.cfg index 6c47d62..61be8c2 100644
> > --- a/board/Marvell/sheevaplug/kwbimage.cfg
> > +++ b/board/Marvell/sheevaplug/kwbimage.cfg
> > @@ -74,11 +74,11 @@ DATA 0xFFD0140C 0x00000a33	#  DDR Timing (High)
> >  # bit12-11: TW2W
> >  # bit31-13: zero required
> >
> > -DATA 0xFFD01410 0x00000099	#  DDR Address Control
> > -# bit1-0:   01, Cs0width=x16
> > -# bit3-2:   10, Cs0size=512Mb
> > -# bit5-4:   01, Cs1width=x16
> > -# bit7-6:   10, Cs1size=512Mb
> > +DATA 0xFFD01410 0x000000cc	#  DDR Address Control
> > +# bit1-0:   00, Cs0width=reserved
> > +# bit3-2:   11, Cs0size=1Gb
> > +# bit5-4:   00, Cs1width=reserved
> > +# bit7-6:   11, Cs1size=1Gb
> >  # bit9-8:   00, Cs2width=nonexistent
> >  # bit11-10: 00, Cs2size =nonexistent
> >  # bit13-12: 00, Cs3width=nonexistent
> 

  reply	other threads:[~2009-10-19  0:26 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-16 17:09 [U-Boot] [PATCH] sheevaplug: correct SDRAM address control register value Mark Asselstine
2009-10-18 20:11 ` Tom
2009-10-19  0:26   ` Mark Asselstine [this message]
2009-10-19  6:32 ` Simon Kagstrom
2009-10-19 13:19   ` [U-Boot] [PATCH V2] " Mark Asselstine
2009-10-27  9:45     ` Prafulla Wadaskar
     [not found] <73173D32E9439E4ABB5151606C3E19E202F1D3730E@SC-VEXCH1.marvell.com>
2009-11-01 23:17 ` [U-Boot] [PATCH] " Tom

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=200910182026.18231.mark.asselstine@windriver.com \
    --to=mark.asselstine@windriver.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