Skip to content

Commit 7a46b17

Browse files
committed
Merge tag 'dmaengine-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine
Pull dmaengine updates from Vinod Koul: "New support: - New dmaengine_prep_peripheral_dma_vec() to support transfers using dma vectors and documentation and user in AXI dma - STMicro STM32 DMA3 support and new capabilities of cyclic dma Updates: - Yaml conversion for Freescale imx dma and qdma bindings, sprd sc9860 dma binding - Altera msgdma updates for descriptor management" * tag 'dmaengine-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (35 commits) dt-bindings: fsl-qdma: fix interrupts 'if' check logic dt-bindings: dma: sprd,sc9860-dma: convert to YAML dmaengine: fsl-dpaa2-qdma: add missing MODULE_DESCRIPTION() macro dmaengine: ti: add missing MODULE_DESCRIPTION() macros dmaengine: ti: cppi41: add missing MODULE_DESCRIPTION() macro dmaengine: virt-dma: add missing MODULE_DESCRIPTION() macro dmaengine: ti: k3-udma: Fix BCHAN count with UHC and HC channels dmaengine: sh: rz-dmac: Fix lockdep assert warning dmaengine: qcom: gpi: clean up the IRQ disable/enable in gpi_reset_chan() dmaengine: fsl-edma: change the memory access from local into remote mode in i.MX 8QM dmaengine: qcom: gpi: remove unused struct 'reg_info' dmaengine: moxart-dma: remove unused struct 'moxart_filter_data' dt-bindings: fsl-qdma: Convert to yaml format dmaengine: fsl-edma: remove redundant "idle" field from fsl_chan dmaengine: fsl-edma: request per-channel IRQ only when channel is allocated dmaengine: stm32-dma3: defer channel registration to specify channel name dmaengine: add channel device name to channel registration dmaengine: stm32-dma3: improve residue granularity dmaengine: stm32-dma3: add device_pause and device_resume ops dmaengine: stm32-dma3: add DMA_MEMCPY capability ...
2 parents 7a3fad3 + b8ec9db commit 7a46b17

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+2492
-282
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/dma/fsl,imx-dma.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Freescale Direct Memory Access (DMA) Controller for i.MX
8+
9+
maintainers:
10+
- Animesh Agarwal <animeshagarwal28@gmail.com>
11+
12+
allOf:
13+
- $ref: dma-controller.yaml#
14+
15+
properties:
16+
compatible:
17+
enum:
18+
- fsl,imx1-dma
19+
- fsl,imx21-dma
20+
- fsl,imx27-dma
21+
22+
reg:
23+
maxItems: 1
24+
25+
interrupts:
26+
items:
27+
- description: DMA complete interrupt
28+
- description: DMA Error interrupt
29+
minItems: 1
30+
31+
"#dma-cells":
32+
const: 1
33+
34+
dma-channels:
35+
const: 16
36+
37+
dma-requests:
38+
description: Number of DMA requests supported.
39+
40+
required:
41+
- compatible
42+
- reg
43+
- interrupts
44+
- "#dma-cells"
45+
46+
additionalProperties: false
47+
48+
examples:
49+
- |
50+
dma-controller@10001000 {
51+
compatible = "fsl,imx27-dma";
52+
reg = <0x10001000 0x1000>;
53+
interrupts = <32 33>;
54+
#dma-cells = <1>;
55+
dma-channels = <16>;
56+
};

Documentation/devicetree/bindings/dma/fsl-imx-dma.txt

Lines changed: 0 additions & 50 deletions
This file was deleted.

Documentation/devicetree/bindings/dma/fsl-qdma.txt

