diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-03-03 13:20:22 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-03-03 13:20:22 -0500 |
commit | 527c680f7c36ff17d49efc99632232dba3549c51 (patch) | |
tree | ae72c69971ff8dce4cc17b0035bd6abb2651a110 /Documentation | |
parent | 23caaeea271cfe3176f0e27374d2016bd7583ea8 (diff) | |
parent | f9c6a655a94042f94c0adb30d07d93cfd8915e95 (diff) |
Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma
Pull second set of slave-dmaengine updates from Vinod Koul:
"Arnd's patch moves the dw_dmac to use generic DMA binding. I agreed
to merge this late as it will avoid the conflicts between trees.
The second patch from Matt adding a dma_request_slave_channel_compat
API was supposed to be picked up, but somehow never got picked up.
Some patches dependent on this are already in -next :("
* 'next' of git://git.infradead.org/users/vkoul/slave-dma:
dmaengine: dw_dmac: move to generic DMA binding
dmaengine: add dma_request_slave_channel_compat()
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/devicetree/bindings/dma/snps-dma.txt | 70 |
1 files changed, 36 insertions, 34 deletions
diff --git a/Documentation/devicetree/bindings/dma/snps-dma.txt b/Documentation/devicetree/bindings/dma/snps-dma.txt index 5bb3dfb6f1d8..d58675ea1abf 100644 --- a/Documentation/devicetree/bindings/dma/snps-dma.txt +++ b/Documentation/devicetree/bindings/dma/snps-dma.txt | |||
@@ -3,59 +3,61 @@ | |||
3 | Required properties: | 3 | Required properties: |
4 | - compatible: "snps,dma-spear1340" | 4 | - compatible: "snps,dma-spear1340" |
5 | - reg: Address range of the DMAC registers | 5 | - reg: Address range of the DMAC registers |
6 | - interrupt-parent: Should be the phandle for the interrupt controller | ||
7 | that services interrupts for this device | ||
8 | - interrupt: Should contain the DMAC interrupt number | 6 | - interrupt: Should contain the DMAC interrupt number |
9 | - nr_channels: Number of channels supported by hardware | 7 | - dma-channels: Number of channels supported by hardware |
10 | - is_private: The device channels should be marked as private and not for by the | 8 | - dma-requests: Number of DMA request lines supported, up to 16 |
11 | general purpose DMA channel allocator. False if not passed. | 9 | - dma-masters: Number of AHB masters supported by the controller |
10 | - #dma-cells: must be <3> | ||
12 | - chan_allocation_order: order of allocation of channel, 0 (default): ascending, | 11 | - chan_allocation_order: order of allocation of channel, 0 (default): ascending, |
13 | 1: descending | 12 | 1: descending |
14 | - chan_priority: priority of channels. 0 (default): increase from chan 0->n, 1: | 13 | - chan_priority: priority of channels. 0 (default): increase from chan 0->n, 1: |
15 | increase from chan n->0 | 14 | increase from chan n->0 |
16 | - block_size: Maximum block size supported by the controller | 15 | - block_size: Maximum block size supported by the controller |
17 | - nr_masters: Number of AHB masters supported by the controller | ||
18 | - data_width: Maximum data width supported by hardware per AHB master | 16 | - data_width: Maximum data width supported by hardware per AHB master |
19 | (0 - 8bits, 1 - 16bits, ..., 5 - 256bits) | 17 | (0 - 8bits, 1 - 16bits, ..., 5 - 256bits) |
20 | - slave_info: | 18 | |
21 | - bus_id: name of this device channel, not just a device name since | 19 | |
22 | devices may have more than one channel e.g. "foo_tx". For using the | 20 | Optional properties: |
23 | dw_generic_filter(), slave drivers must pass exactly this string as | 21 | - interrupt-parent: Should be the phandle for the interrupt controller |
24 | param to filter function. | 22 | that services interrupts for this device |
25 | - cfg_hi: Platform-specific initializer for the CFG_HI register | 23 | - is_private: The device channels should be marked as private and not for by the |
26 | - cfg_lo: Platform-specific initializer for the CFG_LO register | 24 | general purpose DMA channel allocator. False if not passed. |
27 | - src_master: src master for transfers on allocated channel. | ||
28 | - dst_master: dest master for transfers on allocated channel. | ||
29 | 25 | ||
30 | Example: | 26 | Example: |
31 | 27 | ||
32 | dma@fc000000 { | 28 | dmahost: dma@fc000000 { |
33 | compatible = "snps,dma-spear1340"; | 29 | compatible = "snps,dma-spear1340"; |
34 | reg = <0xfc000000 0x1000>; | 30 | reg = <0xfc000000 0x1000>; |
35 | interrupt-parent = <&vic1>; | 31 | interrupt-parent = <&vic1>; |
36 | interrupts = <12>; | 32 | interrupts = <12>; |
37 | 33 | ||
38 | nr_channels = <8>; | 34 | dma-channels = <8>; |
35 | dma-requests = <16>; | ||
36 | dma-masters = <2>; | ||
37 | #dma-cells = <3>; | ||
39 | chan_allocation_order = <1>; | 38 | chan_allocation_order = <1>; |
40 | chan_priority = <1>; | 39 | chan_priority = <1>; |
41 | block_size = <0xfff>; | 40 | block_size = <0xfff>; |
42 | nr_masters = <2>; | ||
43 | data_width = <3 3 0 0>; | 41 | data_width = <3 3 0 0>; |
42 | }; | ||
44 | 43 | ||
45 | slave_info { | 44 | DMA clients connected to the Designware DMA controller must use the format |
46 | uart0-tx { | 45 | described in the dma.txt file, using a four-cell specifier for each channel. |
47 | bus_id = "uart0-tx"; | 46 | The four cells in order are: |
48 | cfg_hi = <0x4000>; /* 0x8 << 11 */ | 47 | |
49 | cfg_lo = <0>; | 48 | 1. A phandle pointing to the DMA controller |
50 | src_master = <0>; | 49 | 2. The DMA request line number |
51 | dst_master = <1>; | 50 | 3. Source master for transfers on allocated channel |
52 | }; | 51 | 4. Destination master for transfers on allocated channel |
53 | spi0-tx { | 52 | |
54 | bus_id = "spi0-tx"; | 53 | Example: |
55 | cfg_hi = <0x2000>; /* 0x4 << 11 */ | 54 | |
56 | cfg_lo = <0>; | 55 | serial@e0000000 { |
57 | src_master = <0>; | 56 | compatible = "arm,pl011", "arm,primecell"; |
58 | dst_master = <0>; | 57 | reg = <0xe0000000 0x1000>; |
59 | }; | 58 | interrupts = <0 35 0x4>; |
60 | }; | 59 | status = "disabled"; |
60 | dmas = <&dmahost 12 0 1>, | ||
61 | <&dmahost 13 0 1 0>; | ||
62 | dma-names = "rx", "rx"; | ||
61 | }; | 63 | }; |