| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/dma/adi,axi-dmac.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Analog Devices AXI-DMAC DMA controller |
| |
| description: | |
| FPGA-based DMA controller designed for use with high-speed converter hardware. |
| |
| http://analogdevicesinc.github.io/hdl/library/axi_dmac/index.html |
| |
| maintainers: |
| - Nuno Sa <nuno.sa@analog.com> |
| |
| additionalProperties: false |
| |
| properties: |
| compatible: |
| const: adi,axi-dmac-1.00.a |
| |
| reg: |
| maxItems: 1 |
| |
| interrupts: |
| maxItems: 1 |
| |
| clocks: |
| maxItems: 1 |
| |
| "#dma-cells": |
| const: 1 |
| |
| adi,channels: |
| deprecated: true |
| type: object |
| description: |
| This sub-node must contain a sub-node for each DMA channel. This node is |
| only required for IP versions older than 4.3.a and should otherwise be |
| omitted. |
| additionalProperties: false |
| |
| properties: |
| "#size-cells": |
| const: 0 |
| "#address-cells": |
| const: 1 |
| |
| patternProperties: |
| "^dma-channel@[0-9a-f]+$": |
| type: object |
| description: |
| DMA channel properties based on HDL compile-time configuration. |
| additionalProperties: false |
| |
| properties: |
| reg: |
| maxItems: 1 |
| |
| adi,source-bus-width: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: Width of the source bus in bits. |
| enum: [8, 16, 32, 64, 128] |
| |
| adi,destination-bus-width: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: Width of the destination bus in bits. |
| enum: [8, 16, 32, 64, 128] |
| |
| adi,source-bus-type: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: | |
| Type of the source bus. |
| |
| 0: Memory mapped AXI interface |
| 1: Streaming AXI interface |
| 2: FIFO interface |
| enum: [0, 1, 2] |
| |
| adi,destination-bus-type: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: Type of the destination bus (see adi,source-bus-type). |
| enum: [0, 1, 2] |
| |
| adi,length-width: |
| deprecated: true |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: Width of the DMA transfer length register. |
| |
| adi,cyclic: |
| deprecated: true |
| type: boolean |
| description: |
| Must be set if the channel supports hardware cyclic DMA transfers. |
| |
| adi,2d: |
| deprecated: true |
| type: boolean |
| description: |
| Must be set if the channel supports hardware 2D DMA transfers. |
| |
| required: |
| - reg |
| - adi,source-bus-width |
| - adi,destination-bus-width |
| - adi,source-bus-type |
| - adi,destination-bus-type |
| |
| required: |
| - "#size-cells" |
| - "#address-cells" |
| |
| required: |
| - compatible |
| - reg |
| - interrupts |
| - clocks |
| - "#dma-cells" |
| |
| examples: |
| - | |
| dma-controller@7c420000 { |
| compatible = "adi,axi-dmac-1.00.a"; |
| reg = <0x7c420000 0x10000>; |
| interrupts = <0 57 0>; |
| clocks = <&clkc 16>; |
| #dma-cells = <1>; |
| }; |