Lines changed: 0 additions & 58 deletions
This file was deleted.
Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/dma/fsl-qdma.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: NXP Layerscape SoC qDMA Controller
8+
9+
maintainers:
10+
- Frank Li <Frank.Li@nxp.com>
11+
12+
properties:
13+
compatible:
14+
enum:
15+
- fsl,ls1021a-qdma
16+
- fsl,ls1028a-qdma
17+
- fsl,ls1043a-qdma
18+
- fsl,ls1046a-qdma
19+
20+
reg:
21+
items:
22+
- description: Controller regs
23+
- description: Status regs
24+
- description: Block regs
25+
26+
interrupts:
27+
minItems: 2
28+
maxItems: 5
29+
30+
interrupt-names:
31+
minItems: 2
32+
items:
33+
- const: qdma-error
34+
- const: qdma-queue0
35+
- const: qdma-queue1
36+
- const: qdma-queue2
37+
- const: qdma-queue3
38+
39+
dma-channels:
40+
minimum: 1
41+
maximum: 64
42+
43+
fsl,dma-queues:
44+
$ref: /schemas/types.yaml#/definitions/uint32
45+
description: Should contain number of queues supported.
46+
minimum: 1
47+
maximum: 4
48+
49+
block-number:
50+
$ref: /schemas/types.yaml#/definitions/uint32
51+
description: the virtual block number
52+
53+
block-offset:
54+
$ref: /schemas/types.yaml#/definitions/uint32
55+
description: the offset of different virtual block
56+
57+
status-sizes:
58+
$ref: /schemas/types.yaml#/definitions/uint32
59+
description: status queue size of per virtual block
60+
61+
queue-sizes:
62+
$ref: /schemas/types.yaml#/definitions/uint32-array
63+
description:
64+
command queue size of per virtual block, the size number
65+
based on queues
66+
67+
big-endian:
68+
$ref: /schemas/types.yaml#/definitions/flag
69+
description:
70+
If present registers and hardware scatter/gather descriptors
71+
of the qDMA are implemented in big endian mode, otherwise in little
72+
mode.
73+
74+
required:
75+
- compatible
76+
- reg
77+
- interrupts
78+
- interrupt-names
79+
- fsl,dma-queues
80+
- block-number
81+
- block-offset
82+
- status-sizes
83+
- queue-sizes
84+
85+
allOf:
86+
- $ref: dma-controller.yaml#
87+
- if:
88+
properties:
89+
compatible:
90+
contains:
91+
enum:
92+
- fsl,ls1028a-qdma
93+
- fsl,ls1043a-qdma
94+
- fsl,ls1046a-qdma
95+
then:
96+
properties:
97+
interrupts:
98+
minItems: 5
99+
interrupt-names:
100+
minItems: 5
101+
else:
102+
properties:
103+
interrupts:
104+
maxItems: 3
105+
interrupt-names:
106+
maxItems: 3
107+
108+
unevaluatedProperties: false
109+
110+
examples:
111+
- |
112+
#include <dt-bindings/interrupt-controller/arm-gic.h>
113+
114+
dma-controller@8390000 {
115+
compatible = "fsl,ls1021a-qdma";
116+
reg = <0x8388000 0x1000>, /* Controller regs */
117+
<0x8389000 0x1000>, /* Status regs */
118+
<0x838a000 0x2000>; /* Block regs */
119+
interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
120+
<GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
121+
<GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
122+
interrupt-names = "qdma-error", "qdma-queue0", "qdma-queue1";
123+
#dma-cells = <1>;
124+
dma-channels = <8>;
125+
block-number = <2>;
126+
block-offset = <0x1000>;
127+
status-sizes = <64>;
128+
queue-sizes = <64 64>;
129+
big-endian;
130+
fsl,dma-queues = <2>;
131+
};
132+
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/dma/sprd,sc9860-dma.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Spreadtrum SC9860 DMA controller
8+
9+
description: |
10+
There are three DMA controllers: AP DMA, AON DMA and AGCP DMA. For AGCP
11+
DMA controller, it can or do not request the IRQ, which will save
12+
system power without resuming system by DMA interrupts if AGCP DMA
13+
does not request the IRQ.
14+
15+
maintainers:
16+
- Orson Zhai <orsonzhai@gmail.com>
17+
- Baolin Wang <baolin.wang7@gmail.com>
18+
- Chunyan Zhang <zhang.lyra@gmail.com>
19+
20+
properties:
21+
compatible:
22+
const: sprd,sc9860-dma
23+
24+
reg:
25+
maxItems: 1
26+
27+
interrupts:
28+
maxItems: 1
29+
30+
clocks:
31+
minItems: 1
32+
items:
33+
- description: DMA enable clock
34+
- description: optional ashb_eb clock, only for the AGCP DMA controller
35+
36+
clock-names:
37+
minItems: 1
38+
items:
39+
- const: enable
40+
- const: ashb_eb
41+
42+
'#dma-cells':
43+
const: 1
44+
45+
dma-channels:
46+
const: 32
47+
48+
'#dma-channels':
49+
const: 32
50+
deprecated: true
51+
52+
required:
53+
- compatible
54+
- reg
55+
- clocks
56+
- clock-names
57+
- '#dma-cells'
58+
- dma-channels
59+
60+
allOf:
61+
- $ref: dma-controller.yaml#
62+
63+
unevaluatedProperties: false
64+
65+
examples:
66+
- |
67+
#include <dt-bindings/clock/sprd,sc9860-clk.h>
68+
#include <dt-bindings/interrupt-controller/arm-gic.h>
69+
#include <dt-bindings/interrupt-controller/irq.h>
70+
71+
/* AP DMA controller */
72+
dma-controller@20100000 {
73+
compatible = "sprd,sc9860-dma";
74+
reg = <0x20100000 0x4000>;
75+
interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
76+
clocks = <&apahb_gate CLK_DMA_EB>;
77+
clock-names = "enable";
78+
#dma-cells = <1>;
79+
dma-channels = <32>;
80+
};
81+
82+
/* AGCP DMA controller */
83+
dma-controller@41580000 {
84+
compatible = "sprd,sc9860-dma";
85+
reg = <0x41580000 0x4000>;
86+
clocks = <&agcp_gate CLK_AGCP_DMAAP_EB>,
87+
<&agcp_gate CLK_AGCP_AP_ASHB_EB>;
88+
clock-names = "enable", "ashb_eb";
89+
#dma-cells = <1>;
90+
dma-channels = <32>;
91+
};
92+
...

0 commit comments

Comments
 (0)