Subject: Re: [U-Boot-Users] Where do you find *.dtb files?

From: Jerry Van Baren <[email-masked]>
Date: Thu, 03 May 2007 10:05:30 -0400

Alex Zeffertt wrote:
> Jerry Van Baren wrote:
>> Alex Zeffertt wrote:
>>> Hi all,
>>>
>>> I'm trying to boot linux-2.6.21-rc5 on my mpc832xemds board which is 
>>> running
>>> u-boot 1.2.0.
>>>
>>> According to u-boot I need a device tree blob:
>>>
>>>     => help bootm
>>>     bootm [addr [arg ...]]
>>>         - boot application image stored in memory
>>>              passing arguments 'arg ...'; when booting a Linux kernel,
>>>             'arg' can be the address of an initrd image
>>>              When booting a Linux kernel which requires a flat 
>>> device-tree
>>>              a third argument is required which is the address of the 
>>> of the
>>>              device-tree blob. To boot that kernel without an initrd 
>>> image,
>>>              use a '-' for the second argument. If you do not pass a 
>>> third
>>>              a bd_info struct will be passed instead
>>>
>>>
>>> Can anybody tell me where I can find one for this board?
>>>
>>> TIA,
>>>
>>> Alex
>>
>> Kernel tree under arch/powerpc/boot/dts?
>> <http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=arch/powerpc/boot/dts;h=2591d25045401b8beea474a1b4e117527e478521;hb=HEAD> 
>>
>>
>> Best regards,
>> gvb
> 
> Thanks Jerry.  I've found
>     
>     powerpc/arch/powerpc/boot/dts/mpc832x_mds.dts
>     
> ... but when I try to compile it I get an error:
> 
>     $ /opt/freescale/ltib/usr/bin/dtc -I dts -O dtb 
> powerpc/arch/powerpc/boot/dts/mpc832x_mds.dts
>     DTC: dts->dtb  on file "powerpc/arch/powerpc/boot/dts/mpc832x_mds.dts"
>     syntax error at line 14
>     FATAL ERROR: Couldn't read input tree
> 
> Perhaps my dtc is out of date - it came with the BSP from freescale 
> which uses
> the 2.6.11 kernel.
> 
> Do you know where I can find an up to date dtc?  Is there any 
> documentation regarding its use?
> 
> Regards,
> Alex

Hi Alex,

Yes, you need to update your dtc.  The latest dtc can be gotten from:
   http://jdl.com/git_repos/

My makefile looks like this (WARNING: it is whitespace damaged, you must 
replace the eight spaces in the rules with tabs):
8<--------------------------------------------------------------------
#
# Make device tree blobs
#

src = $(wildcard *.dts)
out = $(src:.dts=.dtb)
asm = $(src:.dts=.dtb)

QUIET   = #-q
RESERVE = -R 4
SIZE    = -S 0x3000

all: $(out)

%.dtb : %.dts
         dtc $(QUIET) $(RESERVE) $(SIZE) -b 0 -O dtb -f -o $@ $^

%.asm : %.dts
         dtc $(QUIET) $(RESERVE) $(SIZE) -b 0 -O asm -f -o $@ $^
8<--------------------------------------------------------------------

Best regards,
gvb