Based on kernel version 6.11
. Page generated on 2024-09-24 08:21 EST
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/dma/snps,dw-axi-dmac.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Synopsys DesignWare AXI DMA Controller maintainers: - Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> description: Synopsys DesignWare AXI DMA Controller DT Binding allOf: - $ref: dma-controller.yaml# properties: compatible: enum: - snps,axi-dma-1.01a - intel,kmb-axi-dma - starfive,jh7110-axi-dma - starfive,jh8100-axi-dma reg: minItems: 1 items: - description: Address range of the DMAC registers - description: Address range of the DMAC APB registers reg-names: items: - const: axidma_ctrl_regs - const: axidma_apb_regs interrupts: description: If the IP-core synthesis parameter DMAX_INTR_IO_TYPE is set to 1, this will be per-channel interrupts. Otherwise, this is a single combined IRQ for all channels. minItems: 1 maxItems: 8 clocks: items: - description: Bus Clock - description: Module Clock clock-names: items: - const: core-clk - const: cfgr-clk '#dma-cells': const: 1 dma-channels: minimum: 1 maximum: 8 resets: minItems: 1 maxItems: 2 snps,dma-masters: description: | Number of AXI masters supported by the hardware. $ref: /schemas/types.yaml#/definitions/uint32 enum: [1, 2] snps,data-width: description: | AXI data width supported by hardware. (0 - 8bits, 1 - 16bits, 2 - 32bits, ..., 6 - 512bits) $ref: /schemas/types.yaml#/definitions/uint32 enum: [0, 1, 2, 3, 4, 5, 6] snps,priority: description: | Channel priority specifier associated with the DMA channels. $ref: /schemas/types.yaml#/definitions/uint32-array minItems: 1 maxItems: 8 snps,block-size: description: | Channel block size specifier associated with the DMA channels. $ref: /schemas/types.yaml#/definitions/uint32-array minItems: 1 maxItems: 8 snps,axi-max-burst-len: description: | Restrict master AXI burst length by value specified in this property. If this property is missing the maximum AXI burst length supported by DMAC is used. $ref: /schemas/types.yaml#/definitions/uint32 minimum: 1 maximum: 256 required: - compatible - reg - clocks - clock-names - interrupts - '#dma-cells' - dma-channels - snps,dma-masters - snps,data-width - snps,priority - snps,block-size if: properties: compatible: contains: enum: - starfive,jh7110-axi-dma then: properties: resets: minItems: 2 items: - description: AXI reset line - description: AHB reset line - description: module reset else: properties: resets: maxItems: 1 additionalProperties: false examples: - | #include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/interrupt-controller/irq.h> /* example with snps,dw-axi-dmac */ dma-controller@80000 { compatible = "snps,axi-dma-1.01a"; reg = <0x80000 0x400>; clocks = <&core_clk>, <&cfgr_clk>; clock-names = "core-clk", "cfgr-clk"; interrupt-parent = <&intc>; interrupts = <27>; #dma-cells = <1>; dma-channels = <4>; snps,dma-masters = <2>; snps,data-width = <3>; snps,block-size = <4096 4096 4096 4096>; snps,priority = <0 1 2 3>; snps,axi-max-burst-len = <16>; }; |