* [U-Boot-Users] libfdt problem when loading device tree
@ 2007-12-13 16:24 Joakim Tjernlund
2007-12-13 16:34 ` Kumar Gala
2007-12-13 16:46 ` Jerry Van Baren
0 siblings, 2 replies; 11+ messages in thread
From: Joakim Tjernlund @ 2007-12-13 16:24 UTC (permalink / raw)
To: u-boot
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
If I remove the chosen node from my dts file, I get the error when
libfdt tries to create a chosen node.
I am using dtc 1.0.0 and u-boot 1.3.1
Jocke
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot-Users] libfdt problem when loading device tree
2007-12-13 16:24 [U-Boot-Users] libfdt problem when loading device tree Joakim Tjernlund
@ 2007-12-13 16:34 ` Kumar Gala
2007-12-13 16:39 ` Joakim Tjernlund
2007-12-13 18:59 ` Jerry Van Baren
2007-12-13 16:46 ` Jerry Van Baren
1 sibling, 2 replies; 11+ messages in thread
From: Kumar Gala @ 2007-12-13 16:34 UTC (permalink / raw)
To: u-boot
On Dec 13, 2007, at 10:24 AM, 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
>
> If I remove the chosen node from my dts file, I get the error when
> libfdt tries to create a chosen node.
>
> I am using dtc 1.0.0 and u-boot 1.3.1
How big is the .dtb if you don't specify -S? The -R should only be
something like 8.
- k
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot-Users] libfdt problem when loading device tree
2007-12-13 16:34 ` Kumar Gala
@ 2007-12-13 16:39 ` Joakim Tjernlund
2007-12-13 18:59 ` Jerry Van Baren
1 sibling, 0 replies; 11+ messages in thread
From: Joakim Tjernlund @ 2007-12-13 16:39 UTC (permalink / raw)
To: u-boot
On Thu, 2007-12-13 at 10:34 -0600, Kumar Gala wrote:
> On Dec 13, 2007, at 10:24 AM, 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
> >
> > If I remove the chosen node from my dts file, I get the error when
> > libfdt tries to create a chosen node.
> >
> > I am using dtc 1.0.0 and u-boot 1.3.1
>
> How big is the .dtb if you don't specify -S? The -R should only be
> something like 8.
dtc -R 8 -f of-tmcu.dts -O asm > of-tmcu.S
makes
ls -s of-tmcu.S
24 of-tmcu.S
and
size of-tmcu.o
text data bss dec hex filename
5696 0 0 5696 1640 of-tmcu.o
Jocke
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot-Users] libfdt problem when loading device tree
2007-12-13 16:24 [U-Boot-Users] libfdt problem when loading device tree Joakim Tjernlund
2007-12-13 16:34 ` Kumar Gala
@ 2007-12-13 16:46 ` Jerry Van Baren
2007-12-13 17:00 ` Joakim Tjernlund
2007-12-13 17:07 ` Joakim Tjernlund
1 sibling, 2 replies; 11+ messages in thread
From: Jerry Van Baren @ 2007-12-13 16:46 UTC (permalink / raw)
To: u-boot
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 <source> <ramblobaddr>
> bootm <ramdisk> <ramblobaddr>
gvb
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot-Users] libfdt problem when loading device tree
2007-12-13 16:46 ` Jerry Van Baren
@ 2007-12-13 17:00 ` Joakim Tjernlund
2007-12-13 17:07 ` Joakim Tjernlund
1 sibling, 0 replies; 11+ messages in thread
From: Joakim Tjernlund @ 2007-12-13 17:00 UTC (permalink / raw)
To: u-boot
On Thu, 2007-12-13 at 11:46 -0500, Jerry Van Baren wrote:
> 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.
Noted, set to 8 now. This was just a something I tried as noting would
work
>
> > 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 didn't have one, but added one to workaround this problem.
>
> > 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 <source> <ramblobaddr>
> > bootm <ramdisk> <ramblobaddr>
The same thing happens.
A few observations:
fdt list only prints a few nodes:
=> fdt addr 0xf8026038
=> fdt list
/ {
model="TMCUTU";
compatible="MPC83xx";
#address-cells=<0x00000001>;
#size-cells=<0x00000001>;
chosen {
};
board {
};
flash at f8000000 {
};
cpus {
};
memory {
};
soc8321 at e0000000 {
};
qe at e0100000 {
};
};
If I produce a dtb file and compare:
size of-tmcu.o
text data bss dec hex filename
5696 0 0 5696 1640 of-tmcu.o
ls -l of-tmcu.dtb
-rw-r--r-- 1 jocke users 5690 2007-12-13 17:47 of-tmcu.dtb
The assembler version is 6 bytes bigger
Jocke
>
> gvb
>
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot-Users] libfdt problem when loading device tree
2007-12-13 16:46 ` Jerry Van Baren
2007-12-13 17:00 ` Joakim Tjernlund
@ 2007-12-13 17:07 ` Joakim Tjernlund
2007-12-13 17:16 ` Joakim Tjernlund
2007-12-13 18:03 ` Jerry Van Baren
1 sibling, 2 replies; 11+ messages in thread
From: Joakim Tjernlund @ 2007-12-13 17:07 UTC (permalink / raw)
To: u-boot
On Thu, 2007-12-13 at 11:46 -0500, Jerry Van Baren wrote:
> 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.
yes, that was it. Increasing to -S 0x4000 makes it work. I was noted
this when producing a dtb, I got a warning. The asm version does
not warn when the *.S is too small.
Jocke
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot-Users] libfdt problem when loading device tree
2007-12-13 17:07 ` Joakim Tjernlund
@ 2007-12-13 17:16 ` Joakim Tjernlund
2007-12-13 18:03 ` Jerry Van Baren
1 sibling, 0 replies; 11+ messages in thread
From: Joakim Tjernlund @ 2007-12-13 17:16 UTC (permalink / raw)
To: u-boot
On Thu, 2007-12-13 at 18:07 +0100, Joakim Tjernlund wrote:
> On Thu, 2007-12-13 at 11:46 -0500, Jerry Van Baren wrote:
> > 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.
>
> yes, that was it. Increasing to -S 0x4000 makes it work. I was noted
> this when producing a dtb, I got a warning. The asm version does
> not warn when the *.S is too small.
>
> Jocke
FYI, adding a chosen node to the dts file as below makes the boot fail.
chosen {
linux,stdout-path = "/soc8321 at e0000000/serial at 4500";
};
This is the same as my OF_STDOUT_PATH:
#define OF_STDOUT_PATH "/soc8321 at e0000000/serial at 4500"
Jocke
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot-Users] libfdt problem when loading device tree
2007-12-13 17:07 ` Joakim Tjernlund
2007-12-13 17:16 ` Joakim Tjernlund
@ 2007-12-13 18:03 ` Jerry Van Baren
2007-12-13 18:17 ` Joakim Tjernlund
1 sibling, 1 reply; 11+ messages in thread
From: Jerry Van Baren @ 2007-12-13 18:03 UTC (permalink / raw)
To: u-boot
Joakim Tjernlund wrote:
> On Thu, 2007-12-13 at 11:46 -0500, Jerry Van Baren wrote:
>> 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.
>
> yes, that was it. Increasing to -S 0x4000 makes it work. I was noted
> this when producing a dtb, I got a warning. The asm version does
> not warn when the *.S is too small.
>
> Jocke
Snoopy dance <http://www.google.com/search?q=snoopy+dance> :-)
WRT one of your previous messages, there are two fdt commands: "fdt
print" does a full recursive print, "fdt list" only prints the given
level, it does not print subnodes recursively.
gvb
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot-Users] libfdt problem when loading device tree
2007-12-13 18:03 ` Jerry Van Baren
@ 2007-12-13 18:17 ` Joakim Tjernlund
0 siblings, 0 replies; 11+ messages in thread
From: Joakim Tjernlund @ 2007-12-13 18:17 UTC (permalink / raw)
To: u-boot
On Thu, 2007-12-13 at 13:03 -0500, Jerry Van Baren wrote:
> Joakim Tjernlund wrote:
> > On Thu, 2007-12-13 at 11:46 -0500, Jerry Van Baren wrote:
> >> 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.
> >
> > yes, that was it. Increasing to -S 0x4000 makes it work. I was noted
> > this when producing a dtb, I got a warning. The asm version does
> > not warn when the *.S is too small.
> >
> > Jocke
>
> Snoopy dance <http://www.google.com/search?q=snoopy+dance> :-)
:)
>
> WRT one of your previous messages, there are two fdt commands: "fdt
> print" does a full recursive print, "fdt list" only prints the given
> level, it does not print subnodes recursively.
yes, I see now once I actually read the help messages :)
BTW, if you have anything to say/add to the CFG_OF_TREE discussion
I and WD had earlier, please do.
Jocke
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot-Users] libfdt problem when loading device tree
2007-12-13 16:34 ` Kumar Gala
2007-12-13 16:39 ` Joakim Tjernlund
@ 2007-12-13 18:59 ` Jerry Van Baren
2007-12-13 22:11 ` Joakim Tjernlund
1 sibling, 1 reply; 11+ messages in thread
From: Jerry Van Baren @ 2007-12-13 18:59 UTC (permalink / raw)
To: u-boot
Kumar Gala wrote:
> On Dec 13, 2007, at 10:24 AM, 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
>>
>> If I remove the chosen node from my dts file, I get the error when
>> libfdt tries to create a chosen node.
>>
>> I am using dtc 1.0.0 and u-boot 1.3.1
>
> How big is the .dtb if you don't specify -S? The -R should only be
> something like 8.
>
> - k
More trivia for Jocke:
Note that there now also is a "-s nnnn" option (IIRC and if you have the
latest dtc) which *adds* nnnn bytes to the blob rather than making the
blob a fixed size nnnn (IIRC, Kumar created it). Depending on your
circumstances and preferences, this could be a better choice than -S.
Having the /chosen node already in the blob has severe limitations.
Improving that is in my "todo" list: "...a suggestion by Scott Wood to
make the /chosen handling finer grained: if the /chosen node exists,
currently u-boot-fdt bails out. A better methodology is to not overwrite
pre-existing properties on a per-property basis, so if /chosen exists
but a necessary /chosen/property doesn't, it gets created."
IOW, if you create a blob with /chosen, you must have *everything*
necessary in it because it won't be fixed up at runtime.
Tip: if you do "fdt chosen" and then "fdt print /chosen", it will tell
you exactly what your board fixup code put in the /chosen node.
FWIIW, I created a patch to implement Scott's suggestion, but it needs
to be resurrected, rebased, and tested.
gvb
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot-Users] libfdt problem when loading device tree
2007-12-13 18:59 ` Jerry Van Baren
@ 2007-12-13 22:11 ` Joakim Tjernlund
0 siblings, 0 replies; 11+ messages in thread
From: Joakim Tjernlund @ 2007-12-13 22:11 UTC (permalink / raw)
To: u-boot
> -----Original Message-----
> From: Jerry Van Baren [mailto:gerald.vanbaren at ge.com]
> Sent: den 13 december 2007 20:00
> To: Kumar Gala
> Cc: joakim.tjernlund at transmode.se; U-BOOT
> Subject: Re: [U-Boot-Users] libfdt problem when loading device tree
>
> Kumar Gala wrote:
> > On Dec 13, 2007, at 10:24 AM, 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
> >>
> >> If I remove the chosen node from my dts file, I get the error when
> >> libfdt tries to create a chosen node.
> >>
> >> I am using dtc 1.0.0 and u-boot 1.3.1
> >
> > How big is the .dtb if you don't specify -S? The -R should
> only be
> > something like 8.
> >
> > - k
>
> More trivia for Jocke:
Thanks for telling me this
>
> Note that there now also is a "-s nnnn" option (IIRC and if
> you have the
> latest dtc) which *adds* nnnn bytes to the blob rather than
> making the
> blob a fixed size nnnn (IIRC, Kumar created it). Depending on your
> circumstances and preferences, this could be a better choice than -S.
I was about to suggest this after my mishap but got distracted. It is
a useful option and I will probably use it in the future. Perhaps
you should error out if the space is too small when using -S? That
would have saved me some time.
>
> Having the /chosen node already in the blob has severe limitations.
> Improving that is in my "todo" list: "...a suggestion by
> Scott Wood to
> make the /chosen handling finer grained: if the /chosen node exists,
> currently u-boot-fdt bails out. A better methodology is to
> not overwrite
> pre-existing properties on a per-property basis, so if /chosen exists
> but a necessary /chosen/property doesn't, it gets created."
>
> IOW, if you create a blob with /chosen, you must have *everything*
> necessary in it because it won't be fixed up at runtime.
I don't need a chosen node in my dts, I just added it to get futher.
Maybe others do.
>
> Tip: if you do "fdt chosen" and then "fdt print /chosen", it
> will tell
> you exactly what your board fixup code put in the /chosen node.
Will have a look tmw, still very behind on device tree stuff.
>
> FWIIW, I created a patch to implement Scott's suggestion, but
> it needs
> to be resurrected, rebased, and tested.
Good luck and thanks again.
Jocke
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2007-12-13 22:11 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-13 16:24 [U-Boot-Users] libfdt problem when loading device tree Joakim Tjernlund
2007-12-13 16:34 ` Kumar Gala
2007-12-13 16:39 ` Joakim Tjernlund
2007-12-13 18:59 ` Jerry Van Baren
2007-12-13 22:11 ` Joakim Tjernlund
2007-12-13 16:46 ` Jerry Van Baren
2007-12-13 17:00 ` Joakim Tjernlund
2007-12-13 17:07 ` Joakim Tjernlund
2007-12-13 17:16 ` Joakim Tjernlund
2007-12-13 18:03 ` Jerry Van Baren
2007-12-13 18:17 ` Joakim Tjernlund
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox