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