blob: 1f5729f106216ecb079af2c4912fd61e20098585 [file] [log] [blame]
Lee Jonesfa332de2013-05-03 15:32:12 +01001* DMA40 DMA Controller
2
3Required properties:
4- compatible: "stericsson,dma40"
5- reg: Address range of the DMAC registers
6- reg-names: Names of the above areas to use during resource look-up
7- interrupt: Should contain the DMAC interrupt number
8- #dma-cells: must be <3>
Lee Jonesa7dacb62013-05-15 10:51:59 +01009- memcpy-channels: Channels to be used for memcpy
Lee Jonesfa332de2013-05-03 15:32:12 +010010
11Optional properties:
12- dma-channels: Number of channels supported by hardware - if not present
13 the driver will attempt to obtain the information from H/W
Lee Jones499c2bc2013-05-15 10:52:02 +010014- disabled-channels: Channels which can not be used
Lee Jonesfa332de2013-05-03 15:32:12 +010015
16Example:
17
18 dma: dma-controller@801C0000 {
19 compatible = "stericsson,db8500-dma40", "stericsson,dma40";
20 reg = <0x801C0000 0x1000 0x40010000 0x800>;
21 reg-names = "base", "lcpa";
22 interrupt-parent = <&intc>;
23 interrupts = <0 25 0x4>;
24
25 #dma-cells = <2>;
Lee Jonesa7dacb62013-05-15 10:51:59 +010026 memcpy-channels = <56 57 58 59 60>;
Lee Jones499c2bc2013-05-15 10:52:02 +010027 disabled-channels = <12>;
Lee Jonesfa332de2013-05-03 15:32:12 +010028 dma-channels = <8>;
29 };
30
31Clients
32Required properties:
33- dmas: Comma separated list of dma channel requests
34- dma-names: Names of the aforementioned requested channels
35
36Each dmas request consists of 4 cells:
37 1. A phandle pointing to the DMA controller
38 2. Device Type
39 3. The DMA request line number (only when 'use fixed channel' is set)
Masanari Iida9ca18392013-07-23 00:13:48 +090040 4. A 32bit mask specifying; mode, direction and endianness [NB: This list will grow]
Lee Jonesfa332de2013-05-03 15:32:12 +010041 0x00000001: Mode:
42 Logical channel when unset
43 Physical channel when set
44 0x00000002: Direction:
45 Memory to Device when unset
46 Device to Memory when set
Masanari Iida9ca18392013-07-23 00:13:48 +090047 0x00000004: Endianness:
Lee Jonesfa332de2013-05-03 15:32:12 +010048 Little endian when unset
49 Big endian when set
50 0x00000008: Use fixed channel:
51 Use automatic channel selection when unset
52 Use DMA request line number when set
Lee Jones0a05ef02013-11-19 11:07:40 +000053 0x00000010: Set channel as high priority:
54 Normal priority when unset
55 High priority when set
Lee Jonesfa332de2013-05-03 15:32:12 +010056
57Example:
58
59 uart@80120000 {
60 compatible = "arm,pl011", "arm,primecell";
61 reg = <0x80120000 0x1000>;
62 interrupts = <0 11 0x4>;
63
64 dmas = <&dma 13 0 0x2>, /* Logical - DevToMem */
65 <&dma 13 0 0x0>; /* Logical - MemToDev */
66 dma-names = "rx", "rx";
67
68 status = "disabled";
69 };