1*2846c905SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*2846c905SEmmanuel Vadot%YAML 1.2 3*2846c905SEmmanuel Vadot--- 4*2846c905SEmmanuel Vadot$id: http://devicetree.org/schemas/dma/adi,axi-dmac.yaml# 5*2846c905SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*2846c905SEmmanuel Vadot 7*2846c905SEmmanuel Vadottitle: Analog Devices AXI-DMAC DMA controller 8*2846c905SEmmanuel Vadot 9*2846c905SEmmanuel Vadotdescription: | 10*2846c905SEmmanuel Vadot FPGA-based DMA controller designed for use with high-speed converter hardware. 11*2846c905SEmmanuel Vadot 12*2846c905SEmmanuel Vadot http://analogdevicesinc.github.io/hdl/library/axi_dmac/index.html 13*2846c905SEmmanuel Vadot 14*2846c905SEmmanuel Vadotmaintainers: 15*2846c905SEmmanuel Vadot - Nuno Sa <nuno.sa@analog.com> 16*2846c905SEmmanuel Vadot 17*2846c905SEmmanuel VadotadditionalProperties: false 18*2846c905SEmmanuel Vadot 19*2846c905SEmmanuel Vadotproperties: 20*2846c905SEmmanuel Vadot compatible: 21*2846c905SEmmanuel Vadot const: adi,axi-dmac-1.00.a 22*2846c905SEmmanuel Vadot 23*2846c905SEmmanuel Vadot reg: 24*2846c905SEmmanuel Vadot maxItems: 1 25*2846c905SEmmanuel Vadot 26*2846c905SEmmanuel Vadot interrupts: 27*2846c905SEmmanuel Vadot maxItems: 1 28*2846c905SEmmanuel Vadot 29*2846c905SEmmanuel Vadot clocks: 30*2846c905SEmmanuel Vadot maxItems: 1 31*2846c905SEmmanuel Vadot 32*2846c905SEmmanuel Vadot "#dma-cells": 33*2846c905SEmmanuel Vadot const: 1 34*2846c905SEmmanuel Vadot 35*2846c905SEmmanuel Vadot adi,channels: 36*2846c905SEmmanuel Vadot deprecated: true 37*2846c905SEmmanuel Vadot type: object 38*2846c905SEmmanuel Vadot description: 39*2846c905SEmmanuel Vadot This sub-node must contain a sub-node for each DMA channel. This node is 40*2846c905SEmmanuel Vadot only required for IP versions older than 4.3.a and should otherwise be 41*2846c905SEmmanuel Vadot omitted. 42*2846c905SEmmanuel Vadot additionalProperties: false 43*2846c905SEmmanuel Vadot 44*2846c905SEmmanuel Vadot properties: 45*2846c905SEmmanuel Vadot "#size-cells": 46*2846c905SEmmanuel Vadot const: 0 47*2846c905SEmmanuel Vadot "#address-cells": 48*2846c905SEmmanuel Vadot const: 1 49*2846c905SEmmanuel Vadot 50*2846c905SEmmanuel Vadot patternProperties: 51*2846c905SEmmanuel Vadot "^dma-channel@[0-9a-f]+$": 52*2846c905SEmmanuel Vadot type: object 53*2846c905SEmmanuel Vadot description: 54*2846c905SEmmanuel Vadot DMA channel properties based on HDL compile-time configuration. 55*2846c905SEmmanuel Vadot additionalProperties: false 56*2846c905SEmmanuel Vadot 57*2846c905SEmmanuel Vadot properties: 58*2846c905SEmmanuel Vadot reg: 59*2846c905SEmmanuel Vadot maxItems: 1 60*2846c905SEmmanuel Vadot 61*2846c905SEmmanuel Vadot adi,source-bus-width: 62*2846c905SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 63*2846c905SEmmanuel Vadot description: Width of the source bus in bits. 64*2846c905SEmmanuel Vadot enum: [8, 16, 32, 64, 128] 65*2846c905SEmmanuel Vadot 66*2846c905SEmmanuel Vadot adi,destination-bus-width: 67*2846c905SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 68*2846c905SEmmanuel Vadot description: Width of the destination bus in bits. 69*2846c905SEmmanuel Vadot enum: [8, 16, 32, 64, 128] 70*2846c905SEmmanuel Vadot 71*2846c905SEmmanuel Vadot adi,source-bus-type: 72*2846c905SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 73*2846c905SEmmanuel Vadot description: | 74*2846c905SEmmanuel Vadot Type of the source bus. 75*2846c905SEmmanuel Vadot 76*2846c905SEmmanuel Vadot 0: Memory mapped AXI interface 77*2846c905SEmmanuel Vadot 1: Streaming AXI interface 78*2846c905SEmmanuel Vadot 2: FIFO interface 79*2846c905SEmmanuel Vadot enum: [0, 1, 2] 80*2846c905SEmmanuel Vadot 81*2846c905SEmmanuel Vadot adi,destination-bus-type: 82*2846c905SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 83*2846c905SEmmanuel Vadot description: Type of the destination bus (see adi,source-bus-type). 84*2846c905SEmmanuel Vadot enum: [0, 1, 2] 85*2846c905SEmmanuel Vadot 86*2846c905SEmmanuel Vadot adi,length-width: 87*2846c905SEmmanuel Vadot deprecated: true 88*2846c905SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 89*2846c905SEmmanuel Vadot description: Width of the DMA transfer length register. 90*2846c905SEmmanuel Vadot 91*2846c905SEmmanuel Vadot adi,cyclic: 92*2846c905SEmmanuel Vadot deprecated: true 93*2846c905SEmmanuel Vadot type: boolean 94*2846c905SEmmanuel Vadot description: 95*2846c905SEmmanuel Vadot Must be set if the channel supports hardware cyclic DMA transfers. 96*2846c905SEmmanuel Vadot 97*2846c905SEmmanuel Vadot adi,2d: 98*2846c905SEmmanuel Vadot deprecated: true 99*2846c905SEmmanuel Vadot type: boolean 100*2846c905SEmmanuel Vadot description: 101*2846c905SEmmanuel Vadot Must be set if the channel supports hardware 2D DMA transfers. 102*2846c905SEmmanuel Vadot 103*2846c905SEmmanuel Vadot required: 104*2846c905SEmmanuel Vadot - reg 105*2846c905SEmmanuel Vadot - adi,source-bus-width 106*2846c905SEmmanuel Vadot - adi,destination-bus-width 107*2846c905SEmmanuel Vadot - adi,source-bus-type 108*2846c905SEmmanuel Vadot - adi,destination-bus-type 109*2846c905SEmmanuel Vadot 110*2846c905SEmmanuel Vadot required: 111*2846c905SEmmanuel Vadot - "#size-cells" 112*2846c905SEmmanuel Vadot - "#address-cells" 113*2846c905SEmmanuel Vadot 114*2846c905SEmmanuel Vadotrequired: 115*2846c905SEmmanuel Vadot - compatible 116*2846c905SEmmanuel Vadot - reg 117*2846c905SEmmanuel Vadot - interrupts 118*2846c905SEmmanuel Vadot - clocks 119*2846c905SEmmanuel Vadot - "#dma-cells" 120*2846c905SEmmanuel Vadot 121*2846c905SEmmanuel Vadotexamples: 122*2846c905SEmmanuel Vadot - | 123*2846c905SEmmanuel Vadot dma-controller@7c420000 { 124*2846c905SEmmanuel Vadot compatible = "adi,axi-dmac-1.00.a"; 125*2846c905SEmmanuel Vadot reg = <0x7c420000 0x10000>; 126*2846c905SEmmanuel Vadot interrupts = <0 57 0>; 127*2846c905SEmmanuel Vadot clocks = <&clkc 16>; 128*2846c905SEmmanuel Vadot #dma-cells = <1>; 129*2846c905SEmmanuel Vadot }; 130