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