From: Wolfgang Grandegger <wg@grandegger.com>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] Ideas on U-Boot configuration with FDT
Date: Mon, 21 May 2007 18:58:00 +0200 [thread overview]
Message-ID: <4651CF98.30107@grandegger.com> (raw)
In-Reply-To: <4651B871.2070904@freescale.com>
Timur Tabi wrote:
> Wolfgang Grandegger wrote:
>
>> Then something similar to the ENV could be chosen:
>>
>> CFG_FDT_ADDR
>> CFG_FDT_IS_IN_FLASH
>> CFG_FDT_IS_IN_xxx
>
> We need two addresses:
>
> 1) The address where the FDT is stored when the system is powered up
OK.
> 2) The address in RAM where the FDT should be placed before Linux is
> booted.
This should be some kind of default address. Also be aware, that the
blob can be within a uImage created with mkimage. Then the load address
defined in the uImage should be used.
> Therefore, we can't have just CFG_FDT_ADDR. We need CFG_FDT_ADDR_xxxx
>
> My vote is to have xxxx be the type of memory. So if CFG_FDT_ADDR_FLASH
> is defined to value X, that means that the FDT is stored in flash at
> address X. If CFG_FDT_ADDR_EEPROM is defined instead, then it means
> that FDT is located in EEPROM at address X.
>
> This would eliminate the "CFG_FDT_IS_IN_xxx"-type macros, which I think
> are redundant.
You might be right. The _IS_IN_ is used for the ENV, I have to check
what the rational behind it is (if there is one at all).
>
>>>> CFG_FDT_ADDR_BY_ENV:
>>>> If defined, the env variable "fdtaddr" is looked up early in the
>>>> boot and "fdt" is set accordingly. This allows to hold more
>>>> than
>
> I would rather that the FDT subsystem *set* the fdtaddr variable,
> instead of the other way around.
I'm not sure if you understand the intended purpose. The address of the
_initial_ blob could be stored in the env variable "fdtaddr" to select
_one_ blob out of many in the FLASH.
>>>> CFG_FDT_ADDR_RAM:
>>>> If defined, the blob is moved to RAM after relocation for
>>>> further preparation or for performance reasons. "fdt" is
>>>> re-set
>>>> accordingly. The blob is then ready and in place for booting
>>>> Linux. If CFG_FDT_ADDR_RAM is set to 0, the blob will be
>>>> copied
>>>> to a default location, e.g. before the initrd location.
>
> I think we're going to have to always relocate the FDT to RAM.
> Considering the level of functionality that libfdt provides, and
> considering how much of that functionality depends on being able to
> write to the FDT, it makes sense to require it to be in RAM.
Good, and for booting the FDT must be in RAM anyhow.
>>> "checkboard()" is a name that can mean anything. If the function is
>
> The purpose of the function is to provide board-specific code that
> validates the FDT. The amount of checking performed is at the
> discretion of the function.
>
> For example, checkboard() *should* compare the values in the board
> header file with the FDT to verify that the memory mappings map, for
> instance.
I tend to leave it up to the board specific code where and how to verify
the FDT. There are already various entry points like checkboard() or
misc_init_r().
Wolfgang.
next prev parent reply other threads:[~2007-05-21 16:58 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-18 9:09 [U-Boot-Users] Ideas on U-Boot configuration with FDT Wolfgang Grandegger
2007-05-18 14:27 ` Timur Tabi
2007-05-18 14:44 ` Wolfgang Grandegger
2007-05-18 14:48 ` Timur Tabi
2007-05-18 15:01 ` Wolfgang Grandegger
2007-05-18 15:01 ` Timur Tabi
2007-05-18 15:20 ` Wolfgang Grandegger
2007-05-18 15:19 ` Timur Tabi
2007-05-18 19:04 ` Wolfgang Denk
2007-05-18 15:29 ` Jerry Van Baren
2007-05-18 15:35 ` Timur Tabi
2007-05-18 16:05 ` Jerry Van Baren
2007-05-18 16:12 ` Timur Tabi
2007-05-18 16:30 ` Jerry Van Baren
2007-05-20 8:36 ` Wolfgang Grandegger
2007-05-20 9:33 ` Wolfgang Denk
2007-05-20 12:39 ` Jerry Van Baren
2007-05-20 13:05 ` Wolfgang Grandegger
2007-05-21 15:19 ` Timur Tabi
2007-05-21 16:58 ` Wolfgang Grandegger [this message]
2007-05-21 17:02 ` Timur Tabi
2007-05-21 17:18 ` Jerry Van Baren
2007-05-21 18:31 ` Timur Tabi
2007-05-21 19:38 ` Wolfgang Denk
2007-05-21 17:26 ` Wolfgang Grandegger
2007-05-21 19:34 ` Wolfgang Denk
2007-05-21 19:39 ` Timur Tabi
2007-05-21 15:23 ` Timur Tabi
2007-05-21 17:08 ` Wolfgang Grandegger
2007-05-18 19:16 ` Wolfgang Denk
2007-05-18 19:26 ` Jon Loeliger
2007-05-18 19:11 ` Wolfgang Denk
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=4651CF98.30107@grandegger.com \
--to=wg@grandegger.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 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.