[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