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/atmel,at91sam9g45-dma.yaml# 5*8ccc0d23SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*8ccc0d23SEmmanuel Vadot 7*8ccc0d23SEmmanuel Vadottitle: Atmel Direct Memory Access Controller (DMA) 8*8ccc0d23SEmmanuel Vadot 9*8ccc0d23SEmmanuel Vadotmaintainers: 10*8ccc0d23SEmmanuel Vadot - Ludovic Desroches <ludovic.desroches@microchip.com> 11*8ccc0d23SEmmanuel Vadot 12*8ccc0d23SEmmanuel Vadotdescription: 13*8ccc0d23SEmmanuel Vadot The Atmel Direct Memory Access Controller (DMAC) transfers data from a source 14*8ccc0d23SEmmanuel Vadot peripheral to a destination peripheral over one or more AMBA buses. One channel 15*8ccc0d23SEmmanuel Vadot is required for each source/destination pair. In the most basic configuration, 16*8ccc0d23SEmmanuel Vadot the DMAC has one master interface and one channel. The master interface reads 17*8ccc0d23SEmmanuel Vadot the data from a source and writes it to a destination. Two AMBA transfers are 18*8ccc0d23SEmmanuel Vadot required for each DMAC data transfer. This is also known as a dual-access transfer. 19*8ccc0d23SEmmanuel Vadot The DMAC is programmed via the APB interface. 20*8ccc0d23SEmmanuel Vadot 21*8ccc0d23SEmmanuel Vadotproperties: 22*8ccc0d23SEmmanuel Vadot compatible: 23*8ccc0d23SEmmanuel Vadot enum: 24*8ccc0d23SEmmanuel Vadot - atmel,at91sam9g45-dma 25*8ccc0d23SEmmanuel Vadot - atmel,at91sam9rl-dma 26*8ccc0d23SEmmanuel Vadot 27*8ccc0d23SEmmanuel Vadot reg: 28*8ccc0d23SEmmanuel Vadot maxItems: 1 29*8ccc0d23SEmmanuel Vadot 30*8ccc0d23SEmmanuel Vadot interrupts: 31*8ccc0d23SEmmanuel Vadot maxItems: 1 32*8ccc0d23SEmmanuel Vadot 33*8ccc0d23SEmmanuel Vadot "#dma-cells": 34*8ccc0d23SEmmanuel Vadot description: 35*8ccc0d23SEmmanuel Vadot Must be <2>, used to represent the number of integer cells in the dma 36*8ccc0d23SEmmanuel Vadot property of client devices. The two cells in order are 37*8ccc0d23SEmmanuel Vadot 1. The first cell represents the channel number. 38*8ccc0d23SEmmanuel Vadot 2. The second cell is 0 for RX and 1 for TX transfers. 39*8ccc0d23SEmmanuel Vadot const: 2 40*8ccc0d23SEmmanuel Vadot 41*8ccc0d23SEmmanuel Vadot clocks: 42*8ccc0d23SEmmanuel Vadot maxItems: 1 43*8ccc0d23SEmmanuel Vadot 44*8ccc0d23SEmmanuel Vadot clock-names: 45*8ccc0d23SEmmanuel Vadot const: dma_clk 46*8ccc0d23SEmmanuel Vadot 47*8ccc0d23SEmmanuel Vadotrequired: 48*8ccc0d23SEmmanuel Vadot - compatible 49*8ccc0d23SEmmanuel Vadot - reg 50*8ccc0d23SEmmanuel Vadot - interrupts 51*8ccc0d23SEmmanuel Vadot - "#dma-cells" 52*8ccc0d23SEmmanuel Vadot - clocks 53*8ccc0d23SEmmanuel Vadot - clock-names 54*8ccc0d23SEmmanuel Vadot 55*8ccc0d23SEmmanuel VadotadditionalProperties: false 56*8ccc0d23SEmmanuel Vadot 57*8ccc0d23SEmmanuel Vadotexamples: 58*8ccc0d23SEmmanuel Vadot - | 59*8ccc0d23SEmmanuel Vadot dma-controller@ffffec00 { 60*8ccc0d23SEmmanuel Vadot compatible = "atmel,at91sam9g45-dma"; 61*8ccc0d23SEmmanuel Vadot reg = <0xffffec00 0x200>; 62*8ccc0d23SEmmanuel Vadot interrupts = <21>; 63*8ccc0d23SEmmanuel Vadot #dma-cells = <2>; 64*8ccc0d23SEmmanuel Vadot clocks = <&pmc 2 20>; 65*8ccc0d23SEmmanuel Vadot clock-names = "dma_clk"; 66*8ccc0d23SEmmanuel Vadot }; 67*8ccc0d23SEmmanuel Vadot 68*8ccc0d23SEmmanuel Vadot... 69