In a PetaLinux project, the system-user.dtsi is modified as shown below. These modifications expect the user to use 3 TX and 3 TX channels. The hardware is capable of supporting 4 channels in the implementation above, however only 3 are used for demonstration purposes.
/include/ "system-conf.dtsi"
/ {
dma_proxy {
compatible ="xlnx,dma_proxy";
dmas = <&axi_mcdma_0 0 &axi_mcdma_0 16 &axi_mcdma_0 1 &axi_mcdma_0 17 &axi_mcdma_0 2 &axi_mcdma_0 19> ;
dma-names = "dma_proxy_tx_0", "dma_proxy_rx_0", "dma_proxy_tx_1", "dma_proxy_rx_1", "dma_proxy_tx_2", "dma_proxy_rx_2";
} ;
};
&axi_mcdma_0 {
#dma-cells = <1>;
};
The #dma-cells update to the mcdma node is needed due to a tool bug with the device tree generator in 2021.1. This should be fixed in a later release.