Skip to content

Commit 788726f

Browse files
dlechvinodkoul
authored andcommitted
dt-bindings: dma: adi,axi-dmac: convert to yaml schema
Convert the AXI DMAC bindings from .txt to .yaml. Acked-by: Nuno Sa <nuno.sa@analog.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: David Lechner <dlechner@baylibre.com> Link: https://lore.kernel.org/r/20241216-axi-dma-dt-yaml-v3-1-7b994710c43f@baylibre.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
1 parent 9f6caa3 commit 788726f

File tree

2 files changed

+139
-61
lines changed

2 files changed

+139
-61
lines changed

Documentation/devicetree/bindings/dma/adi,axi-dmac.txt

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

0 commit comments

Comments
 (0)