[U-Boot] platform configuration

Roman Mashak romez777 at gmail.com
Fri Sep 26 03:17:27 CEST 2008


Hello,

2008/9/25 Wolfgang Denk <wd at denx.de>:
>> (2) this question is a consequence of the first.
>> 'struct bd_info' from $(UBOOT)/include/asm-arm/u-boot.h is a structure
>> holding board's specific information, am I right?
>
> Not really. bd_info is passing boot information ot old (arch/ppc)
> PowerPC Linux kernels.

On the other hand this structure is used on many other platforms --
for example, in 'board_init()' functions presenting in
$(UBOOT)/board/board_name/...  Is this for compatibility or this
structure was later enhanced to support other target as well?

>> (3) can't yet figure out how CONFIG_BOOTARGS  is pulled in. Somwhow it
>> should get into board's information structure?
>
> No, not at all. It becomes part of the default U-Boot environment. See
> common/env_common.c

Alright -- 'default_environment' is populated with environment
variables and values. Environment is stored either in FLASH, NAND,
EEPROM etc. (depending on CFG_ENV_IS_IN_*).

'env_relocate()' is invoked from lib_<arch>/board.c. For instance, for
ARM it will be start_armboot() right after initialization gets done
(i.e. CPU, board, memory are ready) => therefore possible to put
environment in RAM.

The process also involves CRC checking and if it's faulty, then
restore configuration.

Well, something like that :) Correct me if I'm wrong.

-- 
Roman Mashak


More information about the U-Boot mailing list