diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-10 16:37:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-10 16:37:36 -0400 |
commit | ec5b103ecfde929004b691f29183255aeeadecd5 (patch) | |
tree | 3b16d0654c074b5b36d06e56110c7218a8685655 /Documentation/devicetree | |
parent | d0048f0b91ee35ab940ec6cbdfdd238c55b12a14 (diff) | |
parent | 5622ff1a4dd7dcb1c09953d8066a4e7c4c350b2d (diff) |
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
Pull slave-dmaengine updates from Vinod Koul:
"This pull brings:
- Andy's DW driver updates
- Guennadi's sh driver updates
- Pl08x driver fixes from Tomasz & Alban
- Improvements to mmp_pdma by Daniel
- TI EDMA fixes by Joel
- New drivers:
- Hisilicon k3dma driver
- Renesas rcar dma driver
- New API for publishing slave driver capablities
- Various fixes across the subsystem by Andy, Jingoo, Sachin etc..."
* 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (94 commits)
dma: edma: Remove limits on number of slots
dma: edma: Leave linked to Null slot instead of DUMMY slot
dma: edma: Find missed events and issue them
ARM: edma: Add function to manually trigger an EDMA channel
dma: edma: Write out and handle MAX_NR_SG at a given time
dma: edma: Setup parameters to DMA MAX_NR_SG at a time
dmaengine: pl330: use dma_set_max_seg_size to set the sg limit
dmaengine: dma_slave_caps: remove sg entries
dma: replace devm_request_and_ioremap by devm_ioremap_resource
dma: ste_dma40: Fix potential null pointer dereference
dma: ste_dma40: Remove duplicate const
dma: imx-dma: Remove redundant NULL check
dma: dmagengine: fix function names in comments
dma: add driver for R-Car HPB-DMAC
dma: k3dma: use devm_ioremap_resource() instead of devm_request_and_ioremap()
dma: imx-sdma: Staticize sdma_driver_data structures
pch_dma: Add MODULE_DEVICE_TABLE
dmaengine: PL08x: Add cyclic transfer support
dmaengine: PL08x: Fix reading the byte count in cctl
dmaengine: PL08x: Add support for different maximum transfer size
...
Diffstat (limited to 'Documentation/devicetree')
-rw-r--r-- | Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt | 7 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/dma/k3dma.txt | 46 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/dma/shdma.txt | 61 |
3 files changed, 87 insertions, 27 deletions
diff --git a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt index 68cee4f5539f..4fa814d38321 100644 --- a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt +++ b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt | |||
@@ -1,7 +1,12 @@ | |||
1 | * Freescale Smart Direct Memory Access (SDMA) Controller for i.MX | 1 | * Freescale Smart Direct Memory Access (SDMA) Controller for i.MX |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : Should be "fsl,<chip>-sdma" | 4 | - compatible : Should be "fsl,imx31-sdma", "fsl,imx31-to1-sdma", |
5 | "fsl,imx31-to2-sdma", "fsl,imx35-sdma", "fsl,imx35-to1-sdma", | ||
6 | "fsl,imx35-to2-sdma", "fsl,imx51-sdma", "fsl,imx53-sdma" or | ||
7 | "fsl,imx6q-sdma". The -to variants should be preferred since they | ||
8 | allow to determnine the correct ROM script addresses needed for | ||
9 | the driver to work without additional firmware. | ||
5 | - reg : Should contain SDMA registers location and length | 10 | - reg : Should contain SDMA registers location and length |
6 | - interrupts : Should contain SDMA interrupt | 11 | - interrupts : Should contain SDMA interrupt |
7 | - #dma-cells : Must be <3>. | 12 | - #dma-cells : Must be <3>. |
diff --git a/Documentation/devicetree/bindings/dma/k3dma.txt b/Documentation/devicetree/bindings/dma/k3dma.txt new file mode 100644 index 000000000000..23f8d712c3ce --- /dev/null +++ b/Documentation/devicetree/bindings/dma/k3dma.txt | |||
@@ -0,0 +1,46 @@ | |||
1 | * Hisilicon K3 DMA controller | ||
2 | |||
3 | See dma.txt first | ||
4 | |||
5 | Required properties: | ||
6 | - compatible: Should be "hisilicon,k3-dma-1.0" | ||
7 | - reg: Should contain DMA registers location and length. | ||
8 | - interrupts: Should contain one interrupt shared by all channel | ||
9 | - #dma-cells: see dma.txt, should be 1, para number | ||
10 | - dma-channels: physical channels supported | ||
11 | - dma-requests: virtual channels supported, each virtual channel | ||
12 | have specific request line | ||
13 | - clocks: clock required | ||
14 | |||
15 | Example: | ||
16 | |||
17 | Controller: | ||
18 | dma0: dma@fcd02000 { | ||
19 | compatible = "hisilicon,k3-dma-1.0"; | ||
20 | reg = <0xfcd02000 0x1000>; | ||
21 | #dma-cells = <1>; | ||
22 | dma-channels = <16>; | ||
23 | dma-requests = <27>; | ||
24 | interrupts = <0 12 4>; | ||
25 | clocks = <&pclk>; | ||
26 | status = "disable"; | ||
27 | }; | ||
28 | |||
29 | Client: | ||
30 | Use specific request line passing from dmax | ||
31 | For example, i2c0 read channel request line is 18, while write channel use 19 | ||
32 | |||
33 | i2c0: i2c@fcb08000 { | ||
34 | compatible = "snps,designware-i2c"; | ||
35 | dmas = <&dma0 18 /* read channel */ | ||
36 | &dma0 19>; /* write channel */ | ||
37 | dma-names = "rx", "tx"; | ||
38 | }; | ||
39 | |||
40 | i2c1: i2c@fcb09000 { | ||
41 | compatible = "snps,designware-i2c"; | ||
42 | dmas = <&dma0 20 /* read channel */ | ||
43 | &dma0 21>; /* write channel */ | ||
44 | dma-names = "rx", "tx"; | ||
45 | }; | ||
46 | |||
diff --git a/Documentation/devicetree/bindings/dma/shdma.txt b/Documentation/devicetree/bindings/dma/shdma.txt index c15994aa1939..2a3f3b8946b9 100644 --- a/Documentation/devicetree/bindings/dma/shdma.txt +++ b/Documentation/devicetree/bindings/dma/shdma.txt | |||
@@ -22,42 +22,51 @@ Optional properties (currently unused): | |||
22 | * DMA controller | 22 | * DMA controller |
23 | 23 | ||
24 | Required properties: | 24 | Required properties: |
25 | - compatible: should be "renesas,shdma" | 25 | - compatible: should be of the form "renesas,shdma-<soc>", where <soc> should |
26 | be replaced with the desired SoC model, e.g. | ||
27 | "renesas,shdma-r8a73a4" for the system DMAC on r8a73a4 SoC | ||
26 | 28 | ||
27 | Example: | 29 | Example: |
28 | dmac: dma-mux0 { | 30 | dmac: dma-multiplexer@0 { |
29 | compatible = "renesas,shdma-mux"; | 31 | compatible = "renesas,shdma-mux"; |
30 | #dma-cells = <1>; | 32 | #dma-cells = <1>; |
31 | dma-channels = <6>; | 33 | dma-channels = <20>; |
32 | dma-requests = <256>; | 34 | dma-requests = <256>; |
33 | reg = <0 0>; /* Needed for AUXDATA */ | 35 | #address-cells = <2>; |
34 | #address-cells = <1>; | 36 | #size-cells = <2>; |
35 | #size-cells = <1>; | ||
36 | ranges; | 37 | ranges; |
37 | 38 | ||
38 | dma0: shdma@fe008020 { | 39 | dma0: dma-controller@e6700020 { |
39 | compatible = "renesas,shdma"; | 40 | compatible = "renesas,shdma-r8a73a4"; |
40 | reg = <0xfe008020 0x270>, | 41 | reg = <0 0xe6700020 0 0x89e0>; |
41 | <0xfe009000 0xc>; | ||
42 | interrupt-parent = <&gic>; | 42 | interrupt-parent = <&gic>; |
43 | interrupts = <0 34 4 | 43 | interrupts = <0 220 4 |
44 | 0 28 4 | 44 | 0 200 4 |
45 | 0 29 4 | 45 | 0 201 4 |
46 | 0 30 4 | 46 | 0 202 4 |
47 | 0 31 4 | 47 | 0 203 4 |
48 | 0 32 4 | 48 | 0 204 4 |
49 | 0 33 4>; | 49 | 0 205 4 |
50 | 0 206 4 | ||
51 | 0 207 4 | ||
52 | 0 208 4 | ||
53 | 0 209 4 | ||
54 | 0 210 4 | ||
55 | 0 211 4 | ||
56 | 0 212 4 | ||
57 | 0 213 4 | ||
58 | 0 214 4 | ||
59 | 0 215 4 | ||
60 | 0 216 4 | ||
61 | 0 217 4 | ||
62 | 0 218 4 | ||
63 | 0 219 4>; | ||
50 | interrupt-names = "error", | 64 | interrupt-names = "error", |
51 | "ch0", "ch1", "ch2", "ch3", | 65 | "ch0", "ch1", "ch2", "ch3", |
52 | "ch4", "ch5"; | 66 | "ch4", "ch5", "ch6", "ch7", |
53 | }; | 67 | "ch8", "ch9", "ch10", "ch11", |
54 | 68 | "ch12", "ch13", "ch14", "ch15", | |
55 | dma1: shdma@fe018020 { | 69 | "ch16", "ch17", "ch18", "ch19"; |
56 | ... | ||
57 | }; | ||
58 | |||
59 | dma2: shdma@fe028020 { | ||
60 | ... | ||
61 | }; | 70 | }; |
62 | }; | 71 | }; |
63 | 72 | ||