From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerry Van Baren Date: Thu, 13 Dec 2007 11:46:37 -0500 Subject: [U-Boot-Users] libfdt problem when loading device tree In-Reply-To: <1197563083.8607.19.camel@gentoo-jocke.transmode.se> References: <1197563083.8607.19.camel@gentoo-jocke.transmode.se> Message-ID: <476161ED.3070603@ge.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Joakim Tjernlund wrote: > I get this when I try to boot my board: > ## Booting image at 00200000 ... > Image Name: oskernel02a:p1a:99 > Created: 2007-12-13 9:59:43 UTC > Image Type: PowerPC Linux Kernel Image (gzip compressed) > Data Size: 1238992 Bytes = 1.2 MB > Load Address: 00000000 > Entry Point: 00000000 > Verifying Checksum ... OK > Uncompressing Kernel Image ... OK > Loading Device Tree to 007fe000, end 007ff6f9 ... OK > WARNING: could not create /bd_t FDT_ERR_NOSPACE. > fdt_bd_t: FDT_ERR_NOSPACE > ERROR: /bd_t node create failed - must RESET the board to recover. > Resetting the board. > > I have tried different combinations of -S and -R options to dtc, > but nothing helps: > dtc -S 2000 -R 2000 -f of-tmcu.dts -O asm > of-tmcu.S -S 2000 may be too small, I found I needed -S 3000. If you run dtc without the -S option and add in a verbose/info option(?), dtc will tell you how big your blob is without any padding. Obviously, you need to pad it. -R 2000 is big time overkill, I've found -R 8 is plenty. These are the memory reserve slots. > If I remove the chosen node from my dts file, I get the error when > libfdt tries to create a chosen node. I don't believe having a /chosen node in the source is recommended. The idea is that u-boot's board configuration customization should create the /chosen node with the proper values either from a-priori knowledge or from probing. > I am using dtc 1.0.0 and u-boot 1.3.1 > > Jocke Sounds like a bug with the move operation from flash to RAM. What happens if you copy the blob from flash to RAM from the u-boot command line? (from memory so I may be wrong) > fdt move > bootm gvb