1 # SPDX-License-Identifier: GPL-2.0-only
4 $id: http://devicetree.org/schemas/dma/snps,dma-spear1340.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Synopsys Designware DMA Controller
10 - Viresh Kumar <vireshk@kernel.org>
11 - Andy Shevchenko <andriy.shevchenko@linux.intel.com>
14 - $ref: "dma-controller.yaml#"
18 const: snps,dma-spear1340
24 First cell is a phandle pointing to the DMA controller. Second one is
25 the DMA request line number. Third cell is the memory master identifier
26 for transfers on dynamically allocated channel. Fourth cell is the
27 peripheral master identifier for transfers on an allocated channel. Fifth
28 cell is an optional mask of the DMA channels permitted to be allocated
29 for the corresponding client device.
41 description: AHB interface reference clock.
46 Number of DMA channels supported by the controller. In case if
47 not specified the driver will try to auto-detect this and
48 the rest of the optional parameters.
57 $ref: /schemas/types.yaml#/definitions/uint32
59 Number of DMA masters supported by the controller. In case if
60 not specified the driver will try to auto-detect this and
61 the rest of the optional parameters.
65 chan_allocation_order:
66 $ref: /schemas/types.yaml#/definitions/uint32
68 DMA channels allocation order specifier. Zero means ascending order
69 (first free allocated), while one - descending (last free allocated).
74 $ref: /schemas/types.yaml#/definitions/uint32
76 DMA channels priority order. Zero means ascending channels priority
77 so the very first channel has the highest priority. While 1 means
78 descending priority (the last channel has the highest priority).
83 $ref: /schemas/types.yaml#/definitions/uint32
84 description: Maximum block size supported by the DMA controller.
85 enum: [3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095]
88 $ref: /schemas/types.yaml#/definitions/uint32-array
89 description: Data bus width per each DMA master in bytes.
96 $ref: /schemas/types.yaml#/definitions/uint32-array
99 Data bus width per each DMA master in (2^n * 8) bits. This property is
100 deprecated. It' usage is discouraged in favor of data-width one. Moreover
101 the property incorrectly permits to define data-bus width of 8 and 16
102 bits, which is impossible in accordance with DW DMAC IP-core data book.
116 $ref: /schemas/types.yaml#/definitions/uint32-array
118 LLP-based multi-block transfer supported by hardware per
127 $ref: /schemas/types.yaml#/definitions/uint32-array
129 Maximum length of the burst transactions supported by the controller.
130 This property defines the upper limit of the run-time burst setting
131 (CTLx.SRC_MSIZE/CTLx.DST_MSIZE fields) so the allowed burst length
132 will be from 1 to max-burst-len words. It's an array property with one
133 cell per channel in the units determined by the value set in the
134 CTLx.SRC_TR_WIDTH/CTLx.DST_TR_WIDTH fields (data width).
138 enum: [4, 8, 16, 32, 64, 128, 256]
141 snps,dma-protection-control:
142 $ref: /schemas/types.yaml#/definitions/uint32
144 Bits one-to-one passed to the AHB HPROT[3:1] bus. Each bit setting
145 indicates the following features: bit 0 - privileged mode,
146 bit 1 - DMA is bufferable, bit 2 - DMA is cacheable.
151 unevaluatedProperties: false
161 dma-controller@fc000000 {
162 compatible = "snps,dma-spear1340";
163 reg = <0xfc000000 0x1000>;
164 interrupt-parent = <&vic1>;
172 chan_allocation_order = <1>;
174 block_size = <0xfff>;
176 multi-block = <0 0 0 0 0 0 0 0>;
177 snps,max-burst-len = <16 16 4 4 4 4 4 4>;