Commit d2363272 authored by Duje Mihanović's avatar Duje Mihanović Committed by Vinod Koul

dt-bindings: mmp-dma: convert to YAML

Convert the Marvell MMP DMA binding to YAML.

The TXT binding mentions that the controller may have one IRQ per DMA
channel. Examples of this were dropped in the YAML binding because of
dt_binding_check complaints (either too many interrupt cells or
interrupts) and the fact that this is not used in any of the in-tree
device trees.
Signed-off-by: default avatarDuje Mihanović <duje.mihanovic@skole.hr>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20240131-pxa-dma-yaml-v2-2-9611d0af0edc@skole.hrSigned-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 93bdff7b
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/dma/marvell,mmp-dma.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Marvell MMP DMA controller
maintainers:
- Duje Mihanović <duje.mihanovic@skole.hr>
description:
Marvell MMP SoCs may have two types of DMA controllers, peripheral and audio.
properties:
compatible:
enum:
- marvell,pdma-1.0
- marvell,adma-1.0
- marvell,pxa910-squ
reg:
maxItems: 1
interrupts:
description:
Interrupt lines for the controller, may be shared or one per DMA channel
minItems: 1
asram:
description:
A phandle to the SRAM pool
$ref: /schemas/types.yaml#/definitions/phandle
'#dma-channels':
deprecated: true
'#dma-requests':
deprecated: true
required:
- compatible
- reg
- interrupts
- '#dma-cells'
allOf:
- $ref: dma-controller.yaml#
- if:
properties:
compatible:
contains:
enum:
- marvell,pdma-1.0
then:
properties:
asram: false
else:
required:
- asram
unevaluatedProperties: false
examples:
- |
dma-controller@d4000000 {
compatible = "marvell,pdma-1.0";
reg = <0xd4000000 0x10000>;
interrupts = <47>;
#dma-cells = <2>;
dma-channels = <16>;
};
* MARVELL MMP DMA controller
Marvell Peripheral DMA Controller
Used platforms: pxa688, pxa910, pxa3xx, etc
Required properties:
- compatible: Should be "marvell,pdma-1.0"
- reg: Should contain DMA registers location and length.
- interrupts: Either contain all of the per-channel DMA interrupts
or one irq for pdma device
Optional properties:
- dma-channels: Number of DMA channels supported by the controller (defaults
to 32 when not specified)
- #dma-channels: deprecated
- dma-requests: Number of DMA requestor lines supported by the controller
(defaults to 32 when not specified)
- #dma-requests: deprecated
"marvell,pdma-1.0"
Used platforms: pxa25x, pxa27x, pxa3xx, pxa93x, pxa168, pxa910, pxa688.
Examples:
/*
* Each channel has specific irq
* ICU parse out irq channel from ICU register,
* while DMA controller may not able to distinguish the irq channel
* Using this method, interrupt-parent is required as demuxer
* For example, pxa688 icu register 0x128, bit 0~15 is PDMA channel irq,
* 18~21 is ADMA irq
*/
pdma: dma-controller@d4000000 {
compatible = "marvell,pdma-1.0";
reg = <0xd4000000 0x10000>;
interrupts = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15>;
interrupt-parent = <&intcmux32>;
dma-channels = <16>;
};
/*
* One irq for all channels
* Dmaengine driver (DMA controller) distinguish irq channel via
* parsing internal register
*/
pdma: dma-controller@d4000000 {
compatible = "marvell,pdma-1.0";
reg = <0xd4000000 0x10000>;
interrupts = <47>;
dma-channels = <16>;
};
Marvell Two Channel DMA Controller used specifically for audio
Used platforms: pxa688, pxa910
Required properties:
- compatible: Should be "marvell,adma-1.0" or "marvell,pxa910-squ"
- reg: Should contain DMA registers location and length.
- interrupts: Either contain all of the per-channel DMA interrupts
or one irq for dma device
"marvell,adma-1.0" used on pxa688
"marvell,pxa910-squ" used on pxa910
Examples:
/* each channel has specific irq */
adma0: dma-controller@d42a0800 {
compatible = "marvell,adma-1.0";
reg = <0xd42a0800 0x100>;
interrupts = <18 19>;
interrupt-parent = <&intcmux32>;
};
/* One irq for all channels */
squ: dma-controller@d42a0800 {
compatible = "marvell,pxa910-squ";
reg = <0xd42a0800 0x100>;
interrupts = <46>;
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment