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,elo-dma.yaml# 5*8ccc0d23SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*8ccc0d23SEmmanuel Vadot 7*8ccc0d23SEmmanuel Vadottitle: Freescale Elo 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 little-endian 4-channel DMA controller, used in Freescale mpc83xx 14*8ccc0d23SEmmanuel Vadot series chips such as mpc8315, mpc8349, mpc8379 etc. 15*8ccc0d23SEmmanuel Vadot 16*8ccc0d23SEmmanuel Vadotproperties: 17*8ccc0d23SEmmanuel Vadot compatible: 18*8ccc0d23SEmmanuel Vadot items: 19*8ccc0d23SEmmanuel Vadot - enum: 20*8ccc0d23SEmmanuel Vadot - fsl,mpc8313-dma 21*8ccc0d23SEmmanuel Vadot - fsl,mpc8315-dma 22*8ccc0d23SEmmanuel Vadot - fsl,mpc8323-dma 23*8ccc0d23SEmmanuel Vadot - fsl,mpc8347-dma 24*8ccc0d23SEmmanuel Vadot - fsl,mpc8349-dma 25*8ccc0d23SEmmanuel Vadot - fsl,mpc8360-dma 26*8ccc0d23SEmmanuel Vadot - fsl,mpc8377-dma 27*8ccc0d23SEmmanuel Vadot - fsl,mpc8378-dma 28*8ccc0d23SEmmanuel Vadot - fsl,mpc8379-dma 29*8ccc0d23SEmmanuel Vadot - const: fsl,elo-dma 30*8ccc0d23SEmmanuel Vadot 31*8ccc0d23SEmmanuel Vadot reg: 32*8ccc0d23SEmmanuel Vadot items: 33*8ccc0d23SEmmanuel Vadot - description: 34*8ccc0d23SEmmanuel Vadot DMA General Status Register, i.e. DGSR which contains status for 35*8ccc0d23SEmmanuel Vadot all the 4 DMA channels. 36*8ccc0d23SEmmanuel Vadot 37*8ccc0d23SEmmanuel Vadot cell-index: 38*8ccc0d23SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 39*8ccc0d23SEmmanuel Vadot description: Controller index. 0 for controller @ 0x8100. 40*8ccc0d23SEmmanuel Vadot 41*8ccc0d23SEmmanuel Vadot ranges: true 42*8ccc0d23SEmmanuel Vadot 43*8ccc0d23SEmmanuel Vadot "#address-cells": 44*8ccc0d23SEmmanuel Vadot const: 1 45*8ccc0d23SEmmanuel Vadot 46*8ccc0d23SEmmanuel Vadot "#size-cells": 47*8ccc0d23SEmmanuel Vadot const: 1 48*8ccc0d23SEmmanuel Vadot 49*8ccc0d23SEmmanuel Vadot interrupts: 50*8ccc0d23SEmmanuel Vadot maxItems: 1 51*8ccc0d23SEmmanuel Vadot description: Controller interrupt. 52*8ccc0d23SEmmanuel Vadot 53*8ccc0d23SEmmanuel Vadotrequired: 54*8ccc0d23SEmmanuel Vadot - compatible 55*8ccc0d23SEmmanuel Vadot - reg 56*8ccc0d23SEmmanuel Vadot 57*8ccc0d23SEmmanuel VadotpatternProperties: 58*8ccc0d23SEmmanuel Vadot "^dma-channel@[0-9a-f]+$": 59*8ccc0d23SEmmanuel Vadot type: object 60*8ccc0d23SEmmanuel Vadot additionalProperties: false 61*8ccc0d23SEmmanuel Vadot 62*8ccc0d23SEmmanuel Vadot properties: 63*8ccc0d23SEmmanuel Vadot compatible: 64*8ccc0d23SEmmanuel Vadot oneOf: 65*8ccc0d23SEmmanuel Vadot # native DMA channel 66*8ccc0d23SEmmanuel Vadot - items: 67*8ccc0d23SEmmanuel Vadot - enum: 68*8ccc0d23SEmmanuel Vadot - fsl,mpc8315-dma-channel 69*8ccc0d23SEmmanuel Vadot - fsl,mpc8323-dma-channel 70*8ccc0d23SEmmanuel Vadot - fsl,mpc8347-dma-channel 71*8ccc0d23SEmmanuel Vadot - fsl,mpc8349-dma-channel 72*8ccc0d23SEmmanuel Vadot - fsl,mpc8360-dma-channel 73*8ccc0d23SEmmanuel Vadot - fsl,mpc8377-dma-channel 74*8ccc0d23SEmmanuel Vadot - fsl,mpc8378-dma-channel 75*8ccc0d23SEmmanuel Vadot - fsl,mpc8379-dma-channel 76*8ccc0d23SEmmanuel Vadot - const: fsl,elo-dma-channel 77*8ccc0d23SEmmanuel Vadot 78*8ccc0d23SEmmanuel Vadot # audio DMA channel, see fsl,ssi.yaml 79*8ccc0d23SEmmanuel Vadot - const: fsl,ssi-dma-channel 80*8ccc0d23SEmmanuel Vadot 81*8ccc0d23SEmmanuel Vadot reg: 82*8ccc0d23SEmmanuel Vadot maxItems: 1 83*8ccc0d23SEmmanuel Vadot 84*8ccc0d23SEmmanuel Vadot cell-index: 85*8ccc0d23SEmmanuel Vadot description: DMA channel index starts at 0. 86*8ccc0d23SEmmanuel Vadot 87*8ccc0d23SEmmanuel Vadot interrupts: 88*8ccc0d23SEmmanuel Vadot maxItems: 1 89*8ccc0d23SEmmanuel Vadot description: 90*8ccc0d23SEmmanuel Vadot Per-channel interrupt. Only necessary if no controller interrupt has 91*8ccc0d23SEmmanuel Vadot been provided. 92*8ccc0d23SEmmanuel Vadot 93*8ccc0d23SEmmanuel VadotadditionalProperties: false 94*8ccc0d23SEmmanuel Vadot 95*8ccc0d23SEmmanuel Vadotexamples: 96*8ccc0d23SEmmanuel Vadot - | 97*8ccc0d23SEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 98*8ccc0d23SEmmanuel Vadot 99*8ccc0d23SEmmanuel Vadot dma@82a8 { 100*8ccc0d23SEmmanuel Vadot compatible = "fsl,mpc8349-dma", "fsl,elo-dma"; 101*8ccc0d23SEmmanuel Vadot reg = <0x82a8 4>; 102*8ccc0d23SEmmanuel Vadot #address-cells = <1>; 103*8ccc0d23SEmmanuel Vadot #size-cells = <1>; 104*8ccc0d23SEmmanuel Vadot ranges = <0 0x8100 0x1a4>; 105*8ccc0d23SEmmanuel Vadot interrupts = <71 IRQ_TYPE_LEVEL_LOW>; 106*8ccc0d23SEmmanuel Vadot cell-index = <0>; 107*8ccc0d23SEmmanuel Vadot 108*8ccc0d23SEmmanuel Vadot dma-channel@0 { 109*8ccc0d23SEmmanuel Vadot compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel"; 110*8ccc0d23SEmmanuel Vadot reg = <0 0x80>; 111*8ccc0d23SEmmanuel Vadot cell-index = <0>; 112*8ccc0d23SEmmanuel Vadot interrupts = <71 IRQ_TYPE_LEVEL_LOW>; 113*8ccc0d23SEmmanuel Vadot }; 114*8ccc0d23SEmmanuel Vadot 115*8ccc0d23SEmmanuel Vadot dma-channel@80 { 116*8ccc0d23SEmmanuel Vadot compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel"; 117*8ccc0d23SEmmanuel Vadot reg = <0x80 0x80>; 118*8ccc0d23SEmmanuel Vadot cell-index = <1>; 119*8ccc0d23SEmmanuel Vadot interrupts = <71 IRQ_TYPE_LEVEL_LOW>; 120*8ccc0d23SEmmanuel Vadot }; 121*8ccc0d23SEmmanuel Vadot 122*8ccc0d23SEmmanuel Vadot dma-channel@100 { 123*8ccc0d23SEmmanuel Vadot compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel"; 124*8ccc0d23SEmmanuel Vadot reg = <0x100 0x80>; 125*8ccc0d23SEmmanuel Vadot cell-index = <2>; 126*8ccc0d23SEmmanuel Vadot interrupts = <71 IRQ_TYPE_LEVEL_LOW>; 127*8ccc0d23SEmmanuel Vadot }; 128*8ccc0d23SEmmanuel Vadot 129*8ccc0d23SEmmanuel Vadot dma-channel@180 { 130*8ccc0d23SEmmanuel Vadot compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel"; 131*8ccc0d23SEmmanuel Vadot reg = <0x180 0x80>; 132*8ccc0d23SEmmanuel Vadot cell-index = <3>; 133*8ccc0d23SEmmanuel Vadot interrupts = <71 IRQ_TYPE_LEVEL_LOW>; 134*8ccc0d23SEmmanuel Vadot }; 135*8ccc0d23SEmmanuel Vadot }; 136*8ccc0d23SEmmanuel Vadot 137*8ccc0d23SEmmanuel Vadot... 138