Back to home page

OSCL-LXR

 
 

    


0001 * Atmel Extensible Direct Memory Access Controller (XDMAC)
0002 
0003 * XDMA Controller
0004 Required properties:
0005 - compatible: Should be "atmel,sama5d4-dma", "microchip,sam9x60-dma" or
0006   "microchip,sama7g5-dma".
0007 - reg: Should contain DMA registers location and length.
0008 - interrupts: Should contain DMA interrupt.
0009 - #dma-cells: Must be <1>, used to represent the number of integer cells in
0010 the dmas property of client devices.
0011   - The 1st cell specifies the channel configuration register:
0012     - bit 13: SIF, source interface identifier, used to get the memory
0013     interface identifier,
0014     - bit 14: DIF, destination interface identifier, used to get the peripheral
0015     interface identifier,
0016     - bit 30-24: PERID, peripheral identifier.
0017 
0018 Example:
0019 
0020 dma1: dma-controller@f0004000 {
0021         compatible = "atmel,sama5d4-dma";
0022         reg = <0xf0004000 0x200>;
0023         interrupts = <50 4 0>;
0024         #dma-cells = <1>;
0025 };
0026 
0027 
0028 * DMA clients
0029 DMA clients connected to the Atmel XDMA controller must use the format
0030 described in the dma.txt file, using a one-cell specifier for each channel.
0031 The two cells in order are:
0032 1. A phandle pointing to the DMA controller.
0033 2. Channel configuration register. Configurable fields are:
0034     - bit 13: SIF, source interface identifier, used to get the memory
0035     interface identifier,
0036     - bit 14: DIF, destination interface identifier, used to get the peripheral
0037     interface identifier,
0038   - bit 30-24: PERID, peripheral identifier.
0039 
0040 Example:
0041 
0042 i2c2: i2c@f8024000 {
0043         compatible = "atmel,at91sam9x5-i2c";
0044         reg = <0xf8024000 0x4000>;
0045         interrupts = <34 4 6>;
0046         dmas = <&dma1
0047                 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
0048                  | AT91_XDMAC_DT_PERID(6))>,
0049                <&dma1
0050                 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
0051                 | AT91_XDMAC_DT_PERID(7))>;
0052         dma-names = "tx", "rx";
0053 };