Path: blob/main/sys/contrib/device-tree/Bindings/dma/atmel-xdma.txt
48375 views
* Atmel Extensible Direct Memory Access Controller (XDMAC)12* XDMA Controller3Required properties:4- compatible: Should be "atmel,sama5d4-dma", "microchip,sam9x60-dma" or5"microchip,sama7g5-dma" or6"microchip,sam9x7-dma", "atmel,sama5d4-dma".7- reg: Should contain DMA registers location and length.8- interrupts: Should contain DMA interrupt.9- #dma-cells: Must be <1>, used to represent the number of integer cells in10the dmas property of client devices.11- The 1st cell specifies the channel configuration register:12- bit 13: SIF, source interface identifier, used to get the memory13interface identifier,14- bit 14: DIF, destination interface identifier, used to get the peripheral15interface identifier,16- bit 30-24: PERID, peripheral identifier.1718Example:1920dma1: dma-controller@f0004000 {21compatible = "atmel,sama5d4-dma";22reg = <0xf0004000 0x200>;23interrupts = <50 4 0>;24#dma-cells = <1>;25};262728* DMA clients29DMA clients connected to the Atmel XDMA controller must use the format30described in the dma.txt file, using a one-cell specifier for each channel.31The two cells in order are:321. A phandle pointing to the DMA controller.332. Channel configuration register. Configurable fields are:34- bit 13: SIF, source interface identifier, used to get the memory35interface identifier,36- bit 14: DIF, destination interface identifier, used to get the peripheral37interface identifier,38- bit 30-24: PERID, peripheral identifier.3940Example:4142i2c2: i2c@f8024000 {43compatible = "atmel,at91sam9x5-i2c";44reg = <0xf8024000 0x4000>;45interrupts = <34 4 6>;46dmas = <&dma147(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)48| AT91_XDMAC_DT_PERID(6))>,49<&dma150(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)51| AT91_XDMAC_DT_PERID(7))>;52dma-names = "tx", "rx";53};545556