From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wolfgang Grandegger Date: Thu, 19 Apr 2007 15:10:34 +0200 Subject: [U-Boot-Users] Testing todays u-boot-fdt In-Reply-To: <46275BC2.6080506@smiths-aerospace.com> References: <46272F29.7020001@grandegger.com> <46275BC2.6080506@smiths-aerospace.com> Message-ID: <46276A4A.6050209@grandegger.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Jerry Van Baren wrote: > Wolfgang Grandegger wrote: >> Hi Jerry, >> >> I gave the fdtlib of your git://cideas.us/pub/scm/u-boot/u-boot-fdt.git >> a try on my Icecube board. I got it built with the attached patch. >> libfdt was actually not made and the second hunk fixes a warning >> (=bug?). Then I was able to read and list a blob in memory: >> >> => fdt addr 20000 >> => fdt print / >> ... >> >> A few other things didn't work, especially updating the FDT: >> >> => fdt addr 20000 10000 >> libfdt: FDT_ERR_BADVERSION >> >> => fdt env >> libfdt: FDT_ERR_BADVERSION >> => fdt bd_t >> libfdt: FDT_ERR_BADVERSION >> => fdt chosen >> libfdt: FDT_ERR_BADVERSION >> >> => fdt set /memory reg "<00000000 08000000>" >> Usage: >> fdt - flattened device tree utility commands >> >> And "fdt mknode" seems not to be implemented. >> >> Am I doing something wrong? >> >> Wolfgang. > > Hi Wolfgang, > > Ouch, that was a bad bug and very embarrassing. Just when you think you > are perfect, a stupid pointer error jumps up and bits you. :-( I'll > apply your patch. Thanks & sorry. Well, nobody is ... > > The bad version error is because you are running a version 16 blob and > you need a version 17 blob to allow modifications. David Gibson has an > intention of upconverting a v16 to v17 as part of libfdt, but neither of > us has gotten around to doing it yet. OK, I can now update the FDT, apart from "mknode", but have still problems booting Linux-2.6.21-rc7. Should it already work? > If you pick up the latest dtc, it compiles v17 by default now. The > latest dtc also implements a -S parameter so you can make > extra space in the blob and not need to specify the length parameter > with the "fdt addr" command (the length parameter for addr makes the > blob longer - unnecessary with -S blobs). If you really want to be at > the bleeding edge, you can apply this patch as well, but it is *not* > necessary (the patch pads out the blob rather than leaving the extra > space undefined): > > > See also: > > (linked off the Custodian page). Ah, I was not yet aware of that link. It's very useful, indeed. > On a related note, you will probably want a fdt_find_compatible_node() > function added to libfdt. I looked at the kernel one and it looks like > it would be pretty simple to adapt it to libfdt, but I have not gotten > to it yet. > > > 2. fdt_find_compatible_node() Ref: arch/powerpc/kernel/prom.c > * Needed if we use fdt blobs to configure u-boot drivers OK. Thanks. Wolfgang.