forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/Documentation/devicetree/bindings/dma/xilinx/xilinx_dma.txt
....@@ -11,9 +11,16 @@
1111 Xilinx AXI CDMA engine, it does transfers between memory-mapped source
1212 address and a memory-mapped destination address.
1313
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
+
1418 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"
1724 - #dma-cells: Should be <1>, see "dmas" property below
1825 - reg: Should contain VDMA registers location and length.
1926 - xlnx,addrwidth: Should be the vdma addressing size in bits(ex: 32 bits).
....@@ -29,7 +36,7 @@
2936 "m_axis_mm2s_aclk", "s_axis_s2mm_aclk"
3037 For CDMA:
3138 Required elements: "s_axi_lite_aclk", "m_axi_aclk"
32
- FOR AXIDMA:
39
+ For AXIDMA and MCDMA:
3340 Required elements: "s_axi_lite_aclk"
3441 Optional elements: "m_axi_mm2s_aclk", "m_axi_s2mm_aclk",
3542 "m_axi_sg_aclk"
....@@ -37,11 +44,11 @@
3744 Required properties for VDMA:
3845 - xlnx,num-fstores: Should be the number of framebuffers as configured in h/w.
3946
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.
4552 Optional properties for VDMA:
4653 - xlnx,flush-fsync: Tells which channel to Flush on Frame sync.
4754 It takes following values:
....@@ -54,8 +61,8 @@
5461 For VDMA: It should be either "xlnx,axi-vdma-mm2s-channel" or
5562 "xlnx,axi-vdma-s2mm-channel".
5663 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".
5966 - interrupts: Should contain per channel VDMA interrupts.
6067 - xlnx,datawidth: Should contain the stream data width, take values
6168 {32,64...1024}.
....@@ -68,8 +75,8 @@
6875 enabled/disabled in hardware.
6976 - xlnx,enable-vert-flip: Tells vertical flip is
7077 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.
7380
7481 Example:
7582 ++++++++