Skip to content

Commit

Permalink
Merge tag 'dmaengine-6.14-rc1' of git://git.kernel.org/pub/scm/linux/…
Browse files Browse the repository at this point in the history
…kernel/git/vkoul/dmaengine

Pull dmaengine updates from Vinod Koul:
 "A bunch of new device support and updates to few drivers, biggest of
  them amd ones.

  New support:
   - TI J722S CSI BCDMA controller support
   - Intel idxd Panther Lake family platforms
   - Allwinner F1C100s suniv DMA
   - Qualcomm QCS615, QCS8300, SM8750, SA8775P GPI dma controller support
   - AMD ae4dma controller support and reorganisation of amd driver

  Updates:
   - Channel page support for Nvidia Tegra210 adma driver
   - Freescale support for S32G based platforms
   - Yamilfy atmel dma bindings"

* tag 'dmaengine-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (45 commits)
  dmaengine: idxd: Enable Function Level Reset (FLR) for halt
  dmaengine: idxd: Refactor halt handler
  dmaengine: idxd: Add idxd_device_config_save() and idxd_device_config_restore() helpers
  dmaengine: idxd: Binding and unbinding IDXD device and driver
  dmaengine: idxd: Add idxd_pci_probe_alloc() helper
  dt-bindings: dma: atmel: Convert to json schema
  dt-bindings: dma: st-stm32-dmamux: Add description for dma-cell values
  dmaengine: qcom: gpi: Add GPI immediate DMA support for SPI protocol
  dt-bindings: dma: adi,axi-dmac: deprecate adi,channels node
  dt-bindings: dma: adi,axi-dmac: convert to yaml schema
  dmaengine: mv_xor: switch to for_each_child_of_node_scoped()
  dmaengine: bcm2835-dma: Prevent suspend if DMA channel is busy
  dmaengine: tegra210-adma: Support channel page
  dt-bindings: dma: Support channel page to nvidia,tegra210-adma
  dmaengine: ti: k3-udma: Add support for J722S CSI BCDMA
  dt-bindings: dma: ti: k3-bcdma: Add J722S CSI BCDMA
  dmaengine: ti: edma: fix OF node reference leaks in edma_driver
  dmaengine: ti: edma: make the loop condition simpler in edma_probe()
  dmaengine: fsl-edma: read/write multiple registers in cyclic transactions
  dmaengine: fsl-edma: add support for S32G based platforms
  ...
  • Loading branch information
Linus Torvalds committed Jan 29, 2025
2 parents ebbb8be + 98d187a commit 7c775c6
Show file tree
Hide file tree
Showing 47 changed files with 2,061 additions and 377 deletions.
61 changes: 0 additions & 61 deletions Documentation/devicetree/bindings/dma/adi,axi-dmac.txt

This file was deleted.

129 changes: 129 additions & 0 deletions Documentation/devicetree/bindings/dma/adi,axi-dmac.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/dma/adi,axi-dmac.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices AXI-DMAC DMA controller

description: |
FPGA-based DMA controller designed for use with high-speed converter hardware.
http://analogdevicesinc.github.io/hdl/library/axi_dmac/index.html
maintainers:
- Nuno Sa <nuno.sa@analog.com>

additionalProperties: false

properties:
compatible:
const: adi,axi-dmac-1.00.a

reg:
maxItems: 1

interrupts:
maxItems: 1

clocks:
maxItems: 1

"#dma-cells":
const: 1

adi,channels:
deprecated: true
type: object
description:
This sub-node must contain a sub-node for each DMA channel. This node is
only required for IP versions older than 4.3.a and should otherwise be
omitted.
additionalProperties: false

properties:
"#size-cells":
const: 0
"#address-cells":
const: 1

patternProperties:
"^dma-channel@[0-9a-f]+$":
type: object
description:
DMA channel properties based on HDL compile-time configuration.
additionalProperties: false

properties:
reg:
maxItems: 1

adi,source-bus-width:
$ref: /schemas/types.yaml#/definitions/uint32
description: Width of the source bus in bits.
enum: [8, 16, 32, 64, 128]

adi,destination-bus-width:
$ref: /schemas/types.yaml#/definitions/uint32
description: Width of the destination bus in bits.
enum: [8, 16, 32, 64, 128]

adi,source-bus-type:
$ref: /schemas/types.yaml#/definitions/uint32
description: |
Type of the source bus.
0: Memory mapped AXI interface
1: Streaming AXI interface
2: FIFO interface
enum: [0, 1, 2]

