-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dt-bindings: dma: Add YAML schemas for dw-axi-dmac
YAML schemas Device Tree (DT) binding is the new format for DT to replace the old format. Introduce YAML schemas DT binding for dw-axi-dmac and remove the old version. Signed-off-by: Sia Jee Heng <jee.heng.sia@intel.com> Reviewed-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20210125013255.25799-2-jee.heng.sia@intel.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
- Loading branch information
Sia Jee Heng
authored and
Vinod Koul
committed
Feb 1, 2021
1 parent
a0f2a1c
commit 8c70fb7
Showing
2 changed files
with
121 additions
and
39 deletions.
There are no files selected for viewing
39 changes: 0 additions & 39 deletions
39
Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.txt
This file was deleted.
Oops, something went wrong.
121 changes: 121 additions & 0 deletions
121
Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,121 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/dma/snps,dw-axi-dmac.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Synopsys DesignWare AXI DMA Controller | ||
|
||
maintainers: | ||
- Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> | ||
|
||
description: | ||
Synopsys DesignWare AXI DMA Controller DT Binding | ||
|
||
allOf: | ||
- $ref: "dma-controller.yaml#" | ||
|
||
properties: | ||
compatible: | ||
enum: | ||
- snps,axi-dma-1.01a | ||
|
||
reg: | ||
items: | ||
- description: Address range of the DMAC registers | ||
|
||
reg-names: | ||
items: | ||
- const: axidma_ctrl_regs | ||
|
||
interrupts: | ||
maxItems: 1 | ||
|
||
clocks: | ||
items: | ||
- description: Bus Clock | ||
- description: Module Clock | ||
|
||
clock-names: | ||
items: | ||
- const: core-clk | ||
- const: cfgr-clk | ||
|
||
'#dma-cells': | ||
const: 1 | ||
|
||
dma-channels: | ||
minimum: 1 | ||
maximum: 8 | ||
|
||
snps,dma-masters: | ||
description: | | ||
Number of AXI masters supported by the hardware. | ||
$ref: /schemas/types.yaml#/definitions/uint32 | ||
enum: [1, 2] | ||
|
||
snps,data-width: | ||
description: | | ||
AXI data width supported by hardware. | ||
(0 - 8bits, 1 - 16bits, 2 - 32bits, ..., 6 - 512bits) | ||
$ref: /schemas/types.yaml#/definitions/uint32 | ||
enum: [0, 1, 2, 3, 4, 5, 6] | ||
|
||
snps,priority: | ||
description: | | ||
Channel priority specifier associated with the DMA channels. | ||
$ref: /schemas/types.yaml#/definitions/uint32-array | ||
minItems: 1 | ||
maxItems: 8 | ||
|
||
snps,block-size: | ||
description: | | ||
Channel block size specifier associated with the DMA channels. | ||
$ref: /schemas/types.yaml#/definitions/uint32-array | ||
minItems: 1 | ||
maxItems: 8 | ||
|
||
snps,axi-max-burst-len: | ||
description: | | ||
Restrict master AXI burst length by value specified in this property. | ||
If this property is missing the maximum AXI burst length supported by | ||
DMAC is used. | ||
$ref: /schemas/types.yaml#/definitions/uint32 | ||
minimum: 1 | ||
maximum: 256 | ||
|
||
required: | ||
- compatible | ||
- reg | ||
- clocks | ||
- clock-names | ||
- interrupts | ||
- '#dma-cells' | ||
- dma-channels | ||
- snps,dma-masters | ||
- snps,data-width | ||
- snps,priority | ||
- snps,block-size | ||
|
||
additionalProperties: false | ||
|
||
examples: | ||
- | | ||
#include <dt-bindings/interrupt-controller/arm-gic.h> | ||
#include <dt-bindings/interrupt-controller/irq.h> | ||
/* example with snps,dw-axi-dmac */ | ||
dmac: dma-controller@80000 { | ||
compatible = "snps,axi-dma-1.01a"; | ||
reg = <0x80000 0x400>; | ||
clocks = <&core_clk>, <&cfgr_clk>; | ||
clock-names = "core-clk", "cfgr-clk"; | ||
interrupt-parent = <&intc>; | ||
interrupts = <27>; | ||
#dma-cells = <1>; | ||
dma-channels = <4>; | ||
snps,dma-masters = <2>; | ||
snps,data-width = <3>; | ||
snps,block-size = <4096 4096 4096 4096>; | ||
snps,priority = <0 1 2 3>; | ||
snps,axi-max-burst-len = <16>; | ||
}; |