device tree compilation problems.
Hi
I am getting DTC when compiling dts file with CONFIG_OF_CONTROL.
The message says that it cannot find skeleton.dtsi though its placed in the same directory as the dts file. I notice that if i remove this line from the dts Makefile, the error disappears
$(DT_BIN): $(TOPDIR)/board/$(VENDOR)/dts/$(DEVICE_TREE).dts
- cat $< | $(CPP) -P $(DTS_CPPFLAGS) - >[email protected] - $(DTC) -R 4 -p 0x1000 -O dtb -o ${DT_BIN} [email protected] - rm [email protected] + $(DTC) -R 4 -p 0x1000 -O dtb -o ${DT_BIN} $<
Has anyone faced this issue?
Thanks
Hanumant
Hi,
Quoted 8 lines · hanumant
Hi
? I am getting DTC when compiling dts file with
CONFIG_OF_CONTROL. The message says that it cannot findskeleton.dtsithough its placed in the same directory as the dts file. I notice that if i remove this line from the dtsMakefile, the error disappears
Quoted 7 lines
?$(DT_BIN): $(TOPDIR)/board/$(VENDOR)/dts/$(DEVICE_TREE).dts
- ? ? ? cat $< | $(CPP) -P $(DTS_CPPFLAGS) - >[email protected]
- ? ? ? $(DTC) -R 4 -p0x1000-O dtb -o ${DT_BIN} [email protected]
- ? ? ? rm [email protected]
+ ? ? ? $(DTC) -R 4 -p0x1000-O dtb -o ${DT_BIN} $<Has anyone faced this issue?
Not really, although I haven't used a skeleton file on mainline. One thing to check is that you have a .dtsi extension.
The lines above are running the .dts file through the C proprocessor to create a tmp file, which is then compiled. It is only really used to get the name of the SOC's device tree include file - see the definition of DTS_CPPFLAGS.
The tmp file should be in the same directory - check the file it produces and see what is wrong with it. The reason for using a tmp file is that people can check the resulting post-processed input to dtc. I wonder if the # signs in the file are confusing the preprocessor (at the time I wondered why they didn't). We should perhaps add sed into the mix :-(
Quoted 3 lines
Thanks
Hanumant
Regards,
Simon
Quoted 5 lines
_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot
Dear Simon Glass,
Quoted 5 lines · In message <CAPnjgZ3s2+w0PPyUh8c4JqgSEmSbZwWDeqBqUWKz_Bf1O0O6UQ@mail.gmail.com>…
Quoted 5 lines
$(DT_BIN): $(TOPDIR)/board/$(VENDOR)/dts/$(DEVICE_TREE).dts
(quoted diff) +0
-3- cat $< | $(CPP) -P $(DTS_CPPFLAGS) - >[email protected] - $(DTC) -R 4 -p 0x1000 -O dtb -o ${DT_BIN} [email protected] - rm [email protected]
...
Quoted 4 lines
The lines above are running the .dts file through the C proprocessor to create a tmp file, which is then compiled. It is only really used to get the name of the SOC's device tree include file - see the definition of
DTS_CPPFLAGS.
Is there actually any reason for the "cat" (the UUOCA seems to be extinct these days, cf. http://partmaps.org/era/unix/award.html) and the tmp file?
Why not rewriting as
$(CPP) -P $(DTS_CPPFLAGS) < $< | \
$(DTC) -R 4 -p 0x1000 -O dtb -o ${DT_BIN} -?
Best regards,
Wolfgang Denk
Signature · 4 lines
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: [email protected] ######## This message was made from 100% recycled electrons. ########
Hi Wolfgang,
Quoted 14 lines · Wolfgang Denk
Dear Simon Glass,
Quoted 5 lines · In message <CAPnjgZ3s2+w0PPyUh8c4JqgSEmSbZwWDeqBqUWKz_Bf1O0O6UQ@mail.gmail.com>…
Quoted 5 lines
?$(DT_BIN): $(TOPDIR)/board/$(VENDOR)/dts/$(DEVICE_TREE).dts
- ? ? ? cat $< | $(CPP) -P $(DTS_CPPFLAGS) - >[email protected]
- ? ? ? $(DTC) -R 4 -p0x1000-O dtb -o ${DT_BIN} [email protected]
- ? ? ? rm [email protected]...
Quoted 4 lines
The lines above are running the .dts file through the C proprocessor to create a tmp file, which is then compiled. It is only really used to get the name of the SOC's device tree include file - see the definition of
DTS_CPPFLAGS.
Quoted 8 lines
Is there actually any reason for the "cat" (the UUOCA seems to be extinct these days, cf. http://partmaps.org/era/unix/award.html) and the tmp file?
Why not rewriting as
? ? ? ?$(CPP) -P $(DTS_CPPFLAGS) < $< | \
? ? ? ?$(DTC) -R 4 -p0x1000-O dtb -o ${DT_BIN} -
Any errors produce messages with line numbers, and it is nice for people to be able to look up the file, go to the right line and see what is actually being compiled. So that's why I did this - although I certainly could use tee.
But instead I have been working on getting rid of the need for the CPP step - the -i flag (include path) has now made it into dtc so before long I will submit a patch to tidy up this logic and remove the problem.
Quoted 2 lines
?
Regards,
Simon
Quoted 10 lines
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 at denx.de ######## This message was made from 100% recycled electrons. ########