1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/dma/fsl,eloplus-dma.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Freescale EloPlus DMA Controller 8 9maintainers: 10 - J. Neuschäfer <j.ne@posteo.net> 11 12description: 13 This is a 4-channel DMA controller with extended addresses and chaining, 14 mainly used in Freescale mpc85xx/86xx, Pxxx and BSC series chips, such as 15 mpc8540, mpc8641 p4080, bsc9131 etc. 16 17properties: 18 compatible: 19 oneOf: 20 - items: 21 - enum: 22 - fsl,mpc8540-dma 23 - fsl,mpc8541-dma 24 - fsl,mpc8548-dma 25 - fsl,mpc8555-dma 26 - fsl,mpc8560-dma 27 - fsl,mpc8572-dma 28 - fsl,mpc8641-dma 29 - const: fsl,eloplus-dma 30 - const: fsl,eloplus-dma 31 32 reg: 33 items: 34 - description: 35 DMA General Status Register, i.e. DGSR which contains 36 status for all the 4 DMA channels 37 38 cell-index: 39 $ref: /schemas/types.yaml#/definitions/uint32 40 description: 41 controller index. 0 for controller @ 0x21000, 1 for controller @ 0xc000 42 43 ranges: true 44 45 "#address-cells": 46 const: 1 47 48 "#size-cells": 49 const: 1 50 51 interrupts: 52 maxItems: 1 53 description: Controller interrupt. 54 55patternProperties: 56 "^dma-channel@[0-9a-f]+$": 57 type: object 58 additionalProperties: false 59 60 properties: 61 compatible: 62 oneOf: 63 # native DMA channel 64 - items: 65 - enum: 66 - fsl,mpc8540-dma-channel 67 - fsl,mpc8541-dma-channel 68 - fsl,mpc8548-dma-channel 69 - fsl,mpc8555-dma-channel 70 - fsl,mpc8560-dma-channel 71 - fsl,mpc8572-dma-channel 72 - const: fsl,eloplus-dma-channel 73 74 # audio DMA channel, see fsl,ssi.yaml 75 - const: fsl,ssi-dma-channel 76 77 reg: 78 maxItems: 1 79 80 cell-index: 81 description: DMA channel index starts at 0. 82 83 interrupts: 84 maxItems: 1 85 description: 86 Per-channel interrupt. Only necessary if no controller interrupt has 87 been provided. 88 89additionalProperties: false 90 91examples: 92 - | 93 #include <dt-bindings/interrupt-controller/irq.h> 94 95 dma@21300 { 96 compatible = "fsl,mpc8540-dma", "fsl,eloplus-dma"; 97 reg = <0x21300 4>; 98 #address-cells = <1>; 99 #size-cells = <1>; 100 ranges = <0 0x21100 0x200>; 101 cell-index = <0>; 102 103 dma-channel@0 { 104 compatible = "fsl,mpc8540-dma-channel", "fsl,eloplus-dma-channel"; 105 reg = <0 0x80>; 106 cell-index = <0>; 107 interrupts = <20 IRQ_TYPE_EDGE_FALLING>; 108 }; 109 110 dma-channel@80 { 111 compatible = "fsl,mpc8540-dma-channel", "fsl,eloplus-dma-channel"; 112 reg = <0x80 0x80>; 113 cell-index = <1>; 114 interrupts = <21 IRQ_TYPE_EDGE_FALLING>; 115 }; 116 117 dma-channel@100 { 118 compatible = "fsl,mpc8540-dma-channel", "fsl,eloplus-dma-channel"; 119 reg = <0x100 0x80>; 120 cell-index = <2>; 121 interrupts = <22 IRQ_TYPE_EDGE_FALLING>; 122 }; 123 124 dma-channel@180 { 125 compatible = "fsl,mpc8540-dma-channel", "fsl,eloplus-dma-channel"; 126 reg = <0x180 0x80>; 127 cell-index = <3>; 128 interrupts = <23 IRQ_TYPE_EDGE_FALLING>; 129 }; 130 }; 131 132... 133