[U-Boot] [PATCH 23/26] spl: Add an option to load a FIT containing U-Boot

Simon Glass sjg at chromium.org
Mon Feb 22 05:46:19 CET 2016


Hi Stefano,

On 4 February 2016 at 08:00, Stefano Babic <sbabic at denx.de> wrote:
> Hi Simon,
>
> On 28/01/2016 17:39, Simon Glass wrote:
>> This provides a way to load a FIT containing U-Boot and a selection of device
>> tree files. The board can select the correct device tree by probing the
>> hardware. Then U-Boot is started with the selected device tree.
>>
>> Signed-off-by: Simon Glass <sjg at chromium.org>
>> ---
>>
>>  Kconfig              |  11 +++
>>  common/spl/Makefile  |   1 +
>>  common/spl/spl_fit.c | 192 +++++++++++++++++++++++++++++++++++++++++++++++++++
>>  include/spl.h        |  18 +++++
>>  4 files changed, 222 insertions(+)
>>  create mode 100644 common/spl/spl_fit.c
>>
>> diff --git a/Kconfig b/Kconfig
>> index 3ce5ba1..f32c6c7 100644
>> --- a/Kconfig
>> +++ b/Kconfig
>> @@ -215,6 +215,17 @@ config SYS_TEXT_BASE
>>       help
>>         TODO: Move CONFIG_SYS_TEXT_BASE for all the architecture
>>
>> +config SPL_LOAD_FIT
>> +     bool "Enable SPL loading U-Boot as a FIT"
>> +     depends on FIT
>> +     help
>> +       Normally with the SPL framework a legacy image is generated as part
>> +       of the build. This contains U-Boot along with information as to
>> +       where it should be loaded. This option instead enables generation
>> +       of a FIT (Flat Image Tree) which provides more flexibility. In
>> +       particular it can handle selecting from multiple device tree
>> +       and passing the correct one to U-Boot.
>> +
>>  config SYS_CLK_FREQ
>>       depends on ARC || ARCH_SUNXI
>>       int "CPU clock frequency"
>> diff --git a/common/spl/Makefile b/common/spl/Makefile
>> index 10a4589..2e0f695 100644
>> --- a/common/spl/Makefile
>> +++ b/common/spl/Makefile
>> @@ -10,6 +10,7 @@
>>
>>  ifdef CONFIG_SPL_BUILD
>>  obj-$(CONFIG_SPL_FRAMEWORK) += spl.o
>> +obj-$(CONFIG_SPL_LOAD_FIT) += spl_fit.o
>>  obj-$(CONFIG_SPL_NOR_SUPPORT) += spl_nor.o
>>  obj-$(CONFIG_SPL_YMODEM_SUPPORT) += spl_ymodem.o
>>  obj-$(CONFIG_SPL_NAND_SUPPORT) += spl_nand.o
>> diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c
>> new file mode 100644
>> index 0000000..f225f64
>> --- /dev/null
>> +++ b/common/spl/spl_fit.c
>> @@ -0,0 +1,192 @@
>> +/*
>> + * Copyright (C) 2016 Google, Inc
>> + * Written by Simon Glass <sjg at chromium.org>
>> + *
>> + * SPDX-License-Identifier:     GPL-2.0+
>> + */
>> +
>> +#include <common.h>
>> +#include <errno.h>
>> +#include <spl.h>
>> +
>
> I would like to test your patchset, I am trying with a i.MX6 (I want to
> build wandboard). It looks like that image.h is missing here.
>
> common/spl/spl_fit.c: In function 'fdt_getprop_u32':
> common/spl/spl_fit.c:20:2: warning: implicit declaration of function
> 'fdt_getprop' [-Wimplicit-function-declaration]
>
> However, in image.h it looks like that IMAGE_USE_FIT is not correctly
> set. I am looking why, I have just added these to wandboard_defconfig:
>
> +CONFIG_FIT=y
> +CONFIG_SPL_OF_LIBFDT=y
> +CONFIG_SPL_LOAD_FIT=y
> +CONFIG_OF_LIST="wandboard"

Sorry I missed this email at the time.

Did you figure it out? I don't see a build error with that board, but
I have only tested with the settings as in the tree.

I added those options but I don't see that error...

>
>
> Best regards,
> Stefano
[snip]

Regards,
Simon


More information about the U-Boot mailing list