162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/dma/snps,dw-axi-dmac.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Synopsys DesignWare AXI DMA Controller 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: 1362306a36Sopenharmony_ci Synopsys DesignWare AXI DMA Controller DT Binding 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciallOf: 1662306a36Sopenharmony_ci - $ref: dma-controller.yaml# 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciproperties: 1962306a36Sopenharmony_ci compatible: 2062306a36Sopenharmony_ci enum: 2162306a36Sopenharmony_ci - snps,axi-dma-1.01a 2262306a36Sopenharmony_ci - intel,kmb-axi-dma 2362306a36Sopenharmony_ci - starfive,jh7110-axi-dma 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci reg: 2662306a36Sopenharmony_ci minItems: 1 2762306a36Sopenharmony_ci items: 2862306a36Sopenharmony_ci - description: Address range of the DMAC registers 2962306a36Sopenharmony_ci - description: Address range of the DMAC APB registers 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci reg-names: 3262306a36Sopenharmony_ci items: 3362306a36Sopenharmony_ci - const: axidma_ctrl_regs 3462306a36Sopenharmony_ci - const: axidma_apb_regs 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci interrupts: 3762306a36Sopenharmony_ci description: 3862306a36Sopenharmony_ci If the IP-core synthesis parameter DMAX_INTR_IO_TYPE is set to 1, this 3962306a36Sopenharmony_ci will be per-channel interrupts. Otherwise, this is a single combined IRQ 4062306a36Sopenharmony_ci for all channels. 4162306a36Sopenharmony_ci minItems: 1 4262306a36Sopenharmony_ci maxItems: 8 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci clocks: 4562306a36Sopenharmony_ci items: 4662306a36Sopenharmony_ci - description: Bus Clock 4762306a36Sopenharmony_ci - description: Module Clock 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci clock-names: 5062306a36Sopenharmony_ci items: 5162306a36Sopenharmony_ci - const: core-clk 5262306a36Sopenharmony_ci - const: cfgr-clk 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci '#dma-cells': 5562306a36Sopenharmony_ci const: 1 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci dma-channels: 5862306a36Sopenharmony_ci minimum: 1 5962306a36Sopenharmony_ci maximum: 8 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci resets: 6262306a36Sopenharmony_ci minItems: 1 6362306a36Sopenharmony_ci maxItems: 2 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci snps,dma-masters: 6662306a36Sopenharmony_ci description: | 6762306a36Sopenharmony_ci Number of AXI masters supported by the hardware. 6862306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 6962306a36Sopenharmony_ci enum: [1, 2] 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci snps,data-width: 7262306a36Sopenharmony_ci description: | 7362306a36Sopenharmony_ci AXI data width supported by hardware. 7462306a36Sopenharmony_ci (0 - 8bits, 1 - 16bits, 2 - 32bits, ..., 6 - 512bits) 7562306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 7662306a36Sopenharmony_ci enum: [0, 1, 2, 3, 4, 5, 6] 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci snps,priority: 7962306a36Sopenharmony_ci description: | 8062306a36Sopenharmony_ci Channel priority specifier associated with the DMA channels. 8162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 8262306a36Sopenharmony_ci minItems: 1 8362306a36Sopenharmony_ci maxItems: 8 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci snps,block-size: 8662306a36Sopenharmony_ci description: | 8762306a36Sopenharmony_ci Channel block size specifier associated with the DMA channels. 8862306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 8962306a36Sopenharmony_ci minItems: 1 9062306a36Sopenharmony_ci maxItems: 8 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci snps,axi-max-burst-len: 9362306a36Sopenharmony_ci description: | 9462306a36Sopenharmony_ci Restrict master AXI burst length by value specified in this property. 9562306a36Sopenharmony_ci If this property is missing the maximum AXI burst length supported by 9662306a36Sopenharmony_ci DMAC is used. 9762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 9862306a36Sopenharmony_ci minimum: 1 9962306a36Sopenharmony_ci maximum: 256 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_cirequired: 10262306a36Sopenharmony_ci - compatible 10362306a36Sopenharmony_ci - reg 10462306a36Sopenharmony_ci - clocks 10562306a36Sopenharmony_ci - clock-names 10662306a36Sopenharmony_ci - interrupts 10762306a36Sopenharmony_ci - '#dma-cells' 10862306a36Sopenharmony_ci - dma-channels 10962306a36Sopenharmony_ci - snps,dma-masters 11062306a36Sopenharmony_ci - snps,data-width 11162306a36Sopenharmony_ci - snps,priority 11262306a36Sopenharmony_ci - snps,block-size 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ciif: 11562306a36Sopenharmony_ci properties: 11662306a36Sopenharmony_ci compatible: 11762306a36Sopenharmony_ci contains: 11862306a36Sopenharmony_ci enum: 11962306a36Sopenharmony_ci - starfive,jh7110-axi-dma 12062306a36Sopenharmony_cithen: 12162306a36Sopenharmony_ci properties: 12262306a36Sopenharmony_ci resets: 12362306a36Sopenharmony_ci minItems: 2 12462306a36Sopenharmony_ci items: 12562306a36Sopenharmony_ci - description: AXI reset line 12662306a36Sopenharmony_ci - description: AHB reset line 12762306a36Sopenharmony_ci - description: module reset 12862306a36Sopenharmony_cielse: 12962306a36Sopenharmony_ci properties: 13062306a36Sopenharmony_ci resets: 13162306a36Sopenharmony_ci maxItems: 1 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ciadditionalProperties: false 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ciexamples: 13662306a36Sopenharmony_ci - | 13762306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 13862306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 13962306a36Sopenharmony_ci /* example with snps,dw-axi-dmac */ 14062306a36Sopenharmony_ci dma-controller@80000 { 14162306a36Sopenharmony_ci compatible = "snps,axi-dma-1.01a"; 14262306a36Sopenharmony_ci reg = <0x80000 0x400>; 14362306a36Sopenharmony_ci clocks = <&core_clk>, <&cfgr_clk>; 14462306a36Sopenharmony_ci clock-names = "core-clk", "cfgr-clk"; 14562306a36Sopenharmony_ci interrupt-parent = <&intc>; 14662306a36Sopenharmony_ci interrupts = <27>; 14762306a36Sopenharmony_ci #dma-cells = <1>; 14862306a36Sopenharmony_ci dma-channels = <4>; 14962306a36Sopenharmony_ci snps,dma-masters = <2>; 15062306a36Sopenharmony_ci snps,data-width = <3>; 15162306a36Sopenharmony_ci snps,block-size = <4096 4096 4096 4096>; 15262306a36Sopenharmony_ci snps,priority = <0 1 2 3>; 15362306a36Sopenharmony_ci snps,axi-max-burst-len = <16>; 15462306a36Sopenharmony_ci }; 155