adi,destination-bus-type:
$ref: /schemas/types.yaml#/definitions/uint32
description: Type of the destination bus (see adi,source-bus-type).
enum: [0, 1, 2]

adi,length-width:
deprecated: true
$ref: /schemas/types.yaml#/definitions/uint32
description: Width of the DMA transfer length register.

adi,cyclic:
deprecated: true
type: boolean
description:
Must be set if the channel supports hardware cyclic DMA transfers.

adi,2d:
deprecated: true
type: boolean
description:
Must be set if the channel supports hardware 2D DMA transfers.

required:
- reg
- adi,source-bus-width
- adi,destination-bus-width
- adi,source-bus-type
- adi,destination-bus-type

required:
- "#size-cells"
- "#address-cells"

required:
- compatible
- reg
- interrupts
- clocks
- "#dma-cells"

examples:
- |
dma-controller@7c420000 {
compatible = "adi,axi-dmac-1.00.a";
reg = <0x7c420000 0x10000>;
interrupts = <0 57 0>;
clocks = <&clkc 16>;
#dma-cells = <1>;
};
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@ properties:
number.

compatible:
const: allwinner,sun4i-a10-dma
enum:
- allwinner,sun4i-a10-dma
- allwinner,suniv-f1c100s-dma

reg:
maxItems: 1
Expand Down
79 changes: 79 additions & 0 deletions Documentation/devicetree/bindings/dma/atmel,sama5d4-dma.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/dma/atmel,sama5d4-dma.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Microchip AT91 Extensible Direct Memory Access Controller

maintainers:
- Nicolas Ferre <nicolas.ferre@microchip.com>
- Charan Pedumuru <charan.pedumuru@microchip.com>

description:
The DMA Controller (XDMAC) is a AHB-protocol central direct memory access
controller. It performs peripheral data transfer and memory move operations
over one or two bus ports through the unidirectional communication
channel. Each channel is fully programmable and provides both peripheral
or memory-to-memory transfers. The channel features are configurable at
implementation.

allOf:
- $ref: dma-controller.yaml#

properties:
compatible:
oneOf:
- enum:
- atmel,sama5d4-dma
- microchip,sama7g5-dma
- items:
- enum:
- microchip,sam9x60-dma
- microchip,sam9x7-dma
- const: atmel,sama5d4-dma

"#dma-cells":
description: |
Represents the number of integer cells in the `dmas` property of client
devices. The single cell specifies the channel configuration register:
- bit 13: SIF (Source Interface Identifier) for memory interface.
- bit 14: DIF (Destination Interface Identifier) for peripheral interface.
- bit 30-24: PERID (Peripheral Identifier).
const: 1

reg:
maxItems: 1

interrupts:
maxItems: 1

clocks:
maxItems: 1

clock-names:
const: dma_clk

required:
- compatible
- reg
- interrupts
- clocks
- clock-names
- "#dma-cells"

unevaluatedProperties: false

examples:
- |
#include <dt-bindings/clock/at91.h>
#include <dt-bindings/dma/at91.h>
#include <dt-bindings/interrupt-controller/irq.h>
dma-controller@f0008000 {
compatible = "atmel,sama5d4-dma";
reg = <0xf0008000 0x1000>;
interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0>;
#dma-cells = <1>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
clock-names = "dma_clk";
};
54 changes: 0 additions & 54 deletions Documentation/devicetree/bindings/dma/atmel-xdma.txt

This file was deleted.

34 changes: 34 additions & 0 deletions Documentation/devicetree/bindings/dma/fsl,edma.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,13 @@ properties:
- fsl,imx93-edma3
- fsl,imx93-edma4
- fsl,imx95-edma5
- nxp,s32g2-edma
- items:
- const: fsl,ls1028a-edma
- const: fsl,vf610-edma
- items:
- const: nxp,s32g3-edma
- const: nxp,s32g2-edma

reg:
minItems: 1
Expand Down Expand Up @@ -221,6 +225,36 @@ allOf:
properties:
power-domains: false

- if:
properties:
compatible:
contains:
const: nxp,s32g2-edma
then:
properties:
clocks:
minItems: 2
maxItems: 2
clock-names:
items:
- const: dmamux0
- const: dmamux1
interrupts:
minItems: 3
maxItems: 3
interrupt-names:
items:
- const: tx-0-15
- const: tx-16-31
- const: err
reg:
minItems: 3
maxItems: 3
"#dma-cells":
const: 2
dma-channels:
const: 32

unevaluatedProperties: false

examples:
Expand Down
Loading

0 comments on commit 7c775c6

Please sign in to comment.