[U-Boot] [PATCH] fdt: Add warning about CONFIG_OF_EMBED

Lukasz Majewski lukma at denx.de
Wed Dec 19 10:11:35 UTC 2018


Dear Simon and Simon,

> Am 05.12.2018 um 14:57 schrieb Simon Glass:
> > This option has crept into use with some boards. Add a warning to
> > try to prevent this.
> > 
> > As an example:
> >     https://lists.denx.de/pipermail/u-boot/2017-September/304966.html  
> 
> We have just discussed this in another thread. There seem to be ~109 
> defconfigs in the tree that enable OF_EMBED.
> 
> I doubt all of them do this for fun, so we might want to collect the 
> reasons they do so. I do know two:
> 
> - socfpga_stratix10_defconfig needs this to get a correct
> u-boot-spl.hex
> - I would need it to ensure in SPL, the DTB is in one block with the 
> other readonly parts. Without OF_EMBED, we have '.text', '.bss', DT.

Another use case is imx6:

When I want to use SPL's embedded DTB for early init, with OF_SEPARATE
I get fdt_blob = (ulong *)&__bss_end; ,which points me to 0x18200060,
which is in DDR (and there is either garbage nor DDR is not
initialized at all).

The above looks like the __bss_end is for u-boot proper.

The workaround (for now) is to have OF_EMBED, which assigns 
gd->fdt_blob = __dtb_dt_spl_begin [1], and this is a correct address.

Hence, I'm wondering if shall I assign: 
gd->fdt_blob = __dtb_dt_spl_begin; 

in my early SPL code (and do not use fdt_setup() function at all in
SPL) ?

Moreover, defining board_fdt_blob_setup() for _each_ IMX6 board which
would switch to DM_MMC in SPL seems like an no acceptable solution.


[1] - ./spl/dts/dt-spl.dtb.S:3:.global __dtb_dt_spl_begin  --> Looks
like __dtb_dt_spl_begin is exactly for this purpose.

> 
> Regards,
> Simon
> 
> > 
> > Signed-off-by: Simon Glass <sjg at chromium.org>
> > ---
> > 
> >   Makefile | 8 ++++++++
> >   1 file changed, 8 insertions(+)
> > 
> > diff --git a/Makefile b/Makefile
> > index 0d11ff97971..05896598fe3 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -947,6 +947,14 @@ ifeq
> > ($(CONFIG_LIBATA)$(CONFIG_DM_SCSI)$(CONFIG_MVSATA_IDE),y) @echo
> > "Failure to update by the deadline may result in board removal."
> > @echo "See doc/driver-model/MIGRATION.txt for more info." @echo
> > "====================================================" +endif
> > +ifeq ($(CONFIG_OF_EMBED),y)
> > +	@echo "===================== WARNING
> > ======================"
> > +	@echo "CONFIG_OF_EMBED is enabled. This option should only"
> > +	@echo "be used for debugging purposes. Please use"
> > +	@echo "CONFIG_OF_SEPARATE for boards in mainline."
> > +	@echo "See doc/README.fdt-control for more info."
> > +	@echo
> > "====================================================" endif
> >   	@# Check that this build does not use CONFIG options that
> > we do not @# know about unless they are in Kconfig. All the
> > existing CONFIG 
> 
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot




Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20181219/7750db7f/attachment.sig>


More information about the U-Boot mailing list