[U-Boot-Users] What do I do if fdt_setprop() returns -FDT_ERR_NOSPACE?

Jerry Van Baren gerald.vanbaren at ge.com
Fri Dec 7 22:43:31 CET 2007


Timur Tabi wrote:
> I have this code:
> 
> static int fdt_set_qe_firmware(void *blob, int nodeoffset, const char *name, 
> bd_t *bd)

[snip]

> }
> 
> The call to fdt_setprop_string() returns -FDT_ERR_NOSPACE.  I created the DTB 
> with this command:
> 
> dtc -I dts -O dtb -b 0 -R 8 -S 0x3000
> 
> What am I missing?  Why is there no space left to add a string?

Hi Timur,

How big is your blob?  The -S 0x3000 creates a 12K blob, but the 
contents from your source can take up a substantial amount of that (at 
least mine do ;-).  If you have the deprecated (and, hopefully, soon to 
be removed) CONFIG_OF_HAS_UBOOT_ENV and/or CONFIG_OF_HAS_BD_T defined, 
it will put more (useless) stuff in the blob, that will chew through 
more of your blob space.

I would try 0x4000 and see if it works. :-)

IIRC, Jon/David/someone posted (and Jon applied) a patch to the dtc that 
allows you to specify how much extra space to pad the blob with, as 
opposed to the -S flag that sets the blob up with a specific size.  That 
may be a better match to what you want for your blob.

Best regards,
gvb




More information about the U-Boot mailing list