From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Babic Date: Mon, 22 Feb 2016 07:45:45 +0100 Subject: [U-Boot] [PATCH 23/26] spl: Add an option to load a FIT containing U-Boot In-Reply-To: References: <1453999186-18747-1-git-send-email-sjg@chromium.org> <1453999186-18747-24-git-send-email-sjg@chromium.org> <56B36785.1090508@denx.de> Message-ID: <56CAAE99.6010901@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 22/02/2016 05:46, Simon Glass wrote: > Hi Stefano, > > On 4 February 2016 at 08:00, Stefano Babic 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 >>> --- >>> >>> 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 >>> + * >>> + * SPDX-License-Identifier: GPL-2.0+ >>> + */ >>> + >>> +#include >>> +#include >>> +#include >>> + >> >> 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 =====================================================================