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

Stefano Babic sbabic at denx.de
Mon Feb 22 07:45:45 CET 2016



On 22/02/2016 05:46, Simon Glass wrote:
> 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...

It was my mistake, I could build it - sorry for noise.

Regards,
Stefano

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================


More information about the U-Boot mailing list