mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 15:12:13 +02:00
dt-bindings: dma: sprd,sc9860-dma: convert to YAML
Convert the Spreadtrum SC9860 DMA bindings to DT schema. Changes during conversion: - rename file to match compatible - make interrupts optional, the AGCP DMA controller doesn't need it - describe the optional ashb_eb clock for the AGCP DMA controller Signed-off-by: Stanislav Jakubek <stano.jakubek@gmail.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://lore.kernel.org/r/Zob1+kGW1xeBKehA@standask-GA-A55M-S2HP Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
parent
316d1225b1
commit
5bcf62748f
92
Documentation/devicetree/bindings/dma/sprd,sc9860-dma.yaml
Normal file
92
Documentation/devicetree/bindings/dma/sprd,sc9860-dma.yaml
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/dma/sprd,sc9860-dma.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Spreadtrum SC9860 DMA controller
|
||||
|
||||
description: |
|
||||
There are three DMA controllers: AP DMA, AON DMA and AGCP DMA. For AGCP
|
||||
DMA controller, it can or do not request the IRQ, which will save
|
||||
system power without resuming system by DMA interrupts if AGCP DMA
|
||||
does not request the IRQ.
|
||||
|
||||
maintainers:
|
||||
- Orson Zhai <orsonzhai@gmail.com>
|
||||
- Baolin Wang <baolin.wang7@gmail.com>
|
||||
- Chunyan Zhang <zhang.lyra@gmail.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: sprd,sc9860-dma
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
minItems: 1
|
||||
items:
|
||||
- description: DMA enable clock
|
||||
- description: optional ashb_eb clock, only for the AGCP DMA controller
|
||||
|
||||
clock-names:
|
||||
minItems: 1
|
||||
items:
|
||||
- const: enable
|
||||
- const: ashb_eb
|
||||
|
||||
'#dma-cells':
|
||||
const: 1
|
||||
|
||||
dma-channels:
|
||||
const: 32
|
||||
|
||||
'#dma-channels':
|
||||
const: 32
|
||||
deprecated: true
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- clock-names
|
||||
- '#dma-cells'
|
||||
- dma-channels
|
||||
|
||||
allOf:
|
||||
- $ref: dma-controller.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/sprd,sc9860-clk.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
/* AP DMA controller */
|
||||
dma-controller@20100000 {
|
||||
compatible = "sprd,sc9860-dma";
|
||||
reg = <0x20100000 0x4000>;
|
||||
interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&apahb_gate CLK_DMA_EB>;
|
||||
clock-names = "enable";
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <32>;
|
||||
};
|
||||
|
||||
/* AGCP DMA controller */
|
||||
dma-controller@41580000 {
|
||||
compatible = "sprd,sc9860-dma";
|
||||
reg = <0x41580000 0x4000>;
|
||||
clocks = <&agcp_gate CLK_AGCP_DMAAP_EB>,
|
||||
<&agcp_gate CLK_AGCP_AP_ASHB_EB>;
|
||||
clock-names = "enable", "ashb_eb";
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <32>;
|
||||
};
|
||||
...
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
* Spreadtrum DMA controller
|
||||
|
||||
This binding follows the generic DMA bindings defined in dma.txt.
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "sprd,sc9860-dma".
|
||||
- reg: Should contain DMA registers location and length.
|
||||
- interrupts: Should contain one interrupt shared by all channel.
|
||||
- #dma-cells: must be <1>. Used to represent the number of integer
|
||||
cells in the dmas property of client device.
|
||||
- dma-channels : Number of DMA channels supported. Should be 32.
|
||||
- clock-names: Should contain the clock of the DMA controller.
|
||||
- clocks: Should contain a clock specifier for each entry in clock-names.
|
||||
|
||||
Deprecated properties:
|
||||
- #dma-channels : Number of DMA channels supported. Should be 32.
|
||||
|
||||
Example:
|
||||
|
||||
Controller:
|
||||
apdma: dma-controller@20100000 {
|
||||
compatible = "sprd,sc9860-dma";
|
||||
reg = <0x20100000 0x4000>;
|
||||
interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <32>;
|
||||
clock-names = "enable";
|
||||
clocks = <&clk_ap_ahb_gates 5>;
|
||||
};
|
||||
|
||||
|
||||
Client:
|
||||
DMA clients connected to the Spreadtrum DMA controller must use the format
|
||||
described in the dma.txt file, using a two-cell specifier for each channel.
|
||||
The two cells in order are:
|
||||
1. A phandle pointing to the DMA controller.
|
||||
2. The slave id.
|
||||
|
||||
spi0: spi@70a00000{
|
||||
...
|
||||
dma-names = "rx_chn", "tx_chn";
|
||||
dmas = <&apdma 11>, <&apdma 12>;
|
||||
...
|
||||
};
|
||||
Loading…
Reference in New Issue
Block a user