1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/dma/snps,dw-axi-dmac.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Synopsys DesignWare AXI DMA Controller 8 9maintainers: 10 - Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> 11 12description: 13 Synopsys DesignWare AXI DMA Controller DT Binding 14 15allOf: 16 - $ref: "dma-controller.yaml#" 17 18properties: 19 compatible: 20 enum: 21 - snps,axi-dma-1.01a 22 - intel,kmb-axi-dma 23 24 reg: 25 minItems: 1 26 items: 27 - description: Address range of the DMAC registers 28 - description: Address range of the DMAC APB registers 29 30 reg-names: 31 items: 32 - const: axidma_ctrl_regs 33 - const: axidma_apb_regs 34 35 interrupts: 36 description: 37 If the IP-core synthesis parameter DMAX_INTR_IO_TYPE is set to 1, this 38 will be per-channel interrupts. Otherwise, this is a single combined IRQ 39 for all channels. 40 minItems: 1 41 maxItems: 8 42 43 clocks: 44 items: 45 - description: Bus Clock 46 - description: Module Clock 47 48 clock-names: 49 items: 50 - const: core-clk 51 - const: cfgr-clk 52 53 '#dma-cells': 54 const: 1 55 56 dma-channels: 57 minimum: 1 58 maximum: 8 59 60 resets: 61 maxItems: 1 62 63 snps,dma-masters: 64 description: | 65 Number of AXI masters supported by the hardware. 66 $ref: /schemas/types.yaml#/definitions/uint32 67 enum: [1, 2] 68 69 snps,data-width: 70 description: | 71 AXI data width supported by hardware. 72 (0 - 8bits, 1 - 16bits, 2 - 32bits, ..., 6 - 512bits) 73 $ref: /schemas/types.yaml#/definitions/uint32 74 enum: [0, 1, 2, 3, 4, 5, 6] 75 76 snps,priority: 77 description: | 78 Channel priority specifier associated with the DMA channels. 79 $ref: /schemas/types.yaml#/definitions/uint32-array 80 minItems: 1 81 maxItems: 8 82 83 snps,block-size: 84 description: | 85 Channel block size specifier associated with the DMA channels. 86 $ref: /schemas/types.yaml#/definitions/uint32-array 87 minItems: 1 88 maxItems: 8 89 90 snps,axi-max-burst-len: 91 description: | 92 Restrict master AXI burst length by value specified in this property. 93 If this property is missing the maximum AXI burst length supported by 94 DMAC is used. 95 $ref: /schemas/types.yaml#/definitions/uint32 96 minimum: 1 97 maximum: 256 98 99required: 100 - compatible 101 - reg 102 - clocks 103 - clock-names 104 - interrupts 105 - '#dma-cells' 106 - dma-channels 107 - snps,dma-masters 108 - snps,data-width 109 - snps,priority 110 - snps,block-size 111 112additionalProperties: false 113 114examples: 115 - | 116 #include <dt-bindings/interrupt-controller/arm-gic.h> 117 #include <dt-bindings/interrupt-controller/irq.h> 118 /* example with snps,dw-axi-dmac */ 119 dmac: dma-controller@80000 { 120 compatible = "snps,axi-dma-1.01a"; 121 reg = <0x80000 0x400>; 122 clocks = <&core_clk>, <&cfgr_clk>; 123 clock-names = "core-clk", "cfgr-clk"; 124 interrupt-parent = <&intc>; 125 interrupts = <27>; 126 #dma-cells = <1>; 127 dma-channels = <4>; 128 snps,dma-masters = <2>; 129 snps,data-width = <3>; 130 snps,block-size = <4096 4096 4096 4096>; 131 snps,priority = <0 1 2 3>; 132 snps,axi-max-burst-len = <16>; 133 }; 134