| .. | .. |
|---|
| 11 | 11 | Xilinx AXI CDMA engine, it does transfers between memory-mapped source |
|---|
| 12 | 12 | address and a memory-mapped destination address. |
|---|
| 13 | 13 | |
|---|
| 14 | +Xilinx AXI MCDMA engine, it does transfer between memory and AXI4 stream |
|---|
| 15 | +target devices. It can be configured to have up to 16 independent transmit |
|---|
| 16 | +and receive channels. |
|---|
| 17 | + |
|---|
| 14 | 18 | Required properties: |
|---|
| 15 | | -- compatible: Should be "xlnx,axi-vdma-1.00.a" or "xlnx,axi-dma-1.00.a" or |
|---|
| 16 | | - "xlnx,axi-cdma-1.00.a"" |
|---|
| 19 | +- compatible: Should be one of- |
|---|
| 20 | + "xlnx,axi-vdma-1.00.a" |
|---|
| 21 | + "xlnx,axi-dma-1.00.a" |
|---|
| 22 | + "xlnx,axi-cdma-1.00.a" |
|---|
| 23 | + "xlnx,axi-mcdma-1.00.a" |
|---|
| 17 | 24 | - #dma-cells: Should be <1>, see "dmas" property below |
|---|
| 18 | 25 | - reg: Should contain VDMA registers location and length. |
|---|
| 19 | 26 | - xlnx,addrwidth: Should be the vdma addressing size in bits(ex: 32 bits). |
|---|
| .. | .. |
|---|
| 29 | 36 | "m_axis_mm2s_aclk", "s_axis_s2mm_aclk" |
|---|
| 30 | 37 | For CDMA: |
|---|
| 31 | 38 | Required elements: "s_axi_lite_aclk", "m_axi_aclk" |
|---|
| 32 | | - FOR AXIDMA: |
|---|
| 39 | + For AXIDMA and MCDMA: |
|---|
| 33 | 40 | Required elements: "s_axi_lite_aclk" |
|---|
| 34 | 41 | Optional elements: "m_axi_mm2s_aclk", "m_axi_s2mm_aclk", |
|---|
| 35 | 42 | "m_axi_sg_aclk" |
|---|
| .. | .. |
|---|
| 37 | 44 | Required properties for VDMA: |
|---|
| 38 | 45 | - xlnx,num-fstores: Should be the number of framebuffers as configured in h/w. |
|---|
| 39 | 46 | |
|---|
| 40 | | -Optional properties: |
|---|
| 41 | | -- xlnx,include-sg: Tells configured for Scatter-mode in |
|---|
| 42 | | - the hardware. |
|---|
| 43 | | -Optional properties for AXI DMA: |
|---|
| 44 | | -- xlnx,mcdma: Tells whether configured for multi-channel mode in the hardware. |
|---|
| 47 | +Optional properties for AXI DMA and MCDMA: |
|---|
| 48 | +- xlnx,sg-length-width: Should be set to the width in bits of the length |
|---|
| 49 | + register as configured in h/w. Takes values {8...26}. If the property |
|---|
| 50 | + is missing or invalid then the default value 23 is used. This is the |
|---|
| 51 | + maximum value that is supported by all IP versions. |
|---|
| 45 | 52 | Optional properties for VDMA: |
|---|
| 46 | 53 | - xlnx,flush-fsync: Tells which channel to Flush on Frame sync. |
|---|
| 47 | 54 | It takes following values: |
|---|
| .. | .. |
|---|
| 54 | 61 | For VDMA: It should be either "xlnx,axi-vdma-mm2s-channel" or |
|---|
| 55 | 62 | "xlnx,axi-vdma-s2mm-channel". |
|---|
| 56 | 63 | For CDMA: It should be "xlnx,axi-cdma-channel". |
|---|
| 57 | | - For AXIDMA: It should be either "xlnx,axi-dma-mm2s-channel" or |
|---|
| 58 | | - "xlnx,axi-dma-s2mm-channel". |
|---|
| 64 | + For AXIDMA and MCDMA: It should be either "xlnx,axi-dma-mm2s-channel" |
|---|
| 65 | + or "xlnx,axi-dma-s2mm-channel". |
|---|
| 59 | 66 | - interrupts: Should contain per channel VDMA interrupts. |
|---|
| 60 | 67 | - xlnx,datawidth: Should contain the stream data width, take values |
|---|
| 61 | 68 | {32,64...1024}. |
|---|
| .. | .. |
|---|
| 68 | 75 | enabled/disabled in hardware. |
|---|
| 69 | 76 | - xlnx,enable-vert-flip: Tells vertical flip is |
|---|
| 70 | 77 | enabled/disabled in hardware(S2MM path). |
|---|
| 71 | | -Optional child node properties for AXI DMA: |
|---|
| 72 | | --dma-channels: Number of dma channels in child node. |
|---|
| 78 | +Optional child node properties for MCDMA: |
|---|
| 79 | +- dma-channels: Number of dma channels in child node. |
|---|
| 73 | 80 | |
|---|
| 74 | 81 | Example: |
|---|
| 75 | 82 | ++++++++ |
|---|