18c70fb7eSSia Jee Heng# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 28c70fb7eSSia Jee Heng%YAML 1.2 38c70fb7eSSia Jee Heng--- 48c70fb7eSSia Jee Heng$id: http://devicetree.org/schemas/dma/snps,dw-axi-dmac.yaml# 58c70fb7eSSia Jee Heng$schema: http://devicetree.org/meta-schemas/core.yaml# 68c70fb7eSSia Jee Heng 78c70fb7eSSia Jee Hengtitle: Synopsys DesignWare AXI DMA Controller 88c70fb7eSSia Jee Heng 98c70fb7eSSia Jee Hengmaintainers: 108c70fb7eSSia Jee Heng - Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> 118c70fb7eSSia Jee Heng 128c70fb7eSSia Jee Hengdescription: 138c70fb7eSSia Jee Heng Synopsys DesignWare AXI DMA Controller DT Binding 148c70fb7eSSia Jee Heng 158c70fb7eSSia Jee HengallOf: 1610cafa2dSKrzysztof Kozlowski - $ref: dma-controller.yaml# 178c70fb7eSSia Jee Heng 188c70fb7eSSia Jee Hengproperties: 198c70fb7eSSia Jee Heng compatible: 208c70fb7eSSia Jee Heng enum: 218c70fb7eSSia Jee Heng - snps,axi-dma-1.01a 220a35c9a0SSia Jee Heng - intel,kmb-axi-dma 23c9566127SWalker Chen - starfive,jh7110-axi-dma 249bcf929bSTan Chun Hau - starfive,jh8100-axi-dma 258c70fb7eSSia Jee Heng 268c70fb7eSSia Jee Heng reg: 270a35c9a0SSia Jee Heng minItems: 1 288c70fb7eSSia Jee Heng items: 298c70fb7eSSia Jee Heng - description: Address range of the DMAC registers 300a35c9a0SSia Jee Heng - description: Address range of the DMAC APB registers 318c70fb7eSSia Jee Heng 328c70fb7eSSia Jee Heng reg-names: 338c70fb7eSSia Jee Heng items: 348c70fb7eSSia Jee Heng - const: axidma_ctrl_regs 350a35c9a0SSia Jee Heng - const: axidma_apb_regs 368c70fb7eSSia Jee Heng 378c70fb7eSSia Jee Heng interrupts: 384ce653d7SConor Dooley description: 394ce653d7SConor Dooley If the IP-core synthesis parameter DMAX_INTR_IO_TYPE is set to 1, this 404ce653d7SConor Dooley will be per-channel interrupts. Otherwise, this is a single combined IRQ 414ce653d7SConor Dooley for all channels. 424ce653d7SConor Dooley minItems: 1 434ce653d7SConor Dooley maxItems: 8 448c70fb7eSSia Jee Heng 45*2c83769bSKhairul Anuar Romli iommus: 46*2c83769bSKhairul Anuar Romli maxItems: 1 47*2c83769bSKhairul Anuar Romli 488c70fb7eSSia Jee Heng clocks: 498c70fb7eSSia Jee Heng items: 508c70fb7eSSia Jee Heng - description: Bus Clock 518c70fb7eSSia Jee Heng - description: Module Clock 528c70fb7eSSia Jee Heng 538c70fb7eSSia Jee Heng clock-names: 548c70fb7eSSia Jee Heng items: 558c70fb7eSSia Jee Heng - const: core-clk 568c70fb7eSSia Jee Heng - const: cfgr-clk 578c70fb7eSSia Jee Heng 588c70fb7eSSia Jee Heng '#dma-cells': 598c70fb7eSSia Jee Heng const: 1 608c70fb7eSSia Jee Heng 618c70fb7eSSia Jee Heng dma-channels: 628c70fb7eSSia Jee Heng minimum: 1 638c70fb7eSSia Jee Heng maximum: 8 648c70fb7eSSia Jee Heng 656ec29d40SInochi Amaoto dma-noncoherent: true 666ec29d40SInochi Amaoto 670f93f204SGeert Uytterhoeven resets: 68c9566127SWalker Chen minItems: 1 69c9566127SWalker Chen maxItems: 2 700f93f204SGeert Uytterhoeven 718c70fb7eSSia Jee Heng snps,dma-masters: 728c70fb7eSSia Jee Heng description: | 738c70fb7eSSia Jee Heng Number of AXI masters supported by the hardware. 748c70fb7eSSia Jee Heng $ref: /schemas/types.yaml#/definitions/uint32 758c70fb7eSSia Jee Heng enum: [1, 2] 768c70fb7eSSia Jee Heng 778c70fb7eSSia Jee Heng snps,data-width: 788c70fb7eSSia Jee Heng description: | 798c70fb7eSSia Jee Heng AXI data width supported by hardware. 808c70fb7eSSia Jee Heng (0 - 8bits, 1 - 16bits, 2 - 32bits, ..., 6 - 512bits) 818c70fb7eSSia Jee Heng $ref: /schemas/types.yaml#/definitions/uint32 828c70fb7eSSia Jee Heng enum: [0, 1, 2, 3, 4, 5, 6] 838c70fb7eSSia Jee Heng 848c70fb7eSSia Jee Heng snps,priority: 858c70fb7eSSia Jee Heng description: | 868c70fb7eSSia Jee Heng Channel priority specifier associated with the DMA channels. 878c70fb7eSSia Jee Heng $ref: /schemas/types.yaml#/definitions/uint32-array 888c70fb7eSSia Jee Heng minItems: 1 898c70fb7eSSia Jee Heng maxItems: 8 908c70fb7eSSia Jee Heng 918c70fb7eSSia Jee Heng snps,block-size: 928c70fb7eSSia Jee Heng description: | 938c70fb7eSSia Jee Heng Channel block size specifier associated with the DMA channels. 948c70fb7eSSia Jee Heng $ref: /schemas/types.yaml#/definitions/uint32-array 958c70fb7eSSia Jee Heng minItems: 1 968c70fb7eSSia Jee Heng maxItems: 8 978c70fb7eSSia Jee Heng 988c70fb7eSSia Jee Heng snps,axi-max-burst-len: 998c70fb7eSSia Jee Heng description: | 1008c70fb7eSSia Jee Heng Restrict master AXI burst length by value specified in this property. 1018c70fb7eSSia Jee Heng If this property is missing the maximum AXI burst length supported by 1028c70fb7eSSia Jee Heng DMAC is used. 1038c70fb7eSSia Jee Heng $ref: /schemas/types.yaml#/definitions/uint32 1048c70fb7eSSia Jee Heng minimum: 1 1058c70fb7eSSia Jee Heng maximum: 256 1068c70fb7eSSia Jee Heng 1078c70fb7eSSia Jee Hengrequired: 1088c70fb7eSSia Jee Heng - compatible 1098c70fb7eSSia Jee Heng - reg 1108c70fb7eSSia Jee Heng - clocks 1118c70fb7eSSia Jee Heng - clock-names 1128c70fb7eSSia Jee Heng - interrupts 1138c70fb7eSSia Jee Heng - '#dma-cells' 1148c70fb7eSSia Jee Heng - dma-channels 1158c70fb7eSSia Jee Heng - snps,dma-masters 1168c70fb7eSSia Jee Heng - snps,data-width 1178c70fb7eSSia Jee Heng - snps,priority 1188c70fb7eSSia Jee Heng - snps,block-size 1198c70fb7eSSia Jee Heng 120c9566127SWalker Chenif: 121c9566127SWalker Chen properties: 122c9566127SWalker Chen compatible: 123c9566127SWalker Chen contains: 124c9566127SWalker Chen enum: 125c9566127SWalker Chen - starfive,jh7110-axi-dma 126c9566127SWalker Chenthen: 127c9566127SWalker Chen properties: 128c9566127SWalker Chen resets: 129c9566127SWalker Chen minItems: 2 130c9566127SWalker Chen items: 131c9566127SWalker Chen - description: AXI reset line 132c9566127SWalker Chen - description: AHB reset line 133c9566127SWalker Chen - description: module reset 134c9566127SWalker Chenelse: 135c9566127SWalker Chen properties: 136c9566127SWalker Chen resets: 137c9566127SWalker Chen maxItems: 1 138c9566127SWalker Chen 1398c70fb7eSSia Jee HengadditionalProperties: false 1408c70fb7eSSia Jee Heng 1418c70fb7eSSia Jee Hengexamples: 1428c70fb7eSSia Jee Heng - | 1438c70fb7eSSia Jee Heng #include <dt-bindings/interrupt-controller/arm-gic.h> 1448c70fb7eSSia Jee Heng #include <dt-bindings/interrupt-controller/irq.h> 1458c70fb7eSSia Jee Heng /* example with snps,dw-axi-dmac */ 146837b2fafSKrzysztof Kozlowski dma-controller@80000 { 1478c70fb7eSSia Jee Heng compatible = "snps,axi-dma-1.01a"; 1488c70fb7eSSia Jee Heng reg = <0x80000 0x400>; 1498c70fb7eSSia Jee Heng clocks = <&core_clk>, <&cfgr_clk>; 1508c70fb7eSSia Jee Heng clock-names = "core-clk", "cfgr-clk"; 1518c70fb7eSSia Jee Heng interrupt-parent = <&intc>; 1528c70fb7eSSia Jee Heng interrupts = <27>; 1538c70fb7eSSia Jee Heng #dma-cells = <1>; 1548c70fb7eSSia Jee Heng dma-channels = <4>; 1558c70fb7eSSia Jee Heng snps,dma-masters = <2>; 1568c70fb7eSSia Jee Heng snps,data-width = <3>; 1578c70fb7eSSia Jee Heng snps,block-size = <4096 4096 4096 4096>; 1588c70fb7eSSia Jee Heng snps,priority = <0 1 2 3>; 1598c70fb7eSSia Jee Heng snps,axi-max-burst-len = <16>; 1608c70fb7eSSia Jee Heng }; 161