Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: pl330: Add #dma-cells for generic dma binding support

This patch adds #dma-cells property to PL330 DMA controller
nodes for supporting generic dma dt bindings on samsung
exynos5250 platform.

Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>

authored by

Padmavathi Venna and committed by
Vinod Koul
42cf2098 421da89a

+28 -5
+16 -5
Documentation/devicetree/bindings/dma/arm-pl330.txt
··· 10 10 - interrupts: interrupt number to the cpu. 11 11 12 12 Optional properties: 13 - - dma-coherent : Present if dma operations are coherent 13 + - dma-coherent : Present if dma operations are coherent 14 + - #dma-cells: must be <1>. used to represent the number of integer 15 + cells in the dmas property of client device. 16 + - dma-channels: contains the total number of DMA channels supported by the DMAC 17 + - dma-requests: contains the total number of DMA requests supported by the DMAC 14 18 15 19 Example: 16 20 ··· 22 18 compatible = "arm,pl330", "arm,primecell"; 23 19 reg = <0x12680000 0x1000>; 24 20 interrupts = <99>; 21 + #dma-cells = <1>; 22 + #dma-channels = <8>; 23 + #dma-requests = <32>; 25 24 }; 26 25 27 26 Client drivers (device nodes requiring dma transfers from dev-to-mem or 28 - mem-to-dev) should specify the DMA channel numbers using a two-value pair 27 + mem-to-dev) should specify the DMA channel numbers and dma channel names 29 28 as shown below. 30 29 31 30 [property name] = <[phandle of the dma controller] [dma request id]>; 31 + [property name] = <[dma channel name]> 32 32 33 33 where 'dma request id' is the dma request number which is connected 34 - to the client controller. The 'property name' is recommended to be 35 - of the form <name>-dma-channel. 34 + to the client controller. The 'property name' 'dmas' and 'dma-names' 35 + as required by the generic dma device tree binding helpers. The dma 36 + names correspond 1:1 with the dma request ids in the dmas property. 36 37 37 - Example: tx-dma-channel = <&pdma0 12>; 38 + Example: dmas = <&pdma0 12 39 + &pdma1 11>; 40 + dma-names = "tx", "rx";
+12
arch/arm/boot/dts/exynos5250.dtsi
··· 280 280 compatible = "arm,pl330", "arm,primecell"; 281 281 reg = <0x121A0000 0x1000>; 282 282 interrupts = <0 34 0>; 283 + #dma-cells = <1>; 284 + #dma-channels = <8>; 285 + #dma-requests = <32>; 283 286 }; 284 287 285 288 pdma1: pdma@121B0000 { 286 289 compatible = "arm,pl330", "arm,primecell"; 287 290 reg = <0x121B0000 0x1000>; 288 291 interrupts = <0 35 0>; 292 + #dma-cells = <1>; 293 + #dma-channels = <8>; 294 + #dma-requests = <32>; 289 295 }; 290 296 291 297 mdma0: mdma@10800000 { 292 298 compatible = "arm,pl330", "arm,primecell"; 293 299 reg = <0x10800000 0x1000>; 294 300 interrupts = <0 33 0>; 301 + #dma-cells = <1>; 302 + #dma-channels = <8>; 303 + #dma-requests = <1>; 295 304 }; 296 305 297 306 mdma1: mdma@11C10000 { 298 307 compatible = "arm,pl330", "arm,primecell"; 299 308 reg = <0x11C10000 0x1000>; 300 309 interrupts = <0 124 0>; 310 + #dma-cells = <1>; 311 + #dma-channels = <8>; 312 + #dma-requests = <1>; 301 313 }; 302 314 }; 303 315