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,elo3-dma.yaml# 5*8ccc0d23SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*8ccc0d23SEmmanuel Vadot 7*8ccc0d23SEmmanuel Vadottitle: Freescale Elo3 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 DMA controller which has same function as EloPlus except that Elo3 has 8 14*8ccc0d23SEmmanuel Vadot channels while EloPlus has only 4, it is used in Freescale Txxx and Bxxx 15*8ccc0d23SEmmanuel Vadot series chips, such as t1040, t4240, b4860. 16*8ccc0d23SEmmanuel Vadot 17*8ccc0d23SEmmanuel Vadotproperties: 18*8ccc0d23SEmmanuel Vadot compatible: 19*8ccc0d23SEmmanuel Vadot const: fsl,elo3-dma 20*8ccc0d23SEmmanuel Vadot 21*8ccc0d23SEmmanuel Vadot reg: 22*8ccc0d23SEmmanuel Vadot items: 23*8ccc0d23SEmmanuel Vadot - description: 24*8ccc0d23SEmmanuel Vadot DMA General Status Registers starting from DGSR0, for channel 1~4 25*8ccc0d23SEmmanuel Vadot - description: 26*8ccc0d23SEmmanuel Vadot DMA General Status Registers starting from DGSR1, for channel 5~8 27*8ccc0d23SEmmanuel Vadot 28*8ccc0d23SEmmanuel Vadot ranges: true 29*8ccc0d23SEmmanuel Vadot 30*8ccc0d23SEmmanuel Vadot "#address-cells": 31*8ccc0d23SEmmanuel Vadot const: 1 32*8ccc0d23SEmmanuel Vadot 33*8ccc0d23SEmmanuel Vadot "#size-cells": 34*8ccc0d23SEmmanuel Vadot const: 1 35*8ccc0d23SEmmanuel Vadot 36*8ccc0d23SEmmanuel Vadot interrupts: 37*8ccc0d23SEmmanuel Vadot maxItems: 1 38*8ccc0d23SEmmanuel Vadot 39*8ccc0d23SEmmanuel VadotpatternProperties: 40*8ccc0d23SEmmanuel Vadot "^dma-channel@[0-9a-f]+$": 41*8ccc0d23SEmmanuel Vadot type: object 42*8ccc0d23SEmmanuel Vadot additionalProperties: false 43*8ccc0d23SEmmanuel Vadot 44*8ccc0d23SEmmanuel Vadot properties: 45*8ccc0d23SEmmanuel Vadot compatible: 46*8ccc0d23SEmmanuel Vadot enum: 47*8ccc0d23SEmmanuel Vadot # native DMA channel 48*8ccc0d23SEmmanuel Vadot - fsl,eloplus-dma-channel 49*8ccc0d23SEmmanuel Vadot 50*8ccc0d23SEmmanuel Vadot # audio DMA channel, see fsl,ssi.yaml 51*8ccc0d23SEmmanuel Vadot - fsl,ssi-dma-channel 52*8ccc0d23SEmmanuel Vadot 53*8ccc0d23SEmmanuel Vadot reg: 54*8ccc0d23SEmmanuel Vadot maxItems: 1 55*8ccc0d23SEmmanuel Vadot 56*8ccc0d23SEmmanuel Vadot interrupts: 57*8ccc0d23SEmmanuel Vadot maxItems: 1 58*8ccc0d23SEmmanuel Vadot description: 59*8ccc0d23SEmmanuel Vadot Per-channel interrupt. Only necessary if no controller interrupt has 60*8ccc0d23SEmmanuel Vadot been provided. 61*8ccc0d23SEmmanuel Vadot 62*8ccc0d23SEmmanuel VadotadditionalProperties: false 63*8ccc0d23SEmmanuel Vadot 64*8ccc0d23SEmmanuel Vadotexamples: 65*8ccc0d23SEmmanuel Vadot - | 66*8ccc0d23SEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 67*8ccc0d23SEmmanuel Vadot 68*8ccc0d23SEmmanuel Vadot dma@100300 { 69*8ccc0d23SEmmanuel Vadot compatible = "fsl,elo3-dma"; 70*8ccc0d23SEmmanuel Vadot reg = <0x100300 0x4>, 71*8ccc0d23SEmmanuel Vadot <0x100600 0x4>; 72*8ccc0d23SEmmanuel Vadot #address-cells = <1>; 73*8ccc0d23SEmmanuel Vadot #size-cells = <1>; 74*8ccc0d23SEmmanuel Vadot ranges = <0x0 0x100100 0x500>; 75*8ccc0d23SEmmanuel Vadot 76*8ccc0d23SEmmanuel Vadot dma-channel@0 { 77*8ccc0d23SEmmanuel Vadot compatible = "fsl,eloplus-dma-channel"; 78*8ccc0d23SEmmanuel Vadot reg = <0x0 0x80>; 79*8ccc0d23SEmmanuel Vadot interrupts = <28 IRQ_TYPE_EDGE_FALLING 0 0>; 80*8ccc0d23SEmmanuel Vadot }; 81*8ccc0d23SEmmanuel Vadot 82*8ccc0d23SEmmanuel Vadot dma-channel@80 { 83*8ccc0d23SEmmanuel Vadot compatible = "fsl,eloplus-dma-channel"; 84*8ccc0d23SEmmanuel Vadot reg = <0x80 0x80>; 85*8ccc0d23SEmmanuel Vadot interrupts = <29 IRQ_TYPE_EDGE_FALLING 0 0>; 86*8ccc0d23SEmmanuel Vadot }; 87*8ccc0d23SEmmanuel Vadot 88*8ccc0d23SEmmanuel Vadot dma-channel@100 { 89*8ccc0d23SEmmanuel Vadot compatible = "fsl,eloplus-dma-channel"; 90*8ccc0d23SEmmanuel Vadot reg = <0x100 0x80>; 91*8ccc0d23SEmmanuel Vadot interrupts = <30 IRQ_TYPE_EDGE_FALLING 0 0>; 92*8ccc0d23SEmmanuel Vadot }; 93*8ccc0d23SEmmanuel Vadot 94*8ccc0d23SEmmanuel Vadot dma-channel@180 { 95*8ccc0d23SEmmanuel Vadot compatible = "fsl,eloplus-dma-channel"; 96*8ccc0d23SEmmanuel Vadot reg = <0x180 0x80>; 97*8ccc0d23SEmmanuel Vadot interrupts = <31 IRQ_TYPE_EDGE_FALLING 0 0>; 98*8ccc0d23SEmmanuel Vadot }; 99*8ccc0d23SEmmanuel Vadot 100*8ccc0d23SEmmanuel Vadot dma-channel@300 { 101*8ccc0d23SEmmanuel Vadot compatible = "fsl,eloplus-dma-channel"; 102*8ccc0d23SEmmanuel Vadot reg = <0x300 0x80>; 103*8ccc0d23SEmmanuel Vadot interrupts = <76 IRQ_TYPE_EDGE_FALLING 0 0>; 104*8ccc0d23SEmmanuel Vadot }; 105*8ccc0d23SEmmanuel Vadot 106*8ccc0d23SEmmanuel Vadot dma-channel@380 { 107*8ccc0d23SEmmanuel Vadot compatible = "fsl,eloplus-dma-channel"; 108*8ccc0d23SEmmanuel Vadot reg = <0x380 0x80>; 109*8ccc0d23SEmmanuel Vadot interrupts = <77 IRQ_TYPE_EDGE_FALLING 0 0>; 110*8ccc0d23SEmmanuel Vadot }; 111*8ccc0d23SEmmanuel Vadot 112*8ccc0d23SEmmanuel Vadot dma-channel@400 { 113*8ccc0d23SEmmanuel Vadot compatible = "fsl,eloplus-dma-channel"; 114*8ccc0d23SEmmanuel Vadot reg = <0x400 0x80>; 115*8ccc0d23SEmmanuel Vadot interrupts = <78 IRQ_TYPE_EDGE_FALLING 0 0>; 116*8ccc0d23SEmmanuel Vadot }; 117*8ccc0d23SEmmanuel Vadot 118*8ccc0d23SEmmanuel Vadot dma-channel@480 { 119*8ccc0d23SEmmanuel Vadot compatible = "fsl,eloplus-dma-channel"; 120*8ccc0d23SEmmanuel Vadot reg = <0x480 0x80>; 121*8ccc0d23SEmmanuel Vadot interrupts = <79 IRQ_TYPE_EDGE_FALLING 0 0>; 122*8ccc0d23SEmmanuel Vadot }; 123*8ccc0d23SEmmanuel Vadot }; 124*8ccc0d23SEmmanuel Vadot 125*8ccc0d23SEmmanuel Vadot... 126