public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Stefan Roese <sr@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] U-Boot-NG ?
Date: Wed, 4 Jul 2007 13:56:31 +0200	[thread overview]
Message-ID: <200707041356.32051.sr@denx.de> (raw)
In-Reply-To: <20070704112842.GJ3361@leda.ptxnet.pengutronix.de>

On Wednesday 04 July 2007, Sascha Hauer wrote:
> > You seem to never have dealt with a complex DDR2 setup with DIMM modules
> > (and optionally with ECC support). Please take a look at
> > cpu/ppc4xx/44x_spd_ddr2.c).
>
> I just did. The information this file outputs can easily be transfered
> to puts/puthex.

Yes, this could be done. I just wanted to make a point, that not all SDRAM 
configuration are "easy" and fit into a few lines of code.

> I'm not against early consoles in general, they are a 
> good thing. But you have to decide: Either you can provide a serial port
> suitable for this kind of output, or you can't because this port is
> normally occupied by a modem or something, but putting the information
> about this in such a complicated thing as the environment or even the
> device tree is just the wrong way.
>
> > It is pretty hard to come up with a common (cpu
> > platform) code that can be used by several boards supporting a variety of
> > DIMM modules. Here some debug printf's come in very handy.
> >
> > > Usually this part is about 20 lines in my bdi config. Transfering this
> > > into some lines Assembler
> >
> > I thought those days were over. I will never ever go back to having to
> > setup a SDRAM controller in assembler.
>
> I understand that you don't want to do such complicated things as done
> in spd_sdram.c in assembler (and I don't want other people to do it in
> assembler, that would be sadistic ;)

Yep. ;-)

> But there is the other end aswell: 
> On Arm it's really simple like that. You do not even have SRAM to use
> as a stack pointer (at least not as a general feature).
>
> If you want output before SDRAM init, lets do it in form of a _simple_
> console. Reading device tree contents or environment before the general
> entry point is just bloated and imho cannot be done in a way everybody
> is happy.

I'm still a little undecided, if a "simple" output mechanism is enough. Of 
course you can life with a hardwired baudrate on most systems, so that you 
don't have to read the environment. But there will be some systems where the 
user configured a different baudrate and the outputs from the DDR2 init 
routine will not be readable.

But you are right: Making this step hardcoded makes the overall design much 
more simple. So that would be a "Good Thing" (TM).

> Even netconsole was already mentioned somewhere. This can 
> simply not be implemented on other architectures than powerpc because of
> the lack of SRAM.

Yes, something like netconsole has to be initializes quite late in the bootup 
process.

> I once wondered why it takes _so_ long to get a prompt on my MPC5200
> board. The solution was simple: U-Boot was busy reading the environment
> from EEPROM several times.

Yes. That is one of the reasons, why it is strongly discouraged to use I2C 
EEPROM for environment storage.

> Once for the checksum, once again for std* 
> settings and then for the baudrate setting. I was unable to fix it
> though because my only chance was to #ifdef all around the place and
> completely change the startup prodedure for my $SPECIAL_BOARD
>
> > > or C code is a piece of cake.
> >
> > Ah, ok. At least C.
> >
> > > If you have to
> > > read some i2c data to get initialization settings, you have to do some
> > > bits more and I understand that one wants to have some putc/puthex to
> > > check if sane values are read. But again, this is lowlevel work and
> > > once it's running can forget about this.
> >
> > No, you can't. Since the user might replace another DIMM module. Or even
> > the board manufacturer.
>
> Board manufactures should be able to buy DIMM modules which are
> compatible with the board or have some 'verbose early debug U-Boot' in
> place which they can use when testing new DIMMs.

