From: Rob Gubler <hidden> Date: 2009-01-24 01:07:43
Hello,
I'm an ELDK 4.2 user. I'm trying to compile the ebony.dts file included in
the 2.6.24 kernel but the Device Tree Compiler, dtc, complains of a syntax
error.
ELDK provides me with a binary for dtc, but the command line arguments
specided by the ELDK documentation are not supported with the version of dtc
thats provided with ELDK 4.2. Unfortuntely whatever version of dtc is not
specified by the binary (as best I can tell). So, I used only the arguments
that were supported but was unable to produce the dtb.
Here is the output:
# /opt/eldk/sbin/dtc -I dts -O dtb -f arch/powerpc/boot/dts/ebony.dts >
~rob/ebony.dtb
DTC: dts->dtb on file "arch/powerpc/boot/dts/ebony.dts"
syntax error at line 45
FATAL ERROR: Couldn't read input tree
# cat -n arch/powerpc/boot/dts/ebony.dts
...
44 UIC0: interrupt-controller0 {
45 compatible = "ibm,uic-440gp", "ibm,uic";
46 interrupt-controller;
47 cell-index = <0>;
48 dcr-reg = <0c0 009>;
49 #address-cells = <0>;
50 #size-cells = <0>;
51 #interrupt-cells = <2>;
At this point I went and downloaded the latest version (DTC 1.2.0-gb2b4990b)
of dtc from: git://www.jdl.com/software/dtc.git and tried compiling
ebony.dts. This time I was able to use all of the arguments specified by
the ELDK documents, but I also ran into problems. This time dtc complained
about the opening bracket. I read the dtc documentation and it appears it
should be treating ebony.dts as a "version 0" file because "/dts-v1/;" is
not specified.
Here is the output
# ~rob/dtc/dtc -b 0 -V 17 -p 0x1000 -I dts -O dtb -f
arch/powerpc/boot/dts/ebony.dts > ~rob/ebony.dtb
DTC: dts->dtb on file "arch/powerpc/boot/dts/ebony.dts"
Error: arch/powerpc/boot/dts/ebony.dts 14:0 - 1:0 syntax error
FATAL ERROR: Unable to parse input tree
# cat -n arch/powerpc/boot/dts/ebony.dts
...
12 */
13
14 / {
15 #address-cells = <2>;
16 #size-cells = <1>;
Is anyone aware of a version of DTC that will compile the ebony.dts file
included with the 2.6.24 kernel? Or, an updated ebony.dts file that works
with DTC 1.2.0-gb2b4990b. Any other suggestions would be great. Thanks!
-Rob
From: Wolfgang Denk <hidden> Date: 2009-01-24 01:47:05
Dear Rob Gubler,
in message [off-list ref] you wrote:
I'm an ELDK 4.2 user. I'm trying to compile the ebony.dts file included in
the 2.6.24 kernel but the Device Tree Compiler, dtc, complains of a syntax
error.
Yes, there is a version conflict. The 2.6.24 kernel still uses an old
dts format, which is incompatible with recent dtc versiosn.
Is anyone aware of a version of DTC that will compile the ebony.dts file
included with the 2.6.24 kernel? Or, an updated ebony.dts file that works
with DTC 1.2.0-gb2b4990b. Any other suggestions would be great. Thanks!
Is there any specific reson for you to use the old 2.6.24 kernel?
If not, I'd recommend that you clone the git repository and use recent
code - this will build fine with current versions of the dtc.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
What is tolerance? -- it is the consequence of humanity. We are all
formed of frailty and error; let us pardon reciprocally each other's
folly -- that is the first law of nature. - Voltaire
From: David Gibson <hidden> Date: 2009-01-26 23:20:28
On Sat, Jan 24, 2009 at 02:47:01AM +0100, Wolfgang Denk wrote:
Dear Rob Gubler,
in message [off-list ref] you wrote:
quoted
I'm an ELDK 4.2 user. I'm trying to compile the ebony.dts file included in
the 2.6.24 kernel but the Device Tree Compiler, dtc, complains of a syntax
error.
Yes, there is a version conflict. The 2.6.24 kernel still uses an old
dts format, which is incompatible with recent dtc versiosn.
Yes, that's right. Support for the old dts-v0 format was removed in
recent upstream dtc versions. The dts file you have is too new for
the very old ELDK dtc, but too old for current dtc.
Hey jdl, this sort of case is why I was always against removing dts-v0
support.
quoted
Is anyone aware of a version of DTC that will compile the ebony.dts file
included with the 2.6.24 kernel? Or, an updated ebony.dts file that works
with DTC 1.2.0-gb2b4990b. Any other suggestions would be great. Thanks!
Is there any specific reson for you to use the old 2.6.24 kernel?
If not, I'd recommend that you clone the git repository and use recent
code - this will build fine with current versions of the dtc.
I concur. If you really have to use the old kernel, you could
manually update the dts to dts-v1 without making other changes, which
should be relatively simple - that's just a matter of changing all
numbers in the file from bare hex to C-style (decimal by default, 0x
for hex, etc.) and adding the magic /dts-v1/ tag at the top.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
From: Rob Gubler <hidden> Date: 2009-01-27 22:16:00
quoted
quoted
Is anyone aware of a version of DTC that will compile the ebony.dts
file
quoted
quoted
included with the 2.6.24 kernel? Or, an updated ebony.dts file that
works
quoted
quoted
with DTC 1.2.0-gb2b4990b. Any other suggestions would be great.
Thanks!
quoted
Is there any specific reson for you to use the old 2.6.24 kernel?
If not, I'd recommend that you clone the git repository and use recent
code - this will build fine with current versions of the dtc.
I concur. If you really have to use the old kernel, you could
manually update the dts to dts-v1 without making other changes, which
should be relatively simple - that's just a matter of changing all
numbers in the file from bare hex to C-style (decimal by default, 0x
for hex, etc.) and adding the magic /dts-v1/ tag at the top.
My only attachment to this kernel is it looks like the IPIPE and Xenomai
patches have already been applied to the 2.6.24 kernel provided by ELDK
4.2. In the past applying these patches for an x86 machine wasn't always a
simple task. I was hoping to save myself some time.
What git URL / path do you recommend I use to clone the repository? I found
some instructions on rebuilding the ELDK from scratch (
http://www.denx.de/wiki/view/DULG/ELDKRebuilding). Are these the
instructions I should be following?
-Rob
From: Wolfgang Denk <hidden> Date: 2009-01-27 23:26:58
Dear Rob Gubler,
In message [off-list ref] you wrote:
My only attachment to this kernel is it looks like the IPIPE and Xenomai
patches have already been applied to the 2.6.24 kernel provided by ELDK
4.2. In the past applying these patches for an x86 machine wasn't always a
simple task. I was hoping to save myself some time.
You will find that applying the Xenomai patches to our tree is really
straightforward. The last version that has received "official" support
(i. e was added to Xenomai mainline) is v2.6.28, and tested with our tree.
What git URL / path do you recommend I use to clone the repository? I found
Please see http://www.denx.de/wiki/view/DULG/LinuxConfiguration
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
I have often regretted my speech, never my silence.