1 This file has been moved to dma-controller.yam !! 1 * Generic DMA Controller and DMA request bindings >> 2 >> 3 Generic binding to provide a way for a driver using DMA Engine to retrieve the >> 4 DMA request or channel information that goes from a hardware device to a DMA >> 5 controller. >> 6 >> 7 >> 8 * DMA controller >> 9 >> 10 Required property: >> 11 - #dma-cells: Must be at least 1. Used to provide DMA controller >> 12 specific information. See DMA client binding below for >> 13 more details. >> 14 >> 15 Optional properties: >> 16 - dma-channels: Number of DMA channels supported by the controller. >> 17 - dma-requests: Number of DMA requests signals supported by the >> 18 controller. >> 19 >> 20 Example: >> 21 >> 22 dma: dma@48000000 { >> 23 compatible = "ti,omap-sdma"; >> 24 reg = <0x48000000 0x1000>; >> 25 interrupts = <0 12 0x4 >> 26 0 13 0x4 >> 27 0 14 0x4 >> 28 0 15 0x4>; >> 29 #dma-cells = <1>; >> 30 dma-channels = <32>; >> 31 dma-requests = <127>; >> 32 }; >> 33 >> 34 >> 35 * DMA client >> 36 >> 37 Client drivers should specify the DMA property using a phandle to the controller >> 38 followed by DMA controller specific data. >> 39 >> 40 Required property: >> 41 - dmas: List of one or more DMA specifiers, each consisting of >> 42 - A phandle pointing to DMA controller node >> 43 - A number of integer cells, as determined by the >> 44 #dma-cells property in the node referenced by phandle >> 45 containing DMA controller specific information. This >> 46 typically contains a DMA request line number or a >> 47 channel number, but can contain any data that is used >> 48 required for configuring a channel. >> 49 - dma-names: Contains one identifier string for each DMA specifier in >> 50 the dmas property. The specific strings that can be used >> 51 are defined in the binding of the DMA client device. >> 52 Multiple DMA specifiers can be used to represent >> 53 alternatives and in this case the dma-names for those >> 54 DMA specifiers must be identical (see examples). >> 55 >> 56 Examples: >> 57 >> 58 1. A device with one DMA read channel, one DMA write channel: >> 59 >> 60 i2c1: i2c@1 { >> 61 ... >> 62 dmas = <&dma 2 /* read channel */ >> 63 &dma 3>; /* write channel */ >> 64 dma-names = "rx", "tx"; >> 65 ... >> 66 }; >> 67 >> 68 2. A single read-write channel with three alternative DMA controllers: >> 69 >> 70 dmas = <&dma1 5 >> 71 &dma2 7 >> 72 &dma3 2>; >> 73 dma-names = "rx-tx", "rx-tx", "rx-tx"; >> 74 >> 75 3. A device with three channels, one of which has two alternatives: >> 76 >> 77 dmas = <&dma1 2 /* read channel */ >> 78 &dma1 3 /* write channel */ >> 79 &dma2 0 /* error read */ >> 80 &dma3 0>; /* alternative error read */ >> 81 dma-names = "rx", "tx", "error", "error";
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.