That's the way it *should* be. But unfortunately this is not always the case. 
At least we have seen it happen before, that not supported modules were 
shipped. :-(

> And when I buy new DIMMs for my PC the 'no memory' beep tells me that
> this module is not compatible. I do not need more information (I could
> not make use of it anyway).

If no output on the serial console always means: "problem with memory", than 
this would be an easy indication for SDRAM problems. But I have seen lots of 
other errors, that lead to a hangup in the very early boot stage. Most of the 
time *before* SDRAM is initialized.

Don't get me wrong. I generally like this 2 stage approach. For example it 
fits the NAND booting support (see nand_spl/*) where a small (4k on 4xx) 
first stage loader is needed. I'm just a little hesitant about dropping the 
full featured printf in early boot stages.

Best regards,
Stefan

=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================

  reply	other threads:[~2007-07-04 11:56 UTC|newest]

Thread overview: 110+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-30  2:08 [U-Boot-Users] U-Boot-NG ? Wolfgang Denk
2007-06-30  9:40 ` Robert Schwebel
2007-06-30 22:42   ` Carsten Schlote
2007-07-01 15:39     ` Wolfgang Denk
2007-07-02  9:58       ` Carsten Schlote
2007-07-01 15:17   ` Wolfgang Denk
2007-07-02 11:47     ` Sascha Hauer
2007-07-02 13:34       ` Carsten Schlote
2007-07-02 16:47 ` Sascha Hauer
2007-07-02 17:22   ` Jerry Van Baren
2007-07-02 18:42     ` Sascha Hauer
2007-07-02 23:39       ` Wolfgang Denk
2007-07-03  0:09         ` Sascha Hauer
2007-07-03  1:46           ` Grant Likely
2007-07-03  9:44             ` Sascha Hauer
2007-07-03 15:36               ` Grant Likely
2007-07-03 20:40                 ` Wolfgang Denk
2007-07-04  8:35                 ` Robert Schwebel
2007-07-04 13:47                   ` Wolfgang Denk
2007-07-04 15:25                   ` Grant Likely
2007-07-03 22:58             ` Wolfgang Denk
2007-07-03  7:22           ` Wolfgang Denk
2007-07-03  9:02             ` Sascha Hauer
2007-07-06 11:53             ` [U-Boot-Users] 回复: " Songmao Tian
2007-07-02 18:25   ` Håvard Skinnemoen
2007-07-02 18:58     ` Sascha Hauer
2007-07-02 19:53       ` Håvard Skinnemoen
2007-07-02 19:02   ` Carsten Schlote
2007-07-02 19:26     ` Sascha Hauer
2007-07-02 20:37       ` Carsten Schlote
2007-07-02 21:56         ` Sascha Hauer
2007-07-02 19:54     ` Carsten Schlote
2007-07-03 11:02       ` Sascha Hauer
2007-07-03 15:35         ` Carsten Schlote
2007-07-03 16:52           ` Grant Likely
2007-07-03 17:18             ` Ulf Samuelsson
2007-07-03 18:01               ` Grant Likely
2007-07-03 17:58             ` Sascha Hauer
2007-07-03 18:05               ` Grant Likely
2007-07-03 18:09                 ` Rune Torgersen
2007-07-03 18:17                   ` Grant Likely
2007-07-03 18:43                     ` Rune Torgersen
2007-07-03 18:54                       ` Grant Likely
2007-07-03 19:12                         ` Rune Torgersen
2007-07-03 19:21                           ` Grant Likely
2007-07-03 19:27                             ` Rune Torgersen
2007-07-03 19:30                               ` Grant Likely
2007-07-03 19:40                                 ` Rune Torgersen
2007-07-03 19:59                             ` Wolfgang Grandegger
2007-07-03 21:14                               ` Wolfgang Denk
2007-07-03 21:13                             ` Wolfgang Denk
2007-07-03 22:59                               ` Grant Likely
2007-07-03 23:13                                 ` Wolfgang Denk
2007-07-04  5:22                                   ` Andrew Dyer
2007-07-04  5:34                                     ` Grant Likely
2007-07-04 13:38                                       ` Wolfgang Denk
2007-07-04 16:00                                       ` Andrew Dyer
2007-07-04 11:46                                   ` Sascha Hauer
2007-07-04 11:53                                     ` Stefan Roese
2007-07-04 12:01                                       ` Sascha Hauer
2007-07-04 13:53                                       ` Wolfgang Denk
2007-07-04 15:39                                         ` Grant Likely
2007-07-04 18:49                                           ` Wolfgang Denk
2007-07-04 13:51                                     ` Wolfgang Denk
2007-07-03 19:19                     ` Jerry Van Baren
2007-07-03 21:11                       ` Wolfgang Denk
2007-07-03 21:06                     ` Wolfgang Denk
2007-07-03 18:43                   ` Sascha Hauer
2007-07-03 20:55               ` Wolfgang Denk
2007-07-04  9:32                 ` Sascha Hauer
2007-07-04 10:06                   ` Stefan Roese
2007-07-04 11:28                     ` Sascha Hauer
2007-07-04 11:56                       ` Stefan Roese [this message]
2007-07-04 12:21                         ` Robert Schwebel
2007-07-04 12:49                           ` Stefan Roese
2007-07-04 14:02                           ` Wolfgang Denk
2007-07-04 18:43                             ` Robert Schwebel
2007-07-04 19:36                               ` Wolfgang Denk
2007-07-04 20:40                                 ` Robert Schwebel
2007-07-04 22:25                                 ` Ulf Samuelsson
2007-07-05  6:04                                   ` Stefan Roese
2007-07-05  7:01                                     ` Robert Schwebel
2007-07-05  7:54                                     ` Ulf Samuelsson
2007-07-04 12:26                         ` Sascha Hauer
2007-07-04 12:37                           ` Stefan Roese
2007-07-04 13:09                           ` Carsten Schlote
2007-07-04 14:06                           ` Wolfgang Denk
2007-07-04 14:37                             ` Stefan Roese
2007-07-04 13:58                         ` Wolfgang Denk
2007-07-04 15:34                         ` Grant Likely
2007-07-04 12:48                       ` [U-Boot-Users] U-Boot 2.0 - How to proceed...? (was RE: U-Boot-NG ?) Carsten Schlote
2007-07-04 14:17                         ` Wolfgang Denk
2007-07-04 13:34                   ` [U-Boot-Users] U-Boot-NG ? Wolfgang Denk
2007-07-04 14:11                     ` Sascha Hauer
2007-07-03 20:48             ` Wolfgang Denk
2007-07-03 22:31               ` Sascha Hauer
2007-07-03 22:55                 ` Wolfgang Denk
2007-07-03 23:09             ` Scott Wood
2007-07-04  9:37               ` Clemens Koller
2007-07-03 17:30           ` Sascha Hauer
2007-07-03 18:03             ` Grant Likely
2007-07-04 14:16   ` Wolfgang Denk
2007-07-04 14:43     ` Sascha Hauer
2007-07-04 14:56       ` Wolfgang Denk
2007-07-06  6:39   ` [U-Boot-Users] 回复: " Songmao Tian
2007-07-06 11:46     ` [U-Boot-Users] ????: " Sascha Hauer
2007-07-06 13:09       ` Songmao Tian
2007-07-06 13:27         ` Sascha Hauer
2007-07-06 14:32         ` Wolfgang Denk
2007-07-06 14:53           ` Songmao Tian

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=200707041356.32051.sr@denx.de \
    --to=sr@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox