# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/dma/fsl,eloplus-dma.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Freescale EloPlus DMA Controller maintainers: - J. Neuschäfer description: This is a 4-channel DMA controller with extended addresses and chaining, mainly used in Freescale mpc85xx/86xx, Pxxx and BSC series chips, such as mpc8540, mpc8641 p4080, bsc9131 etc. properties: compatible: oneOf: - items: - enum: - fsl,mpc8540-dma - fsl,mpc8541-dma - fsl,mpc8548-dma - fsl,mpc8555-dma - fsl,mpc8560-dma - fsl,mpc8572-dma - fsl,mpc8641-dma - const: fsl,eloplus-dma - const: fsl,eloplus-dma reg: items: - description: DMA General Status Register, i.e. DGSR which contains status for all the 4 DMA channels cell-index: $ref: /schemas/types.yaml#/definitions/uint32 description: controller index. 0 for controller @ 0x21000, 1 for controller @ 0xc000 ranges: true "#address-cells": const: 1 "#size-cells": const: 1 interrupts: maxItems: 1 description: Controller interrupt. patternProperties: "^dma-channel@[0-9a-f]+$": type: object additionalProperties: false properties: compatible: oneOf: # native DMA channel - items: - enum: - fsl,mpc8540-dma-channel - fsl,mpc8541-dma-channel - fsl,mpc8548-dma-channel - fsl,mpc8555-dma-channel - fsl,mpc8560-dma-channel - fsl,mpc8572-dma-channel - const: fsl,eloplus-dma-channel # audio DMA channel, see fsl,ssi.yaml - const: fsl,ssi-dma-channel reg: maxItems: 1 cell-index: description: DMA channel index starts at 0. interrupts: maxItems: 1 description: Per-channel interrupt. Only necessary if no controller interrupt has been provided. additionalProperties: false examples: - | #include dma@21300 { compatible = "fsl,mpc8540-dma", "fsl,eloplus-dma"; reg = <0x21300 4>; #address-cells = <1>; #size-cells = <1>; ranges = <0 0x21100 0x200>; cell-index = <0>; dma-channel@0 { compatible = "fsl,mpc8540-dma-channel", "fsl,eloplus-dma-channel"; reg = <0 0x80>; cell-index = <0>; interrupts = <20 IRQ_TYPE_EDGE_FALLING>; }; dma-channel@80 { compatible = "fsl,mpc8540-dma-channel", "fsl,eloplus-dma-channel"; reg = <0x80 0x80>; cell-index = <1>; interrupts = <21 IRQ_TYPE_EDGE_FALLING>; }; dma-channel@100 { compatible = "fsl,mpc8540-dma-channel", "fsl,eloplus-dma-channel"; reg = <0x100 0x80>; cell-index = <2>; interrupts = <22 IRQ_TYPE_EDGE_FALLING>; }; dma-channel@180 { compatible = "fsl,mpc8540-dma-channel", "fsl,eloplus-dma-channel"; reg = <0x180 0x80>; cell-index = <3>; interrupts = <23 IRQ_TYPE_EDGE_FALLING>; }; }; ...