* [U-Boot-Users] Testing todays u-boot-fdt
@ 2007-04-19 8:58 Wolfgang Grandegger
2007-04-19 12:08 ` Jerry Van Baren
` (3 more replies)
0 siblings, 4 replies; 20+ messages in thread
From: Wolfgang Grandegger @ 2007-04-19 8:58 UTC (permalink / raw)
To: u-boot
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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: u-boot-fdt.diff
Type: text/x-patch
Size: 1051 bytes
Desc: not available
Url : http://lists.denx.de/pipermail/u-boot/attachments/20070419/f71a1310/attachment.bin
^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot-Users] Testing todays u-boot-fdt
2007-04-19 8:58 [U-Boot-Users] Testing todays u-boot-fdt Wolfgang Grandegger
@ 2007-04-19 12:08 ` Jerry Van Baren
2007-04-19 13:10 ` Wolfgang Grandegger
` (2 more replies)
2007-04-19 13:28 ` Jerry Van Baren
` (2 subsequent siblings)
3 siblings, 3 replies; 20+ messages in thread
From: Jerry Van Baren @ 2007-04-19 12:08 UTC (permalink / raw)
To: u-boot
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.
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.
If you pick up the latest dtc, it compiles v17 by default now. The
latest dtc also implements a -S <minsize> 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):
<http://article.gmane.org/gmane.linux.ports.ppc64.devel/18741>
See also:
<http://www.denx.de/wiki/UBoot/UBootFdtInfo>
(linked off the Custodian page).
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.
<http://www.denx.de/wiki/view/UBoot/UBootFdtInfo#ToDo_libfdt>
2. fdt_find_compatible_node() Ref: arch/powerpc/kernel/prom.c
* Needed if we use fdt blobs to configure u-boot drivers
Best regards,
gvb
^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot-Users] Testing todays u-boot-fdt
2007-04-19 12:08 ` Jerry Van Baren
@ 2007-04-19 13:10 ` Wolfgang Grandegger
2007-04-19 13:19 ` Jerry Van Baren
2007-04-19 15:24 ` Timur Tabi
2007-04-22 20:38 ` Timur Tabi
2 siblings, 1 reply; 20+ messages in thread
From: Wolfgang Grandegger @ 2007-04-19 13:10 UTC (permalink / raw)
To: u-boot
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 <minsize> 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):
> <http://article.gmane.org/gmane.linux.ports.ppc64.devel/18741>
>
> See also:
> <http://www.denx.de/wiki/UBoot/UBootFdtInfo>
> (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.
>
> <http://www.denx.de/wiki/view/UBoot/UBootFdtInfo#ToDo_libfdt>
> 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.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot-Users] Testing todays u-boot-fdt
2007-04-19 13:10 ` Wolfgang Grandegger
@ 2007-04-19 13:19 ` Jerry Van Baren
0 siblings, 0 replies; 20+ messages in thread
From: Jerry Van Baren @ 2007-04-19 13:19 UTC (permalink / raw)
To: u-boot
Wolfgang Grandegger wrote:
> 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:
[snip]
>> 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?
Probably not. I've only done this on the MPC8360eMDS.
Looking at the "ToDo" table it says that
./board/icecube/icecube.c
needs modifications to ft_board_setup() and
./cpu/mpc5xxx/cpu.c
needs modifications to ft_cpu_setup() (you should be able to copy what I
did for ./board/mpc8360emds/mpc8360emds.c and ./cpu/mpc83xx/cpu.c with
some minimal mods).
If that isn't the solution, I don't know where the problem lies.
[snip]
> Thanks.
> Wolfgang.
Good luck,
gvb
^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot-Users] Testing todays u-boot-fdt
2007-04-19 8:58 [U-Boot-Users] Testing todays u-boot-fdt Wolfgang Grandegger
2007-04-19 12:08 ` Jerry Van Baren
@ 2007-04-19 13:28 ` Jerry Van Baren
2007-04-19 13:42 ` Wolfgang Grandegger
2007-04-19 15:51 ` Wolfgang Denk
2007-04-20 3:38 ` Jerry Van Baren
2007-04-20 3:40 ` Jerry Van Baren
3 siblings, 2 replies; 20+ messages in thread
From: Jerry Van Baren @ 2007-04-19 13:28 UTC (permalink / raw)
To: u-boot
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:
[snip]
> diff --git a/Makefile b/Makefile
> index 9a27bc2..94cda54 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -219,6 +219,7 @@ LIBS += $(shell if [ -d post/cpu/$(CPU) ]; then echo \
> LIBS += $(shell if [ -d post/board/$(BOARDDIR) ]; then echo \
> "post/board/$(BOARDDIR)/libpost$(BOARD).a"; fi)
> LIBS += common/libcommon.a
> +LIBS += libfdt/libfdt.a
> LIBS += $(BOARDLIBS)
>
> LIBS := $(addprefix $(obj),$(LIBS))
Ahh, that is not a bug, you fixed the wrong file. You need to add
libfdt/libfdt.a to your board's BOARDLIBS in your board's config file
(see line after your addition - been there, did the same thing ;-).
There is no point building libfdt.a if it isn't used.
Best regards,
gvb
^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot-Users] Testing todays u-boot-fdt
2007-04-19 13:28 ` Jerry Van Baren
@ 2007-04-19 13:42 ` Wolfgang Grandegger
2007-04-19 15:51 ` Wolfgang Denk
1 sibling, 0 replies; 20+ messages in thread
From: Wolfgang Grandegger @ 2007-04-19 13:42 UTC (permalink / raw)
To: u-boot
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:
>
> [snip]
>
>> diff --git a/Makefile b/Makefile
>> index 9a27bc2..94cda54 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -219,6 +219,7 @@ LIBS += $(shell if [ -d post/cpu/$(CPU) ]; then
>> echo \
>> LIBS += $(shell if [ -d post/board/$(BOARDDIR) ]; then echo \
>> "post/board/$(BOARDDIR)/libpost$(BOARD).a"; fi)
>> LIBS += common/libcommon.a
>> +LIBS += libfdt/libfdt.a
>> LIBS += $(BOARDLIBS)
>>
>> LIBS := $(addprefix $(obj),$(LIBS))
>
> Ahh, that is not a bug, you fixed the wrong file. You need to add
> libfdt/libfdt.a to your board's BOARDLIBS in your board's config file
> (see line after your addition - been there, did the same thing ;-).
> There is no point building libfdt.a if it isn't used.
Ah, I was already wondering why it did work on your side. Nevertheless,
touching two places to use the library is cumbersome. But adding ifdef's
to the source code is also not nice.
Wolfgang.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot-Users] Testing todays u-boot-fdt
2007-04-19 12:08 ` Jerry Van Baren
2007-04-19 13:10 ` Wolfgang Grandegger
@ 2007-04-19 15:24 ` Timur Tabi
2007-04-22 20:38 ` Timur Tabi
2 siblings, 0 replies; 20+ messages in thread
From: Timur Tabi @ 2007-04-19 15:24 UTC (permalink / raw)
To: u-boot
Jerry Van Baren wrote:
> 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.
In that case, "libfdt: FDT_ERR_BADVERSION" is a really useless error message. Please
change it to something like, "Cannot modify this version (v16) of the device tree".
Now that we support multiple version of the device tree, it is very important that error
message are clear. On a working system, it's unlikely people will update their device
tree. They'll just update the kernel and U-Boot, and so people using older versions of
the device tree need to be told very clearly what they can and can't do.
--
Timur Tabi
Linux Kernel Developer @ Freescale
^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot-Users] Testing todays u-boot-fdt
2007-04-19 13:28 ` Jerry Van Baren
2007-04-19 13:42 ` Wolfgang Grandegger
@ 2007-04-19 15:51 ` Wolfgang Denk
2007-04-19 23:11 ` Jerry Van Baren
1 sibling, 1 reply; 20+ messages in thread
From: Wolfgang Denk @ 2007-04-19 15:51 UTC (permalink / raw)
To: u-boot
In message <46276E94.6090204@smiths-aerospace.com> you wrote:
>
> > LIBS += $(shell if [ -d post/board/$(BOARDDIR) ]; then echo \
> > "post/board/$(BOARDDIR)/libpost$(BOARD).a"; fi)
> > LIBS += common/libcommon.a
> > +LIBS += libfdt/libfdt.a
> > LIBS += $(BOARDLIBS)
> >
> > LIBS := $(addprefix $(obj),$(LIBS))
>
> Ahh, that is not a bug, you fixed the wrong file. You need to add
> libfdt/libfdt.a to your board's BOARDLIBS in your board's config file
> (see line after your addition - been there, did the same thing ;-).
> There is no point building libfdt.a if it isn't used.
That's not the way things are done in U-Boot. Please fix this so that
all U-Boot libraries are handled in the same way.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, HRB 165235 Munich, CEO: Wolfgang Denk
Office: Kirchenstr. 5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"We don't have to protect the environment -- the Second Coming is at
hand." - James Watt
^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot-Users] Testing todays u-boot-fdt
2007-04-19 15:51 ` Wolfgang Denk
@ 2007-04-19 23:11 ` Jerry Van Baren
2007-04-19 23:19 ` Wolfgang Denk
2007-04-20 16:36 ` Wolfgang Grandegger
0 siblings, 2 replies; 20+ messages in thread
From: Jerry Van Baren @ 2007-04-19 23:11 UTC (permalink / raw)
To: u-boot
Wolfgang Denk wrote:
> In message <46276E94.6090204@smiths-aerospace.com> you wrote:
>>> LIBS += $(shell if [ -d post/board/$(BOARDDIR) ]; then echo \
>>> "post/board/$(BOARDDIR)/libpost$(BOARD).a"; fi)
>>> LIBS += common/libcommon.a
>>> +LIBS += libfdt/libfdt.a
>>> LIBS += $(BOARDLIBS)
>>>
>>> LIBS := $(addprefix $(obj),$(LIBS))
>> Ahh, that is not a bug, you fixed the wrong file. You need to add
>> libfdt/libfdt.a to your board's BOARDLIBS in your board's config file
>> (see line after your addition - been there, did the same thing ;-).
>> There is no point building libfdt.a if it isn't used.
>
> That's not the way things are done in U-Boot. Please fix this so that
> all U-Boot libraries are handled in the same way.
>
> Best regards,
>
> Wolfgang Denk
Hi wd,
I found the technique in u-boot and thought BOARDLIBS was the approved
method. Looks like it is a NAND thing.
$ grep -r BOARDLIBS *
board/prodrive/pdnb3/config.mk:BOARDLIBS = $(obj)cpu/ixp/npe/libnpe.a
board/nc650/config.mk:BOARDLIBS = $(obj)drivers/nand/libnand.a
board/ixdp425/config.mk:BOARDLIBS = $(obj)cpu/ixp/npe/libnpe.a
board/mpc8360emds/config.mk:BOARDLIBS = libfdt/libfdt.a
doc/README.nand:specific config.mk file should also have "BOARDLIBS =
doc/README.nand:necessary, but the config.mk should have "BOARDLIBS =
include/configs/delta.h:/* Use the new NAND code. (BOARDLIBS =
drivers/nand/libnand.a required) */
include/configs/zylonite.h:/* Use the new NAND code. (BOARDLIBS =
drivers/nand/libnand.a required) */
Makefile:LIBS += $(BOARDLIBS)
Not a problem, I'll revert back to wg's Makefile change.
Best regards,
gvb
^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot-Users] Testing todays u-boot-fdt
2007-04-19 23:11 ` Jerry Van Baren
@ 2007-04-19 23:19 ` Wolfgang Denk
2007-04-20 16:36 ` Wolfgang Grandegger
1 sibling, 0 replies; 20+ messages in thread
From: Wolfgang Denk @ 2007-04-19 23:19 UTC (permalink / raw)
To: u-boot
Hello,
in message <4627F709.8060502@cideas.com> you wrote:
>
> I found the technique in u-boot and thought BOARDLIBS was the approved
> method. Looks like it is a NAND thing.
I see.
> $ grep -r BOARDLIBS *
> board/prodrive/pdnb3/config.mk:BOARDLIBS = $(obj)cpu/ixp/npe/libnpe.a
> board/nc650/config.mk:BOARDLIBS = $(obj)drivers/nand/libnand.a
> board/ixdp425/config.mk:BOARDLIBS = $(obj)cpu/ixp/npe/libnpe.a
> board/mpc8360emds/config.mk:BOARDLIBS = libfdt/libfdt.a
> doc/README.nand:specific config.mk file should also have "BOARDLIBS =
> doc/README.nand:necessary, but the config.mk should have "BOARDLIBS =
> include/configs/delta.h:/* Use the new NAND code. (BOARDLIBS =
> drivers/nand/libnand.a required) */
> include/configs/zylonite.h:/* Use the new NAND code. (BOARDLIBS =
> drivers/nand/libnand.a required) */
> Makefile:LIBS += $(BOARDLIBS)
Thanks for pointing out. I will ask Stefan to clean this up.
Hi Stefan!
> Not a problem, I'll revert back to wg's Makefile change.
Thanks.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, HRB 165235 Munich, CEO: Wolfgang Denk
Office: Kirchenstr. 5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Boykottiert Microsoft - Kauft Eure Fenster bei OBI!
^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot-Users] Testing todays u-boot-fdt
2007-04-19 8:58 [U-Boot-Users] Testing todays u-boot-fdt Wolfgang Grandegger
2007-04-19 12:08 ` Jerry Van Baren
2007-04-19 13:28 ` Jerry Van Baren
@ 2007-04-20 3:38 ` Jerry Van Baren
2007-04-20 13:32 ` Wolfgang Denk
2007-04-20 3:40 ` Jerry Van Baren
3 siblings, 1 reply; 20+ messages in thread
From: Jerry Van Baren @ 2007-04-20 3:38 UTC (permalink / raw)
To: u-boot
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:
[snip]
> Wolfgang.
Hi Wolfgang (Grendegger|Denk),
wg: Thanks for the patch, I've applied it (both the pointer bug fix and
the Makefile change) and pushed it to the u-boot-fdt.
wd: Please merge the change, it is a serious bug which will cause
unreliable bootm operation for "libfdt" builds (fortunately a limited
audience at the moment :-/).
To be explicit, Wolfgang, please pull the *master* branch from:
git://denx.de/git/u-boot-fdt.git
Thanks,
gvb
^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot-Users] Testing todays u-boot-fdt
2007-04-19 8:58 [U-Boot-Users] Testing todays u-boot-fdt Wolfgang Grandegger
` (2 preceding siblings ...)
2007-04-20 3:38 ` Jerry Van Baren
@ 2007-04-20 3:40 ` Jerry Van Baren
3 siblings, 0 replies; 20+ messages in thread
From: Jerry Van Baren @ 2007-04-20 3:40 UTC (permalink / raw)
To: u-boot
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:
[snip]
> And "fdt mknode" seems not to be implemented.
>
> Am I doing something wrong?
>
> Wolfgang.
I missed the last statement/question earlier: yes, fdt mknode is not
implemented. I got a little carried away and put that in the help
prematurely. I've added it to my "ToDo" list.
Unfortunately, I implemented a "move" command which collides on the
first letter with "mknode". :-( ...and I was being so good at keeping
the commands unique in the first letter.
Best regards,
gvb
^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot-Users] Testing todays u-boot-fdt
2007-04-20 3:38 ` Jerry Van Baren
@ 2007-04-20 13:32 ` Wolfgang Denk
0 siblings, 0 replies; 20+ messages in thread
From: Wolfgang Denk @ 2007-04-20 13:32 UTC (permalink / raw)
To: u-boot
In message <462835C4.3010705@gmail.com> you wrote:
>
> To be explicit, Wolfgang, please pull the *master* branch from:
> git://denx.de/git/u-boot-fdt.git
Done.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, HRB 165235 Munich, CEO: Wolfgang Denk
Office: Kirchenstr. 5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
A quarrel is quickly settled when deserted by one party; there is no
battle unless there be two. - Seneca
^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot-Users] Testing todays u-boot-fdt
2007-04-19 23:11 ` Jerry Van Baren
2007-04-19 23:19 ` Wolfgang Denk
@ 2007-04-20 16:36 ` Wolfgang Grandegger
2007-04-20 17:11 ` Jerry Van Baren
1 sibling, 1 reply; 20+ messages in thread
From: Wolfgang Grandegger @ 2007-04-20 16:36 UTC (permalink / raw)
To: u-boot
Hi Jerry,
Jerry Van Baren wrote:
[...]
> Hi wd,
>
> I found the technique in u-boot and thought BOARDLIBS was the approved
> method. Looks like it is a NAND thing.
>
> $ grep -r BOARDLIBS *
> board/prodrive/pdnb3/config.mk:BOARDLIBS = $(obj)cpu/ixp/npe/libnpe.a
> board/nc650/config.mk:BOARDLIBS = $(obj)drivers/nand/libnand.a
> board/ixdp425/config.mk:BOARDLIBS = $(obj)cpu/ixp/npe/libnpe.a
> board/mpc8360emds/config.mk:BOARDLIBS = libfdt/libfdt.a
> doc/README.nand:specific config.mk file should also have "BOARDLIBS =
> doc/README.nand:necessary, but the config.mk should have "BOARDLIBS =
> include/configs/delta.h:/* Use the new NAND code. (BOARDLIBS =
> drivers/nand/libnand.a required) */
> include/configs/zylonite.h:/* Use the new NAND code. (BOARDLIBS =
> drivers/nand/libnand.a required) */
> Makefile:LIBS += $(BOARDLIBS)
>
> Not a problem, I'll revert back to wg's Makefile change.
In U-Boot, it's common practice to use "ugly" ifdef's in the source
files mainly to reduce compile time as shown in the attached patch.
Wolfgang.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: u-boot-libfdt.patch
Type: text/x-patch
Size: 3175 bytes
Desc: not available
Url : http://lists.denx.de/pipermail/u-boot/attachments/20070420/bcdb32d7/attachment.bin
^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot-Users] Testing todays u-boot-fdt
2007-04-20 16:36 ` Wolfgang Grandegger
@ 2007-04-20 17:11 ` Jerry Van Baren
2007-04-20 20:40 ` Wolfgang Denk
0 siblings, 1 reply; 20+ messages in thread
From: Jerry Van Baren @ 2007-04-20 17:11 UTC (permalink / raw)
To: u-boot
Wolfgang Grandegger wrote:
> Hi Jerry,
>
> Jerry Van Baren wrote:
> [...]
>> Hi wd,
[snip]
>
> In U-Boot, it's common practice to use "ugly" ifdef's in the source
> files mainly to reduce compile time as shown in the attached patch.
>
> Wolfgang.
>
> ------------------------------------------------------------------------
>
> diff --git a/libfdt/fdt.c b/libfdt/fdt.c
> index 212b838..1ee67ad 100644
> --- a/libfdt/fdt.c
> +++ b/libfdt/fdt.c
> @@ -16,6 +16,9 @@
> * License along with this library; if not, write to the Free Software
> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
> */
> +#include "config.h"
> +#if CONFIG_OF_LIBFDT
> +
> #include "libfdt_env.h"
>
> #include <fdt.h>
> @@ -83,3 +86,5 @@ int fdt_move(const void *fdt, void *buf, int bufsize)
> memmove(buf, fdt, fdt_totalsize(fdt));
> return 0;
> }
> +
> +#endif /* CONFIG_OF_LIBFDT */
[snip more of the same]
Hi Wolfgang,
At this point I'm reluctant to do this. We've basically forked libfdt
in that I've added and changed the source and David Gibson isn't in a
position to accept the changes back into the original, but it is all
generically useful libfdt code.
Adding the above to all of the files makes it that much more u-boot
specific which will make it that much more difficult to unfork. On the
other hand, it is "only" three lines per file.
Anyone care to weigh in on the issue? wd?
Best regards,
gvb
^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot-Users] Testing todays u-boot-fdt
2007-04-20 17:11 ` Jerry Van Baren
@ 2007-04-20 20:40 ` Wolfgang Denk
2007-04-20 22:02 ` Jerry Van Baren
0 siblings, 1 reply; 20+ messages in thread
From: Wolfgang Denk @ 2007-04-20 20:40 UTC (permalink / raw)
To: u-boot
In message <4628F431.1020901@smiths-aerospace.com> you wrote:
>
> At this point I'm reluctant to do this. We've basically forked libfdt
I perfectly understand your reluctance. It's ugly, and a poor worka-
round for a problem that should besolved differently (i. e. by not
compiling unneeded files at all).
If you want to do it right, it comes down to a rework of the
configuration and build system. As much as I would like to see work
being done on this, as much I am also aware that we have even more
urgent tasks to solve at the moment (like getting the delays in patch
processing down).
> Adding the above to all of the files makes it that much more u-boot
> specific which will make it that much more difficult to unfork. On the
> other hand, it is "only" three lines per file.
>
> Anyone care to weigh in on the issue? wd?
It's just 6 files, and the changes are trivial to do and to undo.
Since Wolfgang G. already spent the effort to implement it, I suggect
to add this. If we want to get rid of this later, a simple "patch -R"
will probably be all that's needed.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, HRB 165235 Munich, CEO: Wolfgang Denk
Office: Kirchenstr. 5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The further the spiritual evolution of mankind advances, the more
certain it seems to me that the path to genuine religiosity does not
lie through the fear of life, and the fear of death, and blind faith,
but through striving after rational knowledge. - Albert Einstein
^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot-Users] Testing todays u-boot-fdt
2007-04-20 20:40 ` Wolfgang Denk
@ 2007-04-20 22:02 ` Jerry Van Baren
0 siblings, 0 replies; 20+ messages in thread
From: Jerry Van Baren @ 2007-04-20 22:02 UTC (permalink / raw)
To: u-boot
Wolfgang Denk wrote:
> In message <4628F431.1020901@smiths-aerospace.com> you wrote:
>> At this point I'm reluctant to do this. We've basically forked libfdt
>
> I perfectly understand your reluctance. It's ugly, and a poor worka-
> round for a problem that should besolved differently (i. e. by not
> compiling unneeded files at all).
>
> If you want to do it right, it comes down to a rework of the
> configuration and build system. As much as I would like to see work
> being done on this, as much I am also aware that we have even more
> urgent tasks to solve at the moment (like getting the delays in patch
> processing down).
>
>> Adding the above to all of the files makes it that much more u-boot
>> specific which will make it that much more difficult to unfork. On the
>> other hand, it is "only" three lines per file.
>>
>> Anyone care to weigh in on the issue? wd?
>
> It's just 6 files, and the changes are trivial to do and to undo.
> Since Wolfgang G. already spent the effort to implement it, I suggect
> to add this. If we want to get rid of this later, a simple "patch -R"
> will probably be all that's needed.
>
> Best regards,
> Wolfgang Denk
Hi Wolfgang,
...and there's the irony. With it as a library included by BOARDLIBS in
the board config file, it is only compiled if it is called for in the
board's config.mk.
It seems like it would be overall a win to have more of a real library
approach. I have not gone down that path hardly at all, however, and it
is likely to have briers that I'm not aware of. It also would take
time. :-/
Having said that, I don't have any real issue in applying wg's patch.
It isn't a big deal and will match the rest of u-boot methodology. At
the end of the day, it is a lot easier than converting everything to
true libraries. ;-]
Best regards,
gvb
^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot-Users] Testing todays u-boot-fdt
[not found] <4629358C.5050401@cideas.com>
@ 2007-04-20 23:01 ` Wolfgang Denk
0 siblings, 0 replies; 20+ messages in thread
From: Wolfgang Denk @ 2007-04-20 23:01 UTC (permalink / raw)
To: u-boot
In message <4629358C.5050401@cideas.com> you wrote:
>
> ...and there's the irony. With it as a library included by BOARDLIBS in
> the board config file, it is only compiled if it is called for in the
> board's config.mk.
Yes, I am aware of this.
> It seems like it would be overall a win to have more of a real library
> approach. I have not gone down that path hardly at all, however, and it
> is likely to have briers that I'm not aware of. It also would take
> time. :-/
But "more of a real library approach" still means that you *always*
build the library, but some mechanism selects which files get
compiled and archived in the libs.
> Having said that, I don't have any real issue in applying wg's patch.
> It isn't a big deal and will match the rest of u-boot methodology. At
> the end of the day, it is a lot easier than converting everything to
> true libraries. ;-]
Right :-(
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, HRB 165235 Munich, CEO: Wolfgang Denk
Office: Kirchenstr. 5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
In C we had to code our own bugs, in C++ we can inherit them.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot-Users] Testing todays u-boot-fdt
2007-04-19 12:08 ` Jerry Van Baren
2007-04-19 13:10 ` Wolfgang Grandegger
2007-04-19 15:24 ` Timur Tabi
@ 2007-04-22 20:38 ` Timur Tabi
2007-04-23 0:05 ` Jerry Van Baren
2 siblings, 1 reply; 20+ messages in thread
From: Timur Tabi @ 2007-04-22 20:38 UTC (permalink / raw)
To: u-boot
Jerry Van Baren wrote:
> The bad version error is because you are running a version 16 blob and
> you need a version 17 blob to allow modifications.
Why? U-Boot was able to modify v16 blobs, why can't libfdt do the same?
^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot-Users] Testing todays u-boot-fdt
2007-04-22 20:38 ` Timur Tabi
@ 2007-04-23 0:05 ` Jerry Van Baren
0 siblings, 0 replies; 20+ messages in thread
From: Jerry Van Baren @ 2007-04-23 0:05 UTC (permalink / raw)
To: u-boot
Timur Tabi wrote:
> Jerry Van Baren wrote:
>
>> The bad version error is because you are running a version 16 blob and
>> you need a version 17 blob to allow modifications.
>
> Why? U-Boot was able to modify v16 blobs, why can't libfdt do the same?
Hi Timur,
It had very limited capabilities: it "modified" the blob by creating a
new blob, copying the old stuff to the new blob, and then adding the
"chosen" node. For some values, it rewrote values in place but was
unable to create new properties or nodes. Switching to libfdt and
insisting on having a v17 blob (with spare space) totally removes those
limitations.
libfdt allows modifying the blob in place, but only if it is v17. I've
taken advantage of this. libfdt actually has four sets of capabilities:
1) Read-only
2) Write sequentially (effectively what was done previously)
3) Write in place (modifying pre-existing values - also previous)
4) Full featured write (requires v17 and available space)
I've implemented write/modifies using the full write capabilities
because it is the simplest for implementing the fdt command and most
flexible by far (doing a write modifies the value or creates it if it
doesn't exist).
An improvment to the "set" command would be to do a write in place if
the full featured write failed (i.e. not a v17 blob or no space left).
Patches are welcome. ;-)
Best regards,
gvb
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2007-04-23 0:05 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-19 8:58 [U-Boot-Users] Testing todays u-boot-fdt Wolfgang Grandegger
2007-04-19 12:08 ` Jerry Van Baren
2007-04-19 13:10 ` Wolfgang Grandegger
2007-04-19 13:19 ` Jerry Van Baren
2007-04-19 15:24 ` Timur Tabi
2007-04-22 20:38 ` Timur Tabi
2007-04-23 0:05 ` Jerry Van Baren
2007-04-19 13:28 ` Jerry Van Baren
2007-04-19 13:42 ` Wolfgang Grandegger
2007-04-19 15:51 ` Wolfgang Denk
2007-04-19 23:11 ` Jerry Van Baren
2007-04-19 23:19 ` Wolfgang Denk
2007-04-20 16:36 ` Wolfgang Grandegger
2007-04-20 17:11 ` Jerry Van Baren
2007-04-20 20:40 ` Wolfgang Denk
2007-04-20 22:02 ` Jerry Van Baren
2007-04-20 3:38 ` Jerry Van Baren
2007-04-20 13:32 ` Wolfgang Denk
2007-04-20 3:40 ` Jerry Van Baren
[not found] <4629358C.5050401@cideas.com>
2007-04-20 23:01 ` Wolfgang Denk
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox