dt-bindings: dma: Convert marvell,orion-xor to DT schema

Convert the Marvell Orion XOR engine binding to schema.

The "clocks" property is optional for some platforms (though not
distinguished by compatble). The child node names used are 'channel' or
'xor'.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20250703155912.1713518-1-robh@kernel.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
Rob Herring (Arm) 2025-07-03 10:59:10 -05:00 committed by Vinod Koul
parent ec896de28c
commit 245dd180ac
2 changed files with 84 additions and 40 deletions

View File

@ -0,0 +1,84 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/dma/marvell,orion-xor.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Marvell XOR engine
maintainers:
- Andrew Lunn <andrew@lunn.ch>
- Gregory Clement <gregory.clement@bootlin.com>
properties:
compatible:
oneOf:
- items:
- const: marvell,armada-380-xor
- const: marvell,orion-xor
- enum:
- marvell,armada-3700-xor
- marvell,orion-xor
reg:
items:
- description: Low registers for the XOR engine
- description: High registers for the XOR engine
clocks:
maxItems: 1
patternProperties:
"^(channel|xor)[0-9]+$":
description: XOR channel sub-node
type: object
additionalProperties: false
properties:
interrupts:
description: Interrupt specifier for the XOR channel
items:
- description: Interrupt for this channel
dmacap,memcpy:
type: boolean
deprecated: true
description:
Indicates that the XOR channel is capable of memcpy operations
dmacap,memset:
type: boolean
deprecated: true
description:
Indicates that the XOR channel is capable of memset operations
dmacap,xor:
type: boolean
deprecated: true
description:
Indicates that the XOR channel is capable of xor operations
required:
- interrupts
required:
- compatible
- reg
additionalProperties: false
examples:
- |
xor@d0060900 {
compatible = "marvell,orion-xor";
reg = <0xd0060900 0x100>,
<0xd0060b00 0x100>;
clocks = <&coreclk 0>;
xor00 {
interrupts = <51>;
};
xor01 {
interrupts = <52>;
};
};

View File

@ -1,40 +0,0 @@
* Marvell XOR engines
Required properties:
- compatible: Should be one of the following:
- "marvell,orion-xor"
- "marvell,armada-380-xor"
- "marvell,armada-3700-xor".
- reg: Should contain registers location and length (two sets)
the first set is the low registers, the second set the high
registers for the XOR engine.
- clocks: pointer to the reference clock
The DT node must also contains sub-nodes for each XOR channel that the
XOR engine has. Those sub-nodes have the following required
properties:
- interrupts: interrupt of the XOR channel
The sub-nodes used to contain one or several of the following
properties, but they are now deprecated:
- dmacap,memcpy to indicate that the XOR channel is capable of memcpy operations
- dmacap,memset to indicate that the XOR channel is capable of memset operations
- dmacap,xor to indicate that the XOR channel is capable of xor operations
- dmacap,interrupt to indicate that the XOR channel is capable of
generating interrupts
Example:
xor@d0060900 {
compatible = "marvell,orion-xor";
reg = <0xd0060900 0x100
0xd0060b00 0x100>;
clocks = <&coreclk 0>;
xor00 {
interrupts = <51>;
};
xor01 {
interrupts = <52>;
};
};