diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-24 12:49:37 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-24 12:49:37 -0400 |
commit | d6a4c0e5d3d433ef296f8f417e835329a834a256 (patch) | |
tree | a65de394ea1afeeccee9f84dc7e6cd21e2660639 /Documentation | |
parent | 474095e46cd14421821da3201a9fd6a4c070996b (diff) | |
parent | cdde0e61cf2d41123604c6c9d8f09ef5c23464ee (diff) |
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
Pull slave-dmaengine updates from Vinod Koul:
- new drivers for:
- Ingenic JZ4780 controller
- APM X-Gene controller
- Freescale RaidEngine device
- Renesas USB Controller
- remove device_alloc_chan_resources dummy handlers
- sh driver cleanups for peri peri and related emmc and asoc patches
as well
- fixes and enhancements spread over the drivers
* 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (59 commits)
dmaengine: dw: don't prompt for DW_DMAC_CORE
dmaengine: shdmac: avoid unused variable warnings
dmaengine: fix platform_no_drv_owner.cocci warnings
dmaengine: pch_dma: fix memory leak on failure path in pch_dma_probe()
dmaengine: at_xdmac: unlock spin lock before return
dmaengine: xgene: devm_ioremap() returns NULL on error
dmaengine: xgene: buffer overflow in xgene_dma_init_channels()
dmaengine: usb-dmac: Fix dereferencing freed memory 'desc'
dmaengine: sa11x0: report slave capabilities to upper layers
dmaengine: vdma: Fix compilation warnings
dmaengine: fsl_raid: statify fsl_re_chan_probe
dmaengine: Driver support for FSL RaidEngine device.
dmaengine: xgene_dma_init_ring_mngr() can be static
Documentation: dma: Add documentation for the APM X-Gene SoC DMA device DTS binding
arm64: dts: Add APM X-Gene SoC DMA device and DMA clock DTS nodes
dmaengine: Add support for APM X-Gene SoC DMA engine driver
dmaengine: usb-dmac: Add Renesas USB DMA Controller (USB-DMAC) driver
dmaengine: renesas,usb-dmac: Add device tree bindings documentation
dmaengine: edma: fixed wrongly initialized data parameter to the edma callback
dmaengine: ste_dma40: fix implicit conversion
...
Diffstat (limited to 'Documentation')
5 files changed, 141 insertions, 29 deletions
diff --git a/Documentation/devicetree/bindings/dma/apm-xgene-dma.txt b/Documentation/devicetree/bindings/dma/apm-xgene-dma.txt new file mode 100644 index 000000000000..d3058768b23d --- /dev/null +++ b/Documentation/devicetree/bindings/dma/apm-xgene-dma.txt | |||
@@ -0,0 +1,47 @@ | |||
1 | Applied Micro X-Gene SoC DMA nodes | ||
2 | |||
3 | DMA nodes are defined to describe on-chip DMA interfaces in | ||
4 | APM X-Gene SoC. | ||
5 | |||
6 | Required properties for DMA interfaces: | ||
7 | - compatible: Should be "apm,xgene-dma". | ||
8 | - device_type: set to "dma". | ||
9 | - reg: Address and length of the register set for the device. | ||
10 | It contains the information of registers in the following order: | ||
11 | 1st - DMA control and status register address space. | ||
12 | 2nd - Descriptor ring control and status register address space. | ||
13 | 3rd - Descriptor ring command register address space. | ||
14 | 4th - Soc efuse register address space. | ||
15 | - interrupts: DMA has 5 interrupts sources. 1st interrupt is | ||
16 | DMA error reporting interrupt. 2nd, 3rd, 4th and 5th interrupts | ||
17 | are completion interrupts for each DMA channels. | ||
18 | - clocks: Reference to the clock entry. | ||
19 | |||
20 | Optional properties: | ||
21 | - dma-coherent : Present if dma operations are coherent | ||
22 | |||
23 | Example: | ||
24 | dmaclk: dmaclk@1f27c000 { | ||
25 | compatible = "apm,xgene-device-clock"; | ||
26 | #clock-cells = <1>; | ||
27 | clocks = <&socplldiv2 0>; | ||
28 | reg = <0x0 0x1f27c000 0x0 0x1000>; | ||
29 | reg-names = "csr-reg"; | ||
30 | clock-output-names = "dmaclk"; | ||
31 | }; | ||
32 | |||
33 | dma: dma@1f270000 { | ||
34 | compatible = "apm,xgene-storm-dma"; | ||
35 | device_type = "dma"; | ||
36 | reg = <0x0 0x1f270000 0x0 0x10000>, | ||
37 | <0x0 0x1f200000 0x0 0x10000>, | ||
38 | <0x0 0x1b008000 0x0 0x2000>, | ||
39 | <0x0 0x1054a000 0x0 0x100>; | ||
40 | interrupts = <0x0 0x82 0x4>, | ||
41 | <0x0 0xb8 0x4>, | ||
42 | <0x0 0xb9 0x4>, | ||
43 | <0x0 0xba 0x4>, | ||
44 | <0x0 0xbb 0x4>; | ||
45 | dma-coherent; | ||
46 | clocks = <&dmaclk 0>; | ||
47 | }; | ||
diff --git a/Documentation/devicetree/bindings/dma/jz4780-dma.txt b/Documentation/devicetree/bindings/dma/jz4780-dma.txt new file mode 100644 index 000000000000..f25feee62b15 --- /dev/null +++ b/Documentation/devicetree/bindings/dma/jz4780-dma.txt | |||
@@ -0,0 +1,56 @@ | |||
1 | * Ingenic JZ4780 DMA Controller | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - compatible: Should be "ingenic,jz4780-dma" | ||
6 | - reg: Should contain the DMA controller registers location and length. | ||
7 | - interrupts: Should contain the interrupt specifier of the DMA controller. | ||
8 | - interrupt-parent: Should be the phandle of the interrupt controller that | ||
9 | - clocks: Should contain a clock specifier for the JZ4780 PDMA clock. | ||
10 | - #dma-cells: Must be <2>. Number of integer cells in the dmas property of | ||
11 | DMA clients (see below). | ||
12 | |||
13 | Optional properties: | ||
14 | |||
15 | - ingenic,reserved-channels: Bitmask of channels to reserve for devices that | ||
16 | need a specific channel. These channels will only be assigned when explicitly | ||
17 | requested by a client. The primary use for this is channels 0 and 1, which | ||
18 | can be configured to have special behaviour for NAND/BCH when using | ||
19 | programmable firmware. | ||
20 | |||
21 | Example: | ||
22 | |||
23 | dma: dma@13420000 { | ||
24 | compatible = "ingenic,jz4780-dma"; | ||
25 | reg = <0x13420000 0x10000>; | ||
26 | |||
27 | interrupt-parent = <&intc>; | ||
28 | interrupts = <10>; | ||
29 | |||
30 | clocks = <&cgu JZ4780_CLK_PDMA>; | ||
31 | |||
32 | #dma-cells = <2>; | ||
33 | |||
34 | ingenic,reserved-channels = <0x3>; | ||
35 | }; | ||
36 | |||
37 | DMA clients must use the format described in dma.txt, giving a phandle to the | ||
38 | DMA controller plus the following 2 integer cells: | ||
39 | |||
40 | 1. Request type: The DMA request type for transfers to/from the device on | ||
41 | the allocated channel, as defined in the SoC documentation. | ||
42 | |||
43 | 2. Channel: If set to 0xffffffff, any available channel will be allocated for | ||
44 | the client. Otherwise, the exact channel specified will be used. The channel | ||
45 | should be reserved on the DMA controller using the ingenic,reserved-channels | ||
46 | property. | ||
47 | |||
48 | Example: | ||
49 | |||
50 | uart0: serial@10030000 { | ||
51 | ... | ||
52 | dmas = <&dma 0x14 0xffffffff | ||
53 | &dma 0x15 0xffffffff>; | ||
54 | dma-names = "tx", "rx"; | ||
55 | ... | ||
56 | }; | ||
diff --git a/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt b/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt index f8c3311b7153..1c9d48ea4914 100644 --- a/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt +++ b/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt | |||
@@ -4,6 +4,7 @@ Required properties: | |||
4 | - compatible: must be one of the following: | 4 | - compatible: must be one of the following: |
5 | * "qcom,bam-v1.4.0" for MSM8974, APQ8074 and APQ8084 | 5 | * "qcom,bam-v1.4.0" for MSM8974, APQ8074 and APQ8084 |
6 | * "qcom,bam-v1.3.0" for APQ8064, IPQ8064 and MSM8960 | 6 | * "qcom,bam-v1.3.0" for APQ8064, IPQ8064 and MSM8960 |
7 | * "qcom,bam-v1.7.0" for MSM8916 | ||
7 | - reg: Address range for DMA registers | 8 | - reg: Address range for DMA registers |
8 | - interrupts: Should contain the one interrupt shared by all channels | 9 | - interrupts: Should contain the one interrupt shared by all channels |
9 | - #dma-cells: must be <1>, the cell in the dmas property of the client device | 10 | - #dma-cells: must be <1>, the cell in the dmas property of the client device |
diff --git a/Documentation/devicetree/bindings/dma/rcar-audmapp.txt b/Documentation/devicetree/bindings/dma/rcar-audmapp.txt deleted file mode 100644 index 61bca509d7b9..000000000000 --- a/Documentation/devicetree/bindings/dma/rcar-audmapp.txt +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | * R-Car Audio DMAC peri peri Device Tree bindings | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: should be "renesas,rcar-audmapp" | ||
5 | - #dma-cells: should be <1>, see "dmas" property below | ||
6 | |||
7 | Example: | ||
8 | audmapp: audio-dma-pp@0xec740000 { | ||
9 | compatible = "renesas,rcar-audmapp"; | ||
10 | #dma-cells = <1>; | ||
11 | |||
12 | reg = <0 0xec740000 0 0x200>; | ||
13 | }; | ||
14 | |||
15 | |||
16 | * DMA client | ||
17 | |||
18 | Required properties: | ||
19 | - dmas: a list of <[DMA multiplexer phandle] [SRS << 8 | DRS]> pairs. | ||
20 | where SRS/DRS are specified in the SoC manual. | ||
21 | It will be written into PDMACHCR as high 16-bit parts. | ||
22 | - dma-names: a list of DMA channel names, one per "dmas" entry | ||
23 | |||
24 | Example: | ||
25 | |||
26 | dmas = <&audmapp 0x2d00 | ||
27 | &audmapp 0x3700>; | ||
28 | dma-names = "src0_ssiu0", | ||
29 | "dvc0_ssiu0"; | ||
diff --git a/Documentation/devicetree/bindings/dma/renesas,usb-dmac.txt b/Documentation/devicetree/bindings/dma/renesas,usb-dmac.txt new file mode 100644 index 000000000000..040f365954cc --- /dev/null +++ b/Documentation/devicetree/bindings/dma/renesas,usb-dmac.txt | |||
@@ -0,0 +1,37 @@ | |||
1 | * Renesas USB DMA Controller Device Tree bindings | ||
2 | |||
3 | Required Properties: | ||
4 | - compatible: must contain "renesas,usb-dmac" | ||
5 | - reg: base address and length of the registers block for the DMAC | ||
6 | - interrupts: interrupt specifiers for the DMAC, one for each entry in | ||
7 | interrupt-names. | ||
8 | - interrupt-names: one entry per channel, named "ch%u", where %u is the | ||
9 | channel number ranging from zero to the number of channels minus one. | ||
10 | - clocks: a list of phandle + clock-specifier pairs. | ||
11 | - #dma-cells: must be <1>, the cell specifies the channel number of the DMAC | ||
12 | port connected to the DMA client. | ||
13 | - dma-channels: number of DMA channels | ||
14 | |||
15 | Example: R8A7790 (R-Car H2) USB-DMACs | ||
16 | |||
17 | usb_dmac0: dma-controller@e65a0000 { | ||
18 | compatible = "renesas,usb-dmac"; | ||
19 | reg = <0 0xe65a0000 0 0x100>; | ||
20 | interrupts = <0 109 IRQ_TYPE_LEVEL_HIGH | ||
21 | 0 109 IRQ_TYPE_LEVEL_HIGH>; | ||
22 | interrupt-names = "ch0", "ch1"; | ||
23 | clocks = <&mstp3_clks R8A7790_CLK_USBDMAC0>; | ||
24 | #dma-cells = <1>; | ||
25 | dma-channels = <2>; | ||
26 | }; | ||
27 | |||
28 | usb_dmac1: dma-controller@e65b0000 { | ||
29 | compatible = "renesas,usb-dmac"; | ||
30 | reg = <0 0xe65b0000 0 0x100>; | ||
31 | interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH | ||
32 | 0 110 IRQ_TYPE_LEVEL_HIGH>; | ||
33 | interrupt-names = "ch0", "ch1"; | ||
34 | clocks = <&mstp3_clks R8A7790_CLK_USBDMAC1>; | ||
35 | #dma-cells = <1>; | ||
36 | dma-channels = <2>; | ||
37 | }; | ||