mirror of
https://github.com/torvalds/linux.git
synced 2026-11-06 21:58:01 +01:00
dt-bindings: dma: ti,dma-crossbar: Convert to DT schema
Convert Texas Instruments DMA Crossbar from text to DT schema. Modify MAINTAINERS file to correctly point to new yaml file. Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com> Link: https://patch.msgid.link/20260825-ti-dma-crossbar-v4-1-b0bc78cf071e@gmail.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
parent
58a66a560a
commit
6ba190e3b2
|
|
@ -0,0 +1,94 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/dma/ti,dra7-dma-crossbar.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Texas Instruments DMA Crossbar (DMA request router)
|
||||
|
||||
maintainers:
|
||||
- Vignesh Raghavendra <vigneshr@ti.com>
|
||||
- Bhargav Joshi <j.bhargav.u@gmail.com>
|
||||
|
||||
description:
|
||||
When requesting channel via ti,dra7-dma-crossbar, the DMA client must request
|
||||
the DMA event number as crossbar ID (input to the DMA crossbar). For
|
||||
ti,am335x-edma-crossbar the meaning of parameters of dmas for clients dmas =
|
||||
<&edma_xbar 12 0 1>; where <12> is the DMA request number, <0> is the TC the
|
||||
event should be assigned and <1> is the mux selection for in the crossbar.
|
||||
When mux 0 is used the DMA channel can be requested directly from edma node.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- ti,dra7-dma-crossbar
|
||||
- ti,am335x-edma-crossbar
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
"#dma-cells":
|
||||
minimum: 1
|
||||
maximum: 3
|
||||
|
||||
dma-requests:
|
||||
minimum: 1
|
||||
maximum: 256
|
||||
|
||||
dma-masters:
|
||||
maxItems: 1
|
||||
|
||||
ti,dma-safe-map:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: Safe routing value for unused request lines
|
||||
|
||||
ti,reserved-dma-request-ranges:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-matrix
|
||||
description:
|
||||
DMA request ranges which should not be used when mapping xbar input to
|
||||
DMA request, they are either allocated to be used by for example the DSP
|
||||
or they are used as memcpy channels in eDMA.
|
||||
items:
|
||||
items:
|
||||
- description: starting DMA request line number
|
||||
- description: number of consecutive lines to reserve
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- "#dma-cells"
|
||||
- dma-requests
|
||||
- dma-masters
|
||||
|
||||
allOf:
|
||||
- $ref: dma-router.yaml#
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: ti,am335x-edma-crossbar
|
||||
then:
|
||||
properties:
|
||||
"#dma-cells":
|
||||
const: 3
|
||||
|
||||
else:
|
||||
properties:
|
||||
"#dma-cells":
|
||||
enum: [1, 2]
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
dma-router@4a002b78 {
|
||||
compatible = "ti,dra7-dma-crossbar";
|
||||
reg = <0x4a002b78 0xfc>;
|
||||
#dma-cells = <1>;
|
||||
dma-requests = <205>;
|
||||
ti,dma-safe-map = <0>;
|
||||
/* Protect the sDMA request ranges: 10-14 and 100-126 */
|
||||
ti,reserved-dma-request-ranges = <10 5>, <100 27>;
|
||||
dma-masters = <&sdma>;
|
||||
};
|
||||
|
|
@ -1,68 +0,0 @@
|
|||
Texas Instruments DMA Crossbar (DMA request router)
|
||||
|
||||
Required properties:
|
||||
- compatible: "ti,dra7-dma-crossbar" for DRA7xx DMA crossbar
|
||||
"ti,am335x-edma-crossbar" for AM335x and AM437x
|
||||
- reg: Memory map for accessing module
|
||||
- #dma-cells: Should be set to match with the DMA controller's dma-cells
|
||||
for ti,dra7-dma-crossbar and <3> for ti,am335x-edma-crossbar.
|
||||
- dma-requests: Number of DMA requests the crossbar can receive
|
||||
- dma-masters: phandle pointing to the DMA controller
|
||||
|
||||
The DMA controller node need to have the following poroperties:
|
||||
- dma-requests: Number of DMA requests the controller can handle
|
||||
|
||||
Optional properties:
|
||||
- ti,dma-safe-map: Safe routing value for unused request lines
|
||||
- ti,reserved-dma-request-ranges: DMA request ranges which should not be used
|
||||
when mapping xbar input to DMA request, they are either
|
||||
allocated to be used by for example the DSP or they are used as
|
||||
memcpy channels in eDMA.
|
||||
|
||||
Notes:
|
||||
When requesting channel via ti,dra7-dma-crossbar, the DMA client must request
|
||||
the DMA event number as crossbar ID (input to the DMA crossbar).
|
||||
|
||||
For ti,am335x-edma-crossbar: the meaning of parameters of dmas for clients:
|
||||
dmas = <&edma_xbar 12 0 1>; where <12> is the DMA request number, <0> is the TC
|
||||
the event should be assigned and <1> is the mux selection for in the crossbar.
|
||||
When mux 0 is used the DMA channel can be requested directly from edma node.
|
||||
|
||||
Example:
|
||||
|
||||
/* DMA controller */
|
||||
sdma: dma-controller@4a056000 {
|
||||
compatible = "ti,omap4430-sdma";
|
||||
reg = <0x4a056000 0x1000>;
|
||||
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <32>;
|
||||
dma-requests = <127>;
|
||||
};
|
||||
|
||||
/* DMA crossbar */
|
||||
sdma_xbar: dma-router@4a002b78 {
|
||||
compatible = "ti,dra7-dma-crossbar";
|
||||
reg = <0x4a002b78 0xfc>;
|
||||
#dma-cells = <1>;
|
||||
dma-requests = <205>;
|
||||
ti,dma-safe-map = <0>;
|
||||
/* Protect the sDMA request ranges: 10-14 and 100-126 */
|
||||
ti,reserved-dma-request-ranges = <10 5>, <100 27>;
|
||||
dma-masters = <&sdma>;
|
||||
};
|
||||
|
||||
/* DMA client */
|
||||
uart1: serial@4806a000 {
|
||||
compatible = "ti,omap4-uart";
|
||||
reg = <0x4806a000 0x100>;
|
||||
interrupts-extended = <&gic GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "uart1";
|
||||
clock-frequency = <48000000>;
|
||||
/* Requesting crossbar input 49 and 50 */
|
||||
dmas = <&sdma_xbar 49>, <&sdma_xbar 50>;
|
||||
dma-names = "tx", "rx";
|
||||
};
|
||||
|
|
@ -27019,7 +27019,7 @@ TEXAS INSTRUMENTS DMA DRIVERS
|
|||
M: Vignesh Raghavendra <vigneshr@ti.com>
|
||||
L: dmaengine@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/devicetree/bindings/dma/ti-dma-crossbar.txt
|
||||
F: Documentation/devicetree/bindings/dma/ti,dra7-dma-crossbar.yaml
|
||||
F: Documentation/devicetree/bindings/dma/ti-edma.txt
|
||||
F: Documentation/devicetree/bindings/dma/ti/
|
||||
F: drivers/dma/ti/
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user