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.

Reply via email to