diff options
Diffstat (limited to 'Documentation/devicetree/bindings/dma/snps-dma.txt')
-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 | }; |