162306a36Sopenharmony_ci* Atmel Extensible Direct Memory Access Controller (XDMAC)
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci* XDMA Controller
462306a36Sopenharmony_ciRequired properties:
562306a36Sopenharmony_ci- compatible: Should be "atmel,sama5d4-dma", "microchip,sam9x60-dma" or
662306a36Sopenharmony_ci  "microchip,sama7g5-dma" or
762306a36Sopenharmony_ci  "microchip,sam9x7-dma", "atmel,sama5d4-dma".
862306a36Sopenharmony_ci- reg: Should contain DMA registers location and length.
962306a36Sopenharmony_ci- interrupts: Should contain DMA interrupt.
1062306a36Sopenharmony_ci- #dma-cells: Must be <1>, used to represent the number of integer cells in
1162306a36Sopenharmony_cithe dmas property of client devices.
1262306a36Sopenharmony_ci  - The 1st cell specifies the channel configuration register:
1362306a36Sopenharmony_ci    - bit 13: SIF, source interface identifier, used to get the memory
1462306a36Sopenharmony_ci    interface identifier,
1562306a36Sopenharmony_ci    - bit 14: DIF, destination interface identifier, used to get the peripheral
1662306a36Sopenharmony_ci    interface identifier,
1762306a36Sopenharmony_ci    - bit 30-24: PERID, peripheral identifier.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciExample:
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_cidma1: dma-controller@f0004000 {
2262306a36Sopenharmony_ci	compatible = "atmel,sama5d4-dma";
2362306a36Sopenharmony_ci	reg = <0xf0004000 0x200>;
2462306a36Sopenharmony_ci	interrupts = <50 4 0>;
2562306a36Sopenharmony_ci	#dma-cells = <1>;
2662306a36Sopenharmony_ci};
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci* DMA clients
3062306a36Sopenharmony_ciDMA clients connected to the Atmel XDMA controller must use the format
3162306a36Sopenharmony_cidescribed in the dma.txt file, using a one-cell specifier for each channel.
3262306a36Sopenharmony_ciThe two cells in order are:
3362306a36Sopenharmony_ci1. A phandle pointing to the DMA controller.
3462306a36Sopenharmony_ci2. Channel configuration register. Configurable fields are:
3562306a36Sopenharmony_ci    - bit 13: SIF, source interface identifier, used to get the memory
3662306a36Sopenharmony_ci    interface identifier,
3762306a36Sopenharmony_ci    - bit 14: DIF, destination interface identifier, used to get the peripheral
3862306a36Sopenharmony_ci    interface identifier,
3962306a36Sopenharmony_ci  - bit 30-24: PERID, peripheral identifier.
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ciExample:
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_cii2c2: i2c@f8024000 {
4462306a36Sopenharmony_ci	compatible = "atmel,at91sam9x5-i2c";
4562306a36Sopenharmony_ci	reg = <0xf8024000 0x4000>;
4662306a36Sopenharmony_ci	interrupts = <34 4 6>;
4762306a36Sopenharmony_ci	dmas = <&dma1
4862306a36Sopenharmony_ci		(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
4962306a36Sopenharmony_ci		 | AT91_XDMAC_DT_PERID(6))>,
5062306a36Sopenharmony_ci	       <&dma1
5162306a36Sopenharmony_ci		(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
5262306a36Sopenharmony_ci		| AT91_XDMAC_DT_PERID(7))>;
5362306a36Sopenharmony_ci	dma-names = "tx", "rx";
5462306a36Sopenharmony_ci};
55