I'm afraid I haven't tried BB-I2C2 dts yet as I'm primarily focused on the
BB-X15 now, but I've noticed something a bit strange when it comes to
compiling device trees, and it MAY be relevant to this issue.
If not, please let me know and I will delete this text in this thread and
move it to a separate thread..
When I try to modify DTS files and compile within the kernel tree's make
structure I sometimes get different compile and run-time results than when
I compile within the u-boot source tree's make structure. I seem to have
better luck from within the kernel source tree.
I'm not sure if the included files that the DTS pulls in (with the same
filenames in the u-boot vs. kernel tree are different) or something else is
going on.. I'm running u-boot 2017.01 with a 2-3 month old patch set and
kernel 4.4.y (one that is close to what comes with the beagleboard-x15
image with debian 8.6 and kernel 4.4.30).
For example, I've taken 57xx-evm-reva3.dts, and added some lines for
enabling/disabling UART's 1,5. At the end of this thread, I show the
relevant modifications to the device tree file as well as the "seemingly
unrelated" lines where I get compile errors:
Note: I actually changed the name of the device tree file to reflect the
product name, but am just calling it 57xx-evm-reva3 here to try to keep my
employer happy.
I'm able to compile that DTS from within the kernel's make structure, copy
the resulting 57xx-evm-reva3.dtb to the appropriate FS location on the SD
Card for the BB-X15 and the kernel boots into Debian. But when I attempt to
build that same modified DTS from within the 2017.01 u-boot's trees make, I
get compile errors. And when I tried removing some of my changes to the
DTS, I was able to compile but I then got run-time errors when booting the
kernel (e.g. the kernel boots into ramdisk) when I copied the DTB from the
u-boot tree to /boot/dtbs/uname -r on the BB-X15's FS.
I compile device trees from within the u-boot or kernel make tree, because
I haven't yet figured out how to get-around the include path issue for all
the DTSI's, etc.
Are there any known issues with compiling the device tree for kernel from
within the kernel vs u-boot? I want to include our custom device tree
(modified version of am57xx-evm-reva3) in u-boot as well as the device tree
gets tacked onto the FIT and as Robert indicated, the BB-X15 u-boot now
uses the DT to configure 1-2 items within u-boot.
For now, I'll just attempt to show the compile error issue. If you want to
see the run-time issue when the kernel is booting, I will add that too.
Below are the changes I made to the am57xx-evm-reva3.dts file in attempt to
enable UARTs on the expansion headers of the am572x EVM.
When I compile within u-boot, I get the following errors, but when I build
the am57xx-evm-reva3 file with the same modifications within the kernel
(4.4.y), the DTS successfully builds and the board boots from the resulting
DTB:
Thanks!!
Jeff
*****COMPILE ERRORS WHEN DTS IS BUILT UNDER U-BOOT SOURCE TREE:
Version: DTC 1.4.0
.
.
.
DTC arch/arm/dts/am57xx-evm-reva3.dtb
Error: <stdin>:84.75-76 syntax error
FATAL ERROR: Unable to parse input tree
scripts/Makefile.lib:322: recipe for target
'arch/arm/dts/am57xx-evm-reva3.dtb' failed
make[2]: *** [arch/arm/dts/am57xx-evm-reva3.dtb] Error 1
dts/Makefile:36: recipe for target 'arch-dtbs' failed
make[1]: *** [arch-dtbs] Error 2
Makefile:853: recipe for target 'dts/dt.dtb' failed
make: *** [dts/dt.dtb] Error 2
***** Select Modifications to 57xx-evm-reva3.dts (see the line numbers)
which break the DTB compile under u-boot, but not the kernel:
17 &dra7_pmx_core {
18
19 /*
20 * TODO: We should be able to move PinMux values defined
here to
21 * am57xx-beagle-x15-revb1.dts once that board is available
and
22 * its MMC/SD interface is verified. For now these stay
here until
23 * that exercise is complete.
24 */
25
26 mmc1_pins_default: mmc1_pins_default {
27 pinctrl-single,pins = <
28 DRA7XX_CORE_IOPAD(0x3754, (PIN_INPUT_PULLUP
| MUX_MODE0)) /* mmc1_clk.clk */
29 DRA7XX_CORE_IOPAD(0x3758, (PIN_INPUT_PULLUP
| MUX_MODE0)) /* mmc1_cmd.cmd */
30 DRA7XX_CORE_IOPAD(0x375c, (PIN_INPUT_PULLUP
| MUX_MODE0)) /* mmc1_dat0.dat0 */
31 DRA7XX_CORE_IOPAD(0x3760, (PIN_INPUT_PULLUP
| MUX_MODE0)) /* mmc1_dat1.dat1 */
32 DRA7XX_CORE_IOPAD(0x3764, (PIN_INPUT_PULLUP
| MUX_MODE0)) /* mmc1_dat2.dat2 */
33 DRA7XX_CORE_IOPAD(0x3768, (PIN_INPUT_PULLUP
| MUX_MODE0)) /* mmc1_dat3.dat3 */
34 >;
35 };
.
.
.
**** Seemingly Unrelated Lines where DTC complains when I insert my changes
elsewhere in the DTS *****
81 mmc1_pins_ddr50: pinmux_mmc1_ddr50_pins {
82 pinctrl-single,pins = <
83 DRA7XX_CORE_IOPAD(0x3754, (PIN_INPUT_PULLUP
| MANUAL_MODE | MUX_MODE0))/* mmc1_clk.clk */
84 DRA7XX_CORE_IOPAD(0x3758, (PIN_INPUT_PULLUP
| MANUAL_MODE | MUX_MODE0)) /* mmc1_cmd.cmd */
85 DRA7XX_CORE_IOPAD(0x375c, (PIN_INPUT_PULLUP
| MANUAL_MODE | MUX_MODE0)) /* mmc1_dat0.dat0 */
86 DRA7XX_CORE_IOPAD(0x3760, (PIN_INPUT_PULLUP
| MANUAL_MODE | MUX_MODE0)) /* mmc1_dat1.dat1 */
87 DRA7XX_CORE_IOPAD(0x3764, (PIN_INPUT_PULLUP
| MANUAL_MODE | MUX_MODE0)) /* mmc1_dat2.dat2 */
88 DRA7XX_CORE_IOPAD(0x3768, (PIN_INPUT_PULLUP
| MANUAL_MODE | MUX_MODE0)) /* mmc1_dat3.dat3 */
89 >;
90 };
.
.
.
203 /* JA - Added based on assumption that UART pins on 572x-evm_reva3
need to be configured in kernel */
207
208 uart1_pins: pinmux_uart1_pins {
209 pinctrl-single,pins = <
210 DRA7XX_CORE_IOPAD(0x37E0, (PIN_INPUT_PULLUP
| SLEWCONTROL| MUX_MODE0)) /* uart1_rxd.uart1_rxd */
211 DRA7XX_CORE_IOPAD(0x37E4, (PIN_OUTPUT
| SLEWCONTROL| MUX_MODE0)) /* uart1_txd.uart1_txd */
212 DRA7XX_CORE_IOPAD(0x37E8,
(PIN_INPUT_PULLDOWN | MUX_MODE14)) /* uart1_ctsn.uart1_ctsn */
213 DRA7XX_CORE_IOPAD(0x37EC, (PIN_OUTPUT
| MUX_MODE14)) /* uart1_rtsn.uart1_rtsn */
214 >;
215 };
216
217 uart5_pins: pinmux_uart5_pins {
218 pinctrl-single,pins = <
219 /* DRA7XX_CORE_IOPAD(0x35DC,
(PIN_INPUT_PULLUP | SLEWCONTROL| MUX_MODE2))*/ /* vout1_d0.uart5_rxd */
220 /*DRA7XX_CORE_IOPAD(0x35E0, (PIN_OUTPUT
| SLEWCONTROL| MUX_MODE2))*/ /* vout1_d1.uart5_txd */
221 DRA7XX_CORE_IOPAD(0x35DC, (PIN_INPUT_PULLUP
| SLEWCONTROL| MUX_MODE2)) /* vout1_d0.uart5_rxd */
222 DRA7XX_CORE_IOPAD(0x35E0,
(PIN_OUTPUT_PULLUP | SLEWCONTROL| MUX_MODE2)) /* vout1_d1.uart5_txd
*/
223 >;
224 };
225
226
}; /* End of dra7_pmx_core fragment.
.
.
.
338 &mmc2 {
339 pinctrl-names = "default", "hs", "ddr_1_8v";
340 pinctrl-0 = <&mmc2_pins_default>;
341 pinctrl-1 = <&mmc2_pins_hs>;
342 pinctrl-2 = <&mmc2_pins_ddr_3_3v
&mmc2_iodelay_ddr_3_3v_conf>;
343
344 max-frequency = <192000000>;
345 /delete-property/ mmc-hs200-1_8v;
346 };
349 &uart2 {
350 status = "disabled";
351 };
352
353 &uart1 {
354 pinctrl-names = "default";
355 pinctrl-0 = <&uart1_pins>;
356
357 status = "okay";
358 };
359
360 &uart5 {
361 pinctrl-names = "default";
362 pinctrl-0 = <&uart5_pins>;
363
364 status = "okay";
365 };
366
On Monday, September 18, 2017 at 4:34:02 AM UTC-5, Ritisha Shettigar wrote:
>
> Hello,
> I have interfaced an external RTC. I have added a device tree overlay
> using the link
> https://github.com/beagleboard/bb.org-overlays/blob/master/src/arm/BB-I2C2-PCF8523-00A0.dts
> However on compiling, it gives me an error -
>
> *Error: *BB-I2C2-PCF8523-00A0.dts:9.1-9 syntax error
> *FATAL ERROR:* Unable to parse input tree
>
> Have also run *make src/arm/BB-I2C2-PCF8523-00A0.dtbo.*
>
>
> *Please give me a solution.*
>
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/beagleboard/0019284b-fcf6-47a9-b02f-058d0d060d98%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.