[U-Boot] [PATCH] ARM: rpi: Add CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG support

Ian Lepore ian at freebsd.org
Wed Aug 26 03:46:42 CEST 2015


On Tue, 2015-08-25 at 19:34 -0600, Stephen Warren wrote:
> On 08/21/2015 03:47 AM, Guillaume Gardet wrote:
> > 
> > 
> > Le 19/08/2015 05:14, Stephen Warren a écrit :
> >> On 08/18/2015 08:03 AM, Guillaume GARDET wrote:
> >>> Add CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG support to set 'board_rev' and
> >>> 'board_name' envs.
> >> That states what the patch does rather than why its useful to do it. Can
> >> you expand on why it's useful to set these variables?
> > 
> > Using boot scripts you may need to get the board version / revision
> > infos, for example to select the right DTB since u-boot DTB names and
> > kernel DTB files do not match.
> 
> The fix here isn't to craft all kinds of complex scripts in U-Boot based
> on a slew of extra variables. Rather, the set of DT files in the kernel
> should be expanded so that there is one DT per board design, i.e. so the
> filenames in the kernel match the filenames that U-Boot expects.
> 

You speak of "the kernel" as if there were only one.  FreeBSD also uses
dtb files, and we often have to do local patches to u-boot source to
make it emit identifying info such as soc type/model/rev and board rev
so that we can choose the right dtb file.

The way we handle dtb files is nothing like what linux does, but we use
the same dts source and dtb files as linux.  In some cases we need
u-boot to load those files, in other cases we just need some u-boot
script code to set fdt_file to the right name, then our next-stage
kernel loader handles the actual loading of the file.  Who does the
loading isn't as important as being able to choose the right file to
load, given an sdcard image that contains a single kernel that works for
a variety of related boards, but multiple dtb files, one per board.

-- Ian




More information about the U-Boot mailing list