Project Scenario:
when creating a petalinux system using Xilinx’s petalinux tool, modify the device tree file pl.dtsi by adding a reference to the system-user.dtsi file
Problem description:
cannot modify pl.dtsi configuration through system-user.dtsi
/include/ "system-conf.dtsi" /{ }; &amba_pl{ axidma_chrdev: axidma_chrdev@0 { compatible = "xlnx,axidma-chrdev"; dmas = <&axi_dma_0 0 &axi_dma_0 1>; dma-names = "tx_channel", "rx_channel"; }; }; &axi_dma_0{ dma-channel@40400000 { xlnx,device-id = <0x0>; }; dma-channel@40400030 { xlnx,device-id = <0x1>; }; }
Reason analysis:
system-user. Dtsi file format error, space between dma and {!!!
Solutions:
modify the code format, create system.dtb, use the following statement to reverse generate DTS file, found that part of the pl configuration has been successfully modified!
dtc -I dtb -O dts -o system.dts system.dtb
Modified code:
/include/ "system-conf.dtsi" /{ }; &amba_pl { axidma_chrdev: axidma_chrdev@0 { compatible = "xlnx,axidma-chrdev"; dmas = <&axi_dma_0 0 &axi_dma_0 1>; dma-names = "tx_channel", "rx_channel"; }; }; &axi_dma_0 { dma-channel@40400000 { xlnx,device-id = <0x0>; }; dma-channel@40400030 { xlnx,device-id = <0x1>; }; }
Results in system. DTS: