aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-ux500
diff options
context:
space:
mode:
authorLee Jones <lee.jones@linaro.org>2013-05-03 10:31:56 -0400
committerLinus Walleij <linus.walleij@linaro.org>2013-05-23 15:11:51 -0400
commit26955c07dcf3c36b6427e52fec0f725300ca079e (patch)
treeeb6a3ff98566809292403701019bdf1a42e151f1 /arch/arm/mach-ux500
parent4f8fc46c797015dddc1d4c76e1b485b57373683b (diff)
dmaengine: ste_dma40: Amalgamate DMA source and destination channel numbers
Devices which utilise DMA use the same device numbers for transmitting and receiving. In this patch we encode the source and destination information into one single attribute. We can subsequently exploit the direction attribute to see which of the transfer directions are being described. This also lessens the burden on platform data. Cc: Dan Williams <djbw@fb.com> Cc: Per Forlin <per.forlin@stericsson.com> Cc: Rabin Vincent <rabin@rab.in> Acked-by: Vinod Koul <vinod.koul@intel.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch/arm/mach-ux500')
-rw-r--r--arch/arm/mach-ux500/board-mop500-audio.c18
-rw-r--r--arch/arm/mach-ux500/board-mop500-sdi.c24
-rw-r--r--arch/arm/mach-ux500/board-mop500.c33
-rw-r--r--arch/arm/mach-ux500/cpu-db8500.c32
-rw-r--r--arch/arm/mach-ux500/devices-db8500.c120
-rw-r--r--arch/arm/mach-ux500/ste-dma40-db8500.h193
-rw-r--r--arch/arm/mach-ux500/usb.c10
7 files changed, 172 insertions, 258 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-audio.c b/arch/arm/mach-ux500/board-mop500-audio.c
index aba9e5692958..5a968fa8b90c 100644
--- a/arch/arm/mach-ux500/board-mop500-audio.c
+++ b/arch/arm/mach-ux500/board-mop500-audio.c
@@ -23,8 +23,7 @@ static struct stedma40_chan_cfg msp0_dma_rx = {
23 .high_priority = true, 23 .high_priority = true,
24 .dir = STEDMA40_PERIPH_TO_MEM, 24 .dir = STEDMA40_PERIPH_TO_MEM,
25 25
26 .src_dev_type = DB8500_DMA_DEV31_MSP0_RX_SLIM0_CH0_RX, 26 .dev_type = DB8500_DMA_DEV31_MSP0_SLIM0_CH0,
27 .dst_dev_type = STEDMA40_DEV_DST_MEMORY,
28 27
29 .src_info.psize = STEDMA40_PSIZE_LOG_4, 28 .src_info.psize = STEDMA40_PSIZE_LOG_4,
30 .dst_info.psize = STEDMA40_PSIZE_LOG_4, 29 .dst_info.psize = STEDMA40_PSIZE_LOG_4,
@@ -36,8 +35,7 @@ static struct stedma40_chan_cfg msp0_dma_tx = {
36 .high_priority = true, 35 .high_priority = true,
37 .dir = STEDMA40_MEM_TO_PERIPH, 36 .dir = STEDMA40_MEM_TO_PERIPH,
38 37
39 .src_dev_type = STEDMA40_DEV_DST_MEMORY, 38 .dev_type = DB8500_DMA_DEV31_MSP0_SLIM0_CH0,
40 .dst_dev_type = DB8500_DMA_DEV31_MSP0_TX_SLIM0_CH0_TX,
41 39
42 .src_info.psize = STEDMA40_PSIZE_LOG_4, 40 .src_info.psize = STEDMA40_PSIZE_LOG_4,
43 .dst_info.psize = STEDMA40_PSIZE_LOG_4, 41 .dst_info.psize = STEDMA40_PSIZE_LOG_4,
@@ -55,8 +53,7 @@ static struct stedma40_chan_cfg msp1_dma_rx = {
55 .high_priority = true, 53 .high_priority = true,
56 .dir = STEDMA40_PERIPH_TO_MEM, 54 .dir = STEDMA40_PERIPH_TO_MEM,
57 55
58 .src_dev_type = DB8500_DMA_DEV30_MSP3_RX, 56 .dev_type = DB8500_DMA_DEV30_MSP3,
59 .dst_dev_type = STEDMA40_DEV_DST_MEMORY,
60 57
61 .src_info.psize = STEDMA40_PSIZE_LOG_4, 58 .src_info.psize = STEDMA40_PSIZE_LOG_4,
62 .dst_info.psize = STEDMA40_PSIZE_LOG_4, 59 .dst_info.psize = STEDMA40_PSIZE_LOG_4,
@@ -68,8 +65,7 @@ static struct stedma40_chan_cfg msp1_dma_tx = {
68 .high_priority = true, 65 .high_priority = true,
69 .dir = STEDMA40_MEM_TO_PERIPH, 66 .dir = STEDMA40_MEM_TO_PERIPH,
70 67
71 .src_dev_type = STEDMA40_DEV_DST_MEMORY, 68 .dev_type = DB8500_DMA_DEV30_MSP1,
72 .dst_dev_type = DB8500_DMA_DEV30_MSP1_TX,
73 69
74 .src_info.psize = STEDMA40_PSIZE_LOG_4, 70 .src_info.psize = STEDMA40_PSIZE_LOG_4,
75 .dst_info.psize = STEDMA40_PSIZE_LOG_4, 71 .dst_info.psize = STEDMA40_PSIZE_LOG_4,
@@ -87,8 +83,7 @@ static struct stedma40_chan_cfg msp2_dma_rx = {
87 .high_priority = true, 83 .high_priority = true,
88 .dir = STEDMA40_PERIPH_TO_MEM, 84 .dir = STEDMA40_PERIPH_TO_MEM,
89 85
90 .src_dev_type = DB8500_DMA_DEV14_MSP2_RX, 86 .dev_type = DB8500_DMA_DEV14_MSP2,
91 .dst_dev_type = STEDMA40_DEV_DST_MEMORY,
92 87
93 /* MSP2 DMA doesn't work with PSIZE == 4 on DB8500v2 */ 88 /* MSP2 DMA doesn't work with PSIZE == 4 on DB8500v2 */
94 .src_info.psize = STEDMA40_PSIZE_LOG_1, 89 .src_info.psize = STEDMA40_PSIZE_LOG_1,
@@ -101,8 +96,7 @@ static struct stedma40_chan_cfg msp2_dma_tx = {
101 .high_priority = true, 96 .high_priority = true,
102 .dir = STEDMA40_MEM_TO_PERIPH, 97 .dir = STEDMA40_MEM_TO_PERIPH,
103 98
104 .src_dev_type = STEDMA40_DEV_DST_MEMORY, 99 .dev_type = DB8500_DMA_DEV14_MSP2,
105 .dst_dev_type = DB8500_DMA_DEV14_MSP2_TX,
106 100
107 .src_info.psize = STEDMA40_PSIZE_LOG_4, 101 .src_info.psize = STEDMA40_PSIZE_LOG_4,
108 .dst_info.psize = STEDMA40_PSIZE_LOG_4, 102 .dst_info.psize = STEDMA40_PSIZE_LOG_4,
diff --git a/arch/arm/mach-ux500/board-mop500-sdi.c b/arch/arm/mach-ux500/board-mop500-sdi.c
index 0ef38775a0c1..4e30b6dc9ac5 100644
--- a/arch/arm/mach-ux500/board-mop500-sdi.c
+++ b/arch/arm/mach-ux500/board-mop500-sdi.c
@@ -35,8 +35,7 @@
35struct stedma40_chan_cfg mop500_sdi0_dma_cfg_rx = { 35struct stedma40_chan_cfg mop500_sdi0_dma_cfg_rx = {
36 .mode = STEDMA40_MODE_LOGICAL, 36 .mode = STEDMA40_MODE_LOGICAL,
37 .dir = STEDMA40_PERIPH_TO_MEM, 37 .dir = STEDMA40_PERIPH_TO_MEM,
38 .src_dev_type = DB8500_DMA_DEV29_SD_MM0_RX, 38 .dev_type = DB8500_DMA_DEV29_SD_MM0,
39 .dst_dev_type = STEDMA40_DEV_DST_MEMORY,
40 .src_info.data_width = STEDMA40_WORD_WIDTH, 39 .src_info.data_width = STEDMA40_WORD_WIDTH,
41 .dst_info.data_width = STEDMA40_WORD_WIDTH, 40 .dst_info.data_width = STEDMA40_WORD_WIDTH,
42}; 41};
@@ -44,8 +43,7 @@ struct stedma40_chan_cfg mop500_sdi0_dma_cfg_rx = {
44static struct stedma40_chan_cfg mop500_sdi0_dma_cfg_tx = { 43static struct stedma40_chan_cfg mop500_sdi0_dma_cfg_tx = {
45 .mode = STEDMA40_MODE_LOGICAL, 44 .mode = STEDMA40_MODE_LOGICAL,
46 .dir = STEDMA40_MEM_TO_PERIPH, 45 .dir = STEDMA40_MEM_TO_PERIPH,
47 .src_dev_type = STEDMA40_DEV_SRC_MEMORY, 46 .dev_type = DB8500_DMA_DEV29_SD_MM0,
48 .dst_dev_type = DB8500_DMA_DEV29_SD_MM0_TX,
49 .src_info.data_width = STEDMA40_WORD_WIDTH, 47 .src_info.data_width = STEDMA40_WORD_WIDTH,
50 .dst_info.data_width = STEDMA40_WORD_WIDTH, 48 .dst_info.data_width = STEDMA40_WORD_WIDTH,
51}; 49};
@@ -88,8 +86,7 @@ void mop500_sdi_tc35892_init(struct device *parent)
88static struct stedma40_chan_cfg sdi1_dma_cfg_rx = { 86static struct stedma40_chan_cfg sdi1_dma_cfg_rx = {
89 .mode = STEDMA40_MODE_LOGICAL, 87 .mode = STEDMA40_MODE_LOGICAL,
90 .dir = STEDMA40_PERIPH_TO_MEM, 88 .dir = STEDMA40_PERIPH_TO_MEM,
91 .src_dev_type = DB8500_DMA_DEV32_SD_MM1_RX, 89 .dev_type = DB8500_DMA_DEV32_SD_MM1,
92 .dst_dev_type = STEDMA40_DEV_DST_MEMORY,
93 .src_info.data_width = STEDMA40_WORD_WIDTH, 90 .src_info.data_width = STEDMA40_WORD_WIDTH,
94 .dst_info.data_width = STEDMA40_WORD_WIDTH, 91 .dst_info.data_width = STEDMA40_WORD_WIDTH,
95}; 92};
@@ -97,8 +94,7 @@ static struct stedma40_chan_cfg sdi1_dma_cfg_rx = {
97static struct stedma40_chan_cfg sdi1_dma_cfg_tx = { 94static struct stedma40_chan_cfg sdi1_dma_cfg_tx = {
98 .mode = STEDMA40_MODE_LOGICAL, 95 .mode = STEDMA40_MODE_LOGICAL,
99 .dir = STEDMA40_MEM_TO_PERIPH, 96 .dir = STEDMA40_MEM_TO_PERIPH,
100 .src_dev_type = STEDMA40_DEV_SRC_MEMORY, 97 .dev_type = DB8500_DMA_DEV32_SD_MM1,
101 .dst_dev_type = DB8500_DMA_DEV32_SD_MM1_TX,
102 .src_info.data_width = STEDMA40_WORD_WIDTH, 98 .src_info.data_width = STEDMA40_WORD_WIDTH,
103 .dst_info.data_width = STEDMA40_WORD_WIDTH, 99 .dst_info.data_width = STEDMA40_WORD_WIDTH,
104}; 100};
@@ -125,8 +121,7 @@ struct mmci_platform_data mop500_sdi1_data = {
125struct stedma40_chan_cfg mop500_sdi2_dma_cfg_rx = { 121struct stedma40_chan_cfg mop500_sdi2_dma_cfg_rx = {
126 .mode = STEDMA40_MODE_LOGICAL, 122 .mode = STEDMA40_MODE_LOGICAL,
127 .dir = STEDMA40_PERIPH_TO_MEM, 123 .dir = STEDMA40_PERIPH_TO_MEM,
128 .src_dev_type = DB8500_DMA_DEV28_SD_MM2_RX, 124 .dev_type = DB8500_DMA_DEV28_SD_MM2,
129 .dst_dev_type = STEDMA40_DEV_DST_MEMORY,
130 .src_info.data_width = STEDMA40_WORD_WIDTH, 125 .src_info.data_width = STEDMA40_WORD_WIDTH,
131 .dst_info.data_width = STEDMA40_WORD_WIDTH, 126 .dst_info.data_width = STEDMA40_WORD_WIDTH,
132}; 127};
@@ -134,8 +129,7 @@ struct stedma40_chan_cfg mop500_sdi2_dma_cfg_rx = {
134static struct stedma40_chan_cfg mop500_sdi2_dma_cfg_tx = { 129static struct stedma40_chan_cfg mop500_sdi2_dma_cfg_tx = {
135 .mode = STEDMA40_MODE_LOGICAL, 130 .mode = STEDMA40_MODE_LOGICAL,
136 .dir = STEDMA40_MEM_TO_PERIPH, 131 .dir = STEDMA40_MEM_TO_PERIPH,
137 .src_dev_type = STEDMA40_DEV_SRC_MEMORY, 132 .dev_type = DB8500_DMA_DEV28_SD_MM2,
138 .dst_dev_type = DB8500_DMA_DEV28_SD_MM2_TX,
139 .src_info.data_width = STEDMA40_WORD_WIDTH, 133 .src_info.data_width = STEDMA40_WORD_WIDTH,
140 .dst_info.data_width = STEDMA40_WORD_WIDTH, 134 .dst_info.data_width = STEDMA40_WORD_WIDTH,
141}; 135};
@@ -163,8 +157,7 @@ struct mmci_platform_data mop500_sdi2_data = {
163struct stedma40_chan_cfg mop500_sdi4_dma_cfg_rx = { 157struct stedma40_chan_cfg mop500_sdi4_dma_cfg_rx = {
164 .mode = STEDMA40_MODE_LOGICAL, 158 .mode = STEDMA40_MODE_LOGICAL,
165 .dir = STEDMA40_PERIPH_TO_MEM, 159 .dir = STEDMA40_PERIPH_TO_MEM,
166 .src_dev_type = DB8500_DMA_DEV42_SD_MM4_RX, 160 .dev_type = DB8500_DMA_DEV42_SD_MM4,
167 .dst_dev_type = STEDMA40_DEV_DST_MEMORY,
168 .src_info.data_width = STEDMA40_WORD_WIDTH, 161 .src_info.data_width = STEDMA40_WORD_WIDTH,
169 .dst_info.data_width = STEDMA40_WORD_WIDTH, 162 .dst_info.data_width = STEDMA40_WORD_WIDTH,
170}; 163};
@@ -172,8 +165,7 @@ struct stedma40_chan_cfg mop500_sdi4_dma_cfg_rx = {
172static struct stedma40_chan_cfg mop500_sdi4_dma_cfg_tx = { 165static struct stedma40_chan_cfg mop500_sdi4_dma_cfg_tx = {
173 .mode = STEDMA40_MODE_LOGICAL, 166 .mode = STEDMA40_MODE_LOGICAL,
174 .dir = STEDMA40_MEM_TO_PERIPH, 167 .dir = STEDMA40_MEM_TO_PERIPH,
175 .src_dev_type = STEDMA40_DEV_SRC_MEMORY, 168 .dev_type = DB8500_DMA_DEV42_SD_MM4,
176 .dst_dev_type = DB8500_DMA_DEV42_SD_MM4_TX,
177 .src_info.data_width = STEDMA40_WORD_WIDTH, 169 .src_info.data_width = STEDMA40_WORD_WIDTH,
178 .dst_info.data_width = STEDMA40_WORD_WIDTH, 170 .dst_info.data_width = STEDMA40_WORD_WIDTH,
179}; 171};
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index 3cd555ac6d0a..871e61517fb2 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -425,8 +425,7 @@ void mop500_snowball_ethernet_clock_enable(void)
425static struct cryp_platform_data u8500_cryp1_platform_data = { 425static struct cryp_platform_data u8500_cryp1_platform_data = {
426 .mem_to_engine = { 426 .mem_to_engine = {
427 .dir = STEDMA40_MEM_TO_PERIPH, 427 .dir = STEDMA40_MEM_TO_PERIPH,
428 .src_dev_type = STEDMA40_DEV_SRC_MEMORY, 428 .dev_type = DB8500_DMA_DEV48_CAC1,
429 .dst_dev_type = DB8500_DMA_DEV48_CAC1_TX,
430 .src_info.data_width = STEDMA40_WORD_WIDTH, 429 .src_info.data_width = STEDMA40_WORD_WIDTH,
431 .dst_info.data_width = STEDMA40_WORD_WIDTH, 430 .dst_info.data_width = STEDMA40_WORD_WIDTH,
432 .mode = STEDMA40_MODE_LOGICAL, 431 .mode = STEDMA40_MODE_LOGICAL,
@@ -435,8 +434,7 @@ static struct cryp_platform_data u8500_cryp1_platform_data = {
435 }, 434 },
436 .engine_to_mem = { 435 .engine_to_mem = {
437 .dir = STEDMA40_PERIPH_TO_MEM, 436 .dir = STEDMA40_PERIPH_TO_MEM,
438 .src_dev_type = DB8500_DMA_DEV48_CAC1_RX, 437 .dev_type = DB8500_DMA_DEV48_CAC1,
439 .dst_dev_type = STEDMA40_DEV_DST_MEMORY,
440 .src_info.data_width = STEDMA40_WORD_WIDTH, 438 .src_info.data_width = STEDMA40_WORD_WIDTH,
441 .dst_info.data_width = STEDMA40_WORD_WIDTH, 439 .dst_info.data_width = STEDMA40_WORD_WIDTH,
442 .mode = STEDMA40_MODE_LOGICAL, 440 .mode = STEDMA40_MODE_LOGICAL,
@@ -447,8 +445,7 @@ static struct cryp_platform_data u8500_cryp1_platform_data = {
447 445
448static struct stedma40_chan_cfg u8500_hash_dma_cfg_tx = { 446static struct stedma40_chan_cfg u8500_hash_dma_cfg_tx = {
449 .dir = STEDMA40_MEM_TO_PERIPH, 447 .dir = STEDMA40_MEM_TO_PERIPH,
450 .src_dev_type = STEDMA40_DEV_SRC_MEMORY, 448 .dev_type = DB8500_DMA_DEV50_HAC1_TX,
451 .dst_dev_type = DB8500_DMA_DEV50_HAC1_TX,
452 .src_info.data_width = STEDMA40_WORD_WIDTH, 449 .src_info.data_width = STEDMA40_WORD_WIDTH,
453 .dst_info.data_width = STEDMA40_WORD_WIDTH, 450 .dst_info.data_width = STEDMA40_WORD_WIDTH,
454 .mode = STEDMA40_MODE_LOGICAL, 451 .mode = STEDMA40_MODE_LOGICAL,
@@ -471,8 +468,7 @@ static struct platform_device *mop500_platform_devs[] __initdata = {
471static struct stedma40_chan_cfg ssp0_dma_cfg_rx = { 468static struct stedma40_chan_cfg ssp0_dma_cfg_rx = {
472 .mode = STEDMA40_MODE_LOGICAL, 469 .mode = STEDMA40_MODE_LOGICAL,
473 .dir = STEDMA40_PERIPH_TO_MEM, 470 .dir = STEDMA40_PERIPH_TO_MEM,
474 .src_dev_type = DB8500_DMA_DEV8_SSP0_RX, 471 .dev_type = DB8500_DMA_DEV8_SSP0,
475 .dst_dev_type = STEDMA40_DEV_DST_MEMORY,
476 .src_info.data_width = STEDMA40_BYTE_WIDTH, 472 .src_info.data_width = STEDMA40_BYTE_WIDTH,
477 .dst_info.data_width = STEDMA40_BYTE_WIDTH, 473 .dst_info.data_width = STEDMA40_BYTE_WIDTH,
478}; 474};
@@ -480,8 +476,7 @@ static struct stedma40_chan_cfg ssp0_dma_cfg_rx = {
480static struct stedma40_chan_cfg ssp0_dma_cfg_tx = { 476static struct stedma40_chan_cfg ssp0_dma_cfg_tx = {
481 .mode = STEDMA40_MODE_LOGICAL, 477 .mode = STEDMA40_MODE_LOGICAL,
482 .dir = STEDMA40_MEM_TO_PERIPH, 478 .dir = STEDMA40_MEM_TO_PERIPH,
483 .src_dev_type = STEDMA40_DEV_SRC_MEMORY, 479 .dev_type = DB8500_DMA_DEV8_SSP0,
484 .dst_dev_type = DB8500_DMA_DEV8_SSP0_TX,
485 .src_info.data_width = STEDMA40_BYTE_WIDTH, 480 .src_info.data_width = STEDMA40_BYTE_WIDTH,
486 .dst_info.data_width = STEDMA40_BYTE_WIDTH, 481 .dst_info.data_width = STEDMA40_BYTE_WIDTH,
487}; 482};
@@ -512,8 +507,7 @@ static void __init mop500_spi_init(struct device *parent)
512static struct stedma40_chan_cfg uart0_dma_cfg_rx = { 507static struct stedma40_chan_cfg uart0_dma_cfg_rx = {
513 .mode = STEDMA40_MODE_LOGICAL, 508 .mode = STEDMA40_MODE_LOGICAL,
514 .dir = STEDMA40_PERIPH_TO_MEM, 509 .dir = STEDMA40_PERIPH_TO_MEM,
515 .src_dev_type = DB8500_DMA_DEV13_UART0_RX, 510 .dev_type = DB8500_DMA_DEV13_UART0,
516 .dst_dev_type = STEDMA40_DEV_DST_MEMORY,
517 .src_info.data_width = STEDMA40_BYTE_WIDTH, 511 .src_info.data_width = STEDMA40_BYTE_WIDTH,
518 .dst_info.data_width = STEDMA40_BYTE_WIDTH, 512 .dst_info.data_width = STEDMA40_BYTE_WIDTH,
519}; 513};
@@ -521,8 +515,7 @@ static struct stedma40_chan_cfg uart0_dma_cfg_rx = {
521static struct stedma40_chan_cfg uart0_dma_cfg_tx = { 515static struct stedma40_chan_cfg uart0_dma_cfg_tx = {
522 .mode = STEDMA40_MODE_LOGICAL, 516 .mode = STEDMA40_MODE_LOGICAL,
523 .dir = STEDMA40_MEM_TO_PERIPH, 517 .dir = STEDMA40_MEM_TO_PERIPH,
524 .src_dev_type = STEDMA40_DEV_SRC_MEMORY, 518 .dev_type = DB8500_DMA_DEV13_UART0,
525 .dst_dev_type = DB8500_DMA_DEV13_UART0_TX,
526 .src_info.data_width = STEDMA40_BYTE_WIDTH, 519 .src_info.data_width = STEDMA40_BYTE_WIDTH,
527 .dst_info.data_width = STEDMA40_BYTE_WIDTH, 520 .dst_info.data_width = STEDMA40_BYTE_WIDTH,
528}; 521};
@@ -530,8 +523,7 @@ static struct stedma40_chan_cfg uart0_dma_cfg_tx = {
530static struct stedma40_chan_cfg uart1_dma_cfg_rx = { 523static struct stedma40_chan_cfg uart1_dma_cfg_rx = {
531 .mode = STEDMA40_MODE_LOGICAL, 524 .mode = STEDMA40_MODE_LOGICAL,
532 .dir = STEDMA40_PERIPH_TO_MEM, 525 .dir = STEDMA40_PERIPH_TO_MEM,
533 .src_dev_type = DB8500_DMA_DEV12_UART1_RX, 526 .dev_type = DB8500_DMA_DEV12_UART1,
534 .dst_dev_type = STEDMA40_DEV_DST_MEMORY,
535 .src_info.data_width = STEDMA40_BYTE_WIDTH, 527 .src_info.data_width = STEDMA40_BYTE_WIDTH,
536 .dst_info.data_width = STEDMA40_BYTE_WIDTH, 528 .dst_info.data_width = STEDMA40_BYTE_WIDTH,
537}; 529};
@@ -539,8 +531,7 @@ static struct stedma40_chan_cfg uart1_dma_cfg_rx = {
539static struct stedma40_chan_cfg uart1_dma_cfg_tx = { 531static struct stedma40_chan_cfg uart1_dma_cfg_tx = {
540 .mode = STEDMA40_MODE_LOGICAL, 532 .mode = STEDMA40_MODE_LOGICAL,
541 .dir = STEDMA40_MEM_TO_PERIPH, 533 .dir = STEDMA40_MEM_TO_PERIPH,
542 .src_dev_type = STEDMA40_DEV_SRC_MEMORY, 534 .dev_type = DB8500_DMA_DEV12_UART1,
543 .dst_dev_type = DB8500_DMA_DEV12_UART1_TX,
544 .src_info.data_width = STEDMA40_BYTE_WIDTH, 535 .src_info.data_width = STEDMA40_BYTE_WIDTH,
545 .dst_info.data_width = STEDMA40_BYTE_WIDTH, 536 .dst_info.data_width = STEDMA40_BYTE_WIDTH,
546}; 537};
@@ -548,8 +539,7 @@ static struct stedma40_chan_cfg uart1_dma_cfg_tx = {
548static struct stedma40_chan_cfg uart2_dma_cfg_rx = { 539static struct stedma40_chan_cfg uart2_dma_cfg_rx = {
549 .mode = STEDMA40_MODE_LOGICAL, 540 .mode = STEDMA40_MODE_LOGICAL,
550 .dir = STEDMA40_PERIPH_TO_MEM, 541 .dir = STEDMA40_PERIPH_TO_MEM,
551 .src_dev_type = DB8500_DMA_DEV11_UART2_RX, 542 .dev_type = DB8500_DMA_DEV11_UART2,
552 .dst_dev_type = STEDMA40_DEV_DST_MEMORY,
553 .src_info.data_width = STEDMA40_BYTE_WIDTH, 543 .src_info.data_width = STEDMA40_BYTE_WIDTH,
554 .dst_info.data_width = STEDMA40_BYTE_WIDTH, 544 .dst_info.data_width = STEDMA40_BYTE_WIDTH,
555}; 545};
@@ -557,8 +547,7 @@ static struct stedma40_chan_cfg uart2_dma_cfg_rx = {
557static struct stedma40_chan_cfg uart2_dma_cfg_tx = { 547static struct stedma40_chan_cfg uart2_dma_cfg_tx = {
558 .mode = STEDMA40_MODE_LOGICAL, 548 .mode = STEDMA40_MODE_LOGICAL,
559 .dir = STEDMA40_MEM_TO_PERIPH, 549 .dir = STEDMA40_MEM_TO_PERIPH,
560 .src_dev_type = STEDMA40_DEV_SRC_MEMORY, 550 .dev_type = DB8500_DMA_DEV11_UART2,
561 .dst_dev_type = DB8500_DMA_DEV11_UART2_TX,
562 .src_info.data_width = STEDMA40_BYTE_WIDTH, 551 .src_info.data_width = STEDMA40_BYTE_WIDTH,
563 .dst_info.data_width = STEDMA40_BYTE_WIDTH, 552 .dst_info.data_width = STEDMA40_BYTE_WIDTH,
564}; 553};
diff --git a/arch/arm/mach-ux500/cpu-db8500.c b/arch/arm/mach-ux500/cpu-db8500.c
index e90b5ab23b6d..67d68e05f3a7 100644
--- a/arch/arm/mach-ux500/cpu-db8500.c
+++ b/arch/arm/mach-ux500/cpu-db8500.c
@@ -163,25 +163,25 @@ static void __init db8500_add_gpios(struct device *parent)
163} 163}
164 164
165static int usb_db8500_rx_dma_cfg[] = { 165static int usb_db8500_rx_dma_cfg[] = {
166 DB8500_DMA_DEV38_USB_OTG_IEP_1_9, 166 DB8500_DMA_DEV38_USB_OTG_IEP_AND_OEP_1_9,
167 DB8500_DMA_DEV37_USB_OTG_IEP_2_10, 167 DB8500_DMA_DEV37_USB_OTG_IEP_AND_OEP_2_10,
168 DB8500_DMA_DEV36_USB_OTG_IEP_3_11, 168 DB8500_DMA_DEV36_USB_OTG_IEP_AND_OEP_3_11,
169 DB8500_DMA_DEV19_USB_OTG_IEP_4_12, 169 DB8500_DMA_DEV19_USB_OTG_IEP_AND_OEP_4_12,
170 DB8500_DMA_DEV18_USB_OTG_IEP_5_13, 170 DB8500_DMA_DEV18_USB_OTG_IEP_AND_OEP_5_13,
171 DB8500_DMA_DEV17_USB_OTG_IEP_6_14, 171 DB8500_DMA_DEV17_USB_OTG_IEP_AND_OEP_6_14,
172 DB8500_DMA_DEV16_USB_OTG_IEP_7_15, 172 DB8500_DMA_DEV16_USB_OTG_IEP_AND_OEP_7_15,
173 DB8500_DMA_DEV39_USB_OTG_IEP_8 173 DB8500_DMA_DEV39_USB_OTG_IEP_AND_OEP_8
174}; 174};
175 175
176static int usb_db8500_tx_dma_cfg[] = { 176static int usb_db8500_tx_dma_cfg[] = {
177 DB8500_DMA_DEV38_USB_OTG_OEP_1_9, 177 DB8500_DMA_DEV38_USB_OTG_IEP_AND_OEP_1_9,
178 DB8500_DMA_DEV37_USB_OTG_OEP_2_10, 178 DB8500_DMA_DEV37_USB_OTG_IEP_AND_OEP_2_10,
179 DB8500_DMA_DEV36_USB_OTG_OEP_3_11, 179 DB8500_DMA_DEV36_USB_OTG_IEP_AND_OEP_3_11,
180 DB8500_DMA_DEV19_USB_OTG_OEP_4_12, 180 DB8500_DMA_DEV19_USB_OTG_IEP_AND_OEP_4_12,
181 DB8500_DMA_DEV18_USB_OTG_OEP_5_13, 181 DB8500_DMA_DEV18_USB_OTG_IEP_AND_OEP_5_13,
182 DB8500_DMA_DEV17_USB_OTG_OEP_6_14, 182 DB8500_DMA_DEV17_USB_OTG_IEP_AND_OEP_6_14,
183 DB8500_DMA_DEV16_USB_OTG_OEP_7_15, 183 DB8500_DMA_DEV16_USB_OTG_IEP_AND_OEP_7_15,
184 DB8500_DMA_DEV39_USB_OTG_OEP_8 184 DB8500_DMA_DEV39_USB_OTG_IEP_AND_OEP_8
185}; 185};
186 186
187static const char *db8500_read_soc_id(void) 187static const char *db8500_read_soc_id(void)
diff --git a/arch/arm/mach-ux500/devices-db8500.c b/arch/arm/mach-ux500/devices-db8500.c
index a30977b374ba..7989c564e47a 100644
--- a/arch/arm/mach-ux500/devices-db8500.c
+++ b/arch/arm/mach-ux500/devices-db8500.c
@@ -50,74 +50,74 @@ static struct resource dma40_resources[] = {
50 */ 50 */
51static const dma_addr_t dma40_tx_map[DB8500_DMA_NR_DEV] = { 51static const dma_addr_t dma40_tx_map[DB8500_DMA_NR_DEV] = {
52 /* MUSB - these will be runtime-reconfigured */ 52 /* MUSB - these will be runtime-reconfigured */
53 [DB8500_DMA_DEV39_USB_OTG_OEP_8] = -1, 53 [DB8500_DMA_DEV39_USB_OTG_IEP_AND_OEP_8] = -1,
54 [DB8500_DMA_DEV16_USB_OTG_OEP_7_15] = -1, 54 [DB8500_DMA_DEV16_USB_OTG_IEP_AND_OEP_7_15] = -1,
55 [DB8500_DMA_DEV17_USB_OTG_OEP_6_14] = -1, 55 [DB8500_DMA_DEV17_USB_OTG_IEP_AND_OEP_6_14] = -1,
56 [DB8500_DMA_DEV18_USB_OTG_OEP_5_13] = -1, 56 [DB8500_DMA_DEV18_USB_OTG_IEP_AND_OEP_5_13] = -1,
57 [DB8500_DMA_DEV19_USB_OTG_OEP_4_12] = -1, 57 [DB8500_DMA_DEV19_USB_OTG_IEP_AND_OEP_4_12] = -1,
58 [DB8500_DMA_DEV36_USB_OTG_OEP_3_11] = -1, 58 [DB8500_DMA_DEV36_USB_OTG_IEP_AND_OEP_3_11] = -1,
59 [DB8500_DMA_DEV37_USB_OTG_OEP_2_10] = -1, 59 [DB8500_DMA_DEV37_USB_OTG_IEP_AND_OEP_2_10] = -1,
60 [DB8500_DMA_DEV38_USB_OTG_OEP_1_9] = -1, 60 [DB8500_DMA_DEV38_USB_OTG_IEP_AND_OEP_1_9] = -1,
61 /* PrimeCells - run-time configured */ 61 /* PrimeCells - run-time configured */
62 [DB8500_DMA_DEV0_SPI0_TX] = -1, 62 [DB8500_DMA_DEV0_SPI0] = -1,
63 [DB8500_DMA_DEV1_SD_MMC0_TX] = -1, 63 [DB8500_DMA_DEV1_SD_MMC0] = -1,
64 [DB8500_DMA_DEV2_SD_MMC1_TX] = -1, 64 [DB8500_DMA_DEV2_SD_MMC1] = -1,
65 [DB8500_DMA_DEV3_SD_MMC2_TX] = -1, 65 [DB8500_DMA_DEV3_SD_MMC2] = -1,
66 [DB8500_DMA_DEV8_SSP0_TX] = -1, 66 [DB8500_DMA_DEV8_SSP0] = -1,
67 [DB8500_DMA_DEV9_SSP1_TX] = -1, 67 [DB8500_DMA_DEV9_SSP1] = -1,
68 [DB8500_DMA_DEV11_UART2_TX] = -1, 68 [DB8500_DMA_DEV11_UART2] = -1,
69 [DB8500_DMA_DEV12_UART1_TX] = -1, 69 [DB8500_DMA_DEV12_UART1] = -1,
70 [DB8500_DMA_DEV13_UART0_TX] = -1, 70 [DB8500_DMA_DEV13_UART0] = -1,
71 [DB8500_DMA_DEV28_SD_MM2_TX] = -1, 71 [DB8500_DMA_DEV28_SD_MM2] = -1,
72 [DB8500_DMA_DEV29_SD_MM0_TX] = -1, 72 [DB8500_DMA_DEV29_SD_MM0] = -1,
73 [DB8500_DMA_DEV32_SD_MM1_TX] = -1, 73 [DB8500_DMA_DEV32_SD_MM1] = -1,
74 [DB8500_DMA_DEV33_SPI2_TX] = -1, 74 [DB8500_DMA_DEV33_SPI2] = -1,
75 [DB8500_DMA_DEV35_SPI1_TX] = -1, 75 [DB8500_DMA_DEV35_SPI1] = -1,
76 [DB8500_DMA_DEV40_SPI3_TX] = -1, 76 [DB8500_DMA_DEV40_SPI3] = -1,
77 [DB8500_DMA_DEV41_SD_MM3_TX] = -1, 77 [DB8500_DMA_DEV41_SD_MM3] = -1,
78 [DB8500_DMA_DEV42_SD_MM4_TX] = -1, 78 [DB8500_DMA_DEV42_SD_MM4] = -1,
79 [DB8500_DMA_DEV43_SD_MM5_TX] = -1, 79 [DB8500_DMA_DEV43_SD_MM5] = -1,
80 [DB8500_DMA_DEV14_MSP2_TX] = U8500_MSP2_BASE + MSP_TX_RX_REG_OFFSET, 80 [DB8500_DMA_DEV14_MSP2] = U8500_MSP2_BASE + MSP_TX_RX_REG_OFFSET,
81 [DB8500_DMA_DEV30_MSP1_TX] = U8500_MSP1_BASE + MSP_TX_RX_REG_OFFSET, 81 [DB8500_DMA_DEV30_MSP1] = U8500_MSP1_BASE + MSP_TX_RX_REG_OFFSET,
82 [DB8500_DMA_DEV31_MSP0_TX_SLIM0_CH0_TX] = U8500_MSP0_BASE + MSP_TX_RX_REG_OFFSET, 82 [DB8500_DMA_DEV31_MSP0_SLIM0_CH0] = U8500_MSP0_BASE + MSP_TX_RX_REG_OFFSET,
83 [DB8500_DMA_DEV48_CAC1_TX] = U8500_CRYP1_BASE + CRYP1_TX_REG_OFFSET, 83 [DB8500_DMA_DEV48_CAC1] = U8500_CRYP1_BASE + CRYP1_TX_REG_OFFSET,
84 [DB8500_DMA_DEV50_HAC1_TX] = U8500_HASH1_BASE + HASH1_TX_REG_OFFSET, 84 [DB8500_DMA_DEV50_HAC1_TX] = U8500_HASH1_BASE + HASH1_TX_REG_OFFSET,
85}; 85};
86 86
87/* Mapping between source event lines and physical device address */ 87/* Mapping between source event lines and physical device address */
88static const dma_addr_t dma40_rx_map[DB8500_DMA_NR_DEV] = { 88static const dma_addr_t dma40_rx_map[DB8500_DMA_NR_DEV] = {
89 /* MUSB - these will be runtime-reconfigured */ 89 /* MUSB - these will be runtime-reconfigured */
90 [DB8500_DMA_DEV39_USB_OTG_IEP_8] = -1, 90 [DB8500_DMA_DEV39_USB_OTG_IEP_AND_OEP_8] = -1,
91 [DB8500_DMA_DEV16_USB_OTG_IEP_7_15] = -1, 91 [DB8500_DMA_DEV16_USB_OTG_IEP_AND_OEP_7_15] = -1,
92 [DB8500_DMA_DEV17_USB_OTG_IEP_6_14] = -1, 92 [DB8500_DMA_DEV17_USB_OTG_IEP_AND_OEP_6_14] = -1,
93 [DB8500_DMA_DEV18_USB_OTG_IEP_5_13] = -1, 93 [DB8500_DMA_DEV18_USB_OTG_IEP_AND_OEP_5_13] = -1,
94 [DB8500_DMA_DEV19_USB_OTG_IEP_4_12] = -1, 94 [DB8500_DMA_DEV19_USB_OTG_IEP_AND_OEP_4_12] = -1,
95 [DB8500_DMA_DEV36_USB_OTG_IEP_3_11] = -1, 95 [DB8500_DMA_DEV36_USB_OTG_IEP_AND_OEP_3_11] = -1,
96 [DB8500_DMA_DEV37_USB_OTG_IEP_2_10] = -1, 96 [DB8500_DMA_DEV37_USB_OTG_IEP_AND_OEP_2_10] = -1,
97 [DB8500_DMA_DEV38_USB_OTG_IEP_1_9] = -1, 97 [DB8500_DMA_DEV38_USB_OTG_IEP_AND_OEP_1_9] = -1,
98 /* PrimeCells */ 98 /* PrimeCells */
99 [DB8500_DMA_DEV0_SPI0_RX] = -1, 99 [DB8500_DMA_DEV0_SPI0] = -1,
100 [DB8500_DMA_DEV1_SD_MMC0_RX] = -1, 100 [DB8500_DMA_DEV1_SD_MMC0] = -1,
101 [DB8500_DMA_DEV2_SD_MMC1_RX] = -1, 101 [DB8500_DMA_DEV2_SD_MMC1] = -1,
102 [DB8500_DMA_DEV3_SD_MMC2_RX] = -1, 102 [DB8500_DMA_DEV3_SD_MMC2] = -1,
103 [DB8500_DMA_DEV8_SSP0_RX] = -1, 103 [DB8500_DMA_DEV8_SSP0] = -1,
104 [DB8500_DMA_DEV9_SSP1_RX] = -1, 104 [DB8500_DMA_DEV9_SSP1] = -1,
105 [DB8500_DMA_DEV11_UART2_RX] = -1, 105 [DB8500_DMA_DEV11_UART2] = -1,
106 [DB8500_DMA_DEV12_UART1_RX] = -1, 106 [DB8500_DMA_DEV12_UART1] = -1,
107 [DB8500_DMA_DEV13_UART0_RX] = -1, 107 [DB8500_DMA_DEV13_UART0] = -1,
108 [DB8500_DMA_DEV28_SD_MM2_RX] = -1, 108 [DB8500_DMA_DEV28_SD_MM2] = -1,
109 [DB8500_DMA_DEV29_SD_MM0_RX] = -1, 109 [DB8500_DMA_DEV29_SD_MM0] = -1,
110 [DB8500_DMA_DEV32_SD_MM1_RX] = -1, 110 [DB8500_DMA_DEV32_SD_MM1] = -1,
111 [DB8500_DMA_DEV33_SPI2_RX] = -1, 111 [DB8500_DMA_DEV33_SPI2] = -1,
112 [DB8500_DMA_DEV35_SPI1_RX] = -1, 112 [DB8500_DMA_DEV35_SPI1] = -1,
113 [DB8500_DMA_DEV40_SPI3_RX] = -1, 113 [DB8500_DMA_DEV40_SPI3] = -1,
114 [DB8500_DMA_DEV41_SD_MM3_RX] = -1, 114 [DB8500_DMA_DEV41_SD_MM3] = -1,
115 [DB8500_DMA_DEV42_SD_MM4_RX] = -1, 115 [DB8500_DMA_DEV42_SD_MM4] = -1,
116 [DB8500_DMA_DEV43_SD_MM5_RX] = -1, 116 [DB8500_DMA_DEV43_SD_MM5] = -1,
117 [DB8500_DMA_DEV14_MSP2_RX] = U8500_MSP2_BASE + MSP_TX_RX_REG_OFFSET, 117 [DB8500_DMA_DEV14_MSP2] = U8500_MSP2_BASE + MSP_TX_RX_REG_OFFSET,
118 [DB8500_DMA_DEV30_MSP3_RX] = U8500_MSP3_BASE + MSP_TX_RX_REG_OFFSET, 118 [DB8500_DMA_DEV30_MSP3] = U8500_MSP3_BASE + MSP_TX_RX_REG_OFFSET,
119 [DB8500_DMA_DEV31_MSP0_RX_SLIM0_CH0_RX] = U8500_MSP0_BASE + MSP_TX_RX_REG_OFFSET, 119 [DB8500_DMA_DEV31_MSP0_SLIM0_CH0] = U8500_MSP0_BASE + MSP_TX_RX_REG_OFFSET,
120 [DB8500_DMA_DEV48_CAC1_RX] = U8500_CRYP1_BASE + CRYP1_RX_REG_OFFSET, 120 [DB8500_DMA_DEV48_CAC1] = U8500_CRYP1_BASE + CRYP1_RX_REG_OFFSET,
121}; 121};
122 122
123static struct stedma40_platform_data dma40_plat_data = { 123static struct stedma40_platform_data dma40_plat_data = {
diff --git a/arch/arm/mach-ux500/ste-dma40-db8500.h b/arch/arm/mach-ux500/ste-dma40-db8500.h
index a616419bea76..0296ae5b0fd9 100644
--- a/arch/arm/mach-ux500/ste-dma40-db8500.h
+++ b/arch/arm/mach-ux500/ste-dma40-db8500.h
@@ -12,133 +12,74 @@
12 12
13#define DB8500_DMA_NR_DEV 64 13#define DB8500_DMA_NR_DEV 64
14 14
15enum dma_src_dev_type { 15/*
16 DB8500_DMA_DEV0_SPI0_RX = 0, 16 * Unless otherwise specified, all channels numbers are used for
17 DB8500_DMA_DEV1_SD_MMC0_RX = 1, 17 * TX & RX, and can be used for either source or destination
18 DB8500_DMA_DEV2_SD_MMC1_RX = 2, 18 * channels.
19 DB8500_DMA_DEV3_SD_MMC2_RX = 3, 19 */
20 DB8500_DMA_DEV4_I2C1_RX = 4, 20enum dma_dev_type {
21 DB8500_DMA_DEV5_I2C3_RX = 5, 21 DB8500_DMA_DEV0_SPI0 = 0,
22 DB8500_DMA_DEV6_I2C2_RX = 6, 22 DB8500_DMA_DEV1_SD_MMC0 = 1,
23 DB8500_DMA_DEV7_I2C4_RX = 7, /* Only on V1 and later */ 23 DB8500_DMA_DEV2_SD_MMC1 = 2,
24 DB8500_DMA_DEV8_SSP0_RX = 8, 24 DB8500_DMA_DEV3_SD_MMC2 = 3,
25 DB8500_DMA_DEV9_SSP1_RX = 9, 25 DB8500_DMA_DEV4_I2C1 = 4,
26 DB8500_DMA_DEV10_MCDE_RX = 10, 26 DB8500_DMA_DEV5_I2C3 = 5,
27 DB8500_DMA_DEV11_UART2_RX = 11, 27 DB8500_DMA_DEV6_I2C2 = 6,
28 DB8500_DMA_DEV12_UART1_RX = 12, 28 DB8500_DMA_DEV7_I2C4 = 7, /* Only on V1 and later */
29 DB8500_DMA_DEV13_UART0_RX = 13, 29 DB8500_DMA_DEV8_SSP0 = 8,
30 DB8500_DMA_DEV14_MSP2_RX = 14, 30 DB8500_DMA_DEV9_SSP1 = 9,
31 DB8500_DMA_DEV15_I2C0_RX = 15, 31 DB8500_DMA_DEV10_MCDE_RX = 10, /* RX only */
32 DB8500_DMA_DEV16_USB_OTG_IEP_7_15 = 16, 32 DB8500_DMA_DEV11_UART2 = 11,
33 DB8500_DMA_DEV17_USB_OTG_IEP_6_14 = 17, 33 DB8500_DMA_DEV12_UART1 = 12,
34 DB8500_DMA_DEV18_USB_OTG_IEP_5_13 = 18, 34 DB8500_DMA_DEV13_UART0 = 13,
35 DB8500_DMA_DEV19_USB_OTG_IEP_4_12 = 19, 35 DB8500_DMA_DEV14_MSP2 = 14,
36 DB8500_DMA_DEV20_SLIM0_CH0_RX_HSI_RX_CH0 = 20, 36 DB8500_DMA_DEV15_I2C0 = 15,
37 DB8500_DMA_DEV21_SLIM0_CH1_RX_HSI_RX_CH1 = 21, 37 DB8500_DMA_DEV16_USB_OTG_IEP_AND_OEP_7_15 = 16,
38 DB8500_DMA_DEV22_SLIM0_CH2_RX_HSI_RX_CH2 = 22, 38 DB8500_DMA_DEV17_USB_OTG_IEP_AND_OEP_6_14 = 17,
39 DB8500_DMA_DEV23_SLIM0_CH3_RX_HSI_RX_CH3 = 23, 39 DB8500_DMA_DEV18_USB_OTG_IEP_AND_OEP_5_13 = 18,
40 DB8500_DMA_DEV24_SRC_SXA0_RX_TX = 24, 40 DB8500_DMA_DEV19_USB_OTG_IEP_AND_OEP_4_12 = 19,
41 DB8500_DMA_DEV25_SRC_SXA1_RX_TX = 25, 41 DB8500_DMA_DEV20_SLIM0_CH0_HSI_CH0 = 20,
42 DB8500_DMA_DEV26_SRC_SXA2_RX_TX = 26, 42 DB8500_DMA_DEV21_SLIM0_CH1_HSI_CH1 = 21,
43 DB8500_DMA_DEV27_SRC_SXA3_RX_TX = 27, 43 DB8500_DMA_DEV22_SLIM0_CH2_HSI_CH2 = 22,
44 DB8500_DMA_DEV28_SD_MM2_RX = 28, 44 DB8500_DMA_DEV23_SLIM0_CH3_HSI_CH3 = 23,
45 DB8500_DMA_DEV29_SD_MM0_RX = 29, 45 DB8500_DMA_DEV24_SXA0 = 24,
46 DB8500_DMA_DEV30_MSP1_RX = 30, 46 DB8500_DMA_DEV25_SXA1 = 25,
47 DB8500_DMA_DEV26_SXA2 = 26,
48 DB8500_DMA_DEV27_SXA3 = 27,
49 DB8500_DMA_DEV28_SD_MM2 = 28,
50 DB8500_DMA_DEV29_SD_MM0 = 29,
51 DB8500_DMA_DEV30_MSP1 = 30,
47 /* On DB8500v2, MSP3 RX replaces MSP1 RX */ 52 /* On DB8500v2, MSP3 RX replaces MSP1 RX */
48 DB8500_DMA_DEV30_MSP3_RX = 30, 53 DB8500_DMA_DEV30_MSP3 = 30,
49 DB8500_DMA_DEV31_MSP0_RX_SLIM0_CH0_RX = 31, 54 DB8500_DMA_DEV31_MSP0_SLIM0_CH0 = 31,
50 DB8500_DMA_DEV32_SD_MM1_RX = 32, 55 DB8500_DMA_DEV32_SD_MM1 = 32,
51 DB8500_DMA_DEV33_SPI2_RX = 33, 56 DB8500_DMA_DEV33_SPI2 = 33,
52 DB8500_DMA_DEV34_I2C3_RX2 = 34, 57 DB8500_DMA_DEV34_I2C3_RX2_TX2 = 34,
53 DB8500_DMA_DEV35_SPI1_RX = 35, 58 DB8500_DMA_DEV35_SPI1 = 35,
54 DB8500_DMA_DEV36_USB_OTG_IEP_3_11 = 36, 59 DB8500_DMA_DEV36_USB_OTG_IEP_AND_OEP_3_11 = 36,
55 DB8500_DMA_DEV37_USB_OTG_IEP_2_10 = 37, 60 DB8500_DMA_DEV37_USB_OTG_IEP_AND_OEP_2_10 = 37,
56 DB8500_DMA_DEV38_USB_OTG_IEP_1_9 = 38, 61 DB8500_DMA_DEV38_USB_OTG_IEP_AND_OEP_1_9 = 38,
57 DB8500_DMA_DEV39_USB_OTG_IEP_8 = 39, 62 DB8500_DMA_DEV39_USB_OTG_IEP_AND_OEP_8 = 39,
58 DB8500_DMA_DEV40_SPI3_RX = 40, 63 DB8500_DMA_DEV40_SPI3 = 40,
59 DB8500_DMA_DEV41_SD_MM3_RX = 41, 64 DB8500_DMA_DEV41_SD_MM3 = 41,
60 DB8500_DMA_DEV42_SD_MM4_RX = 42, 65 DB8500_DMA_DEV42_SD_MM4 = 42,
61 DB8500_DMA_DEV43_SD_MM5_RX = 43, 66 DB8500_DMA_DEV43_SD_MM5 = 43,
62 DB8500_DMA_DEV44_SRC_SXA4_RX_TX = 44, 67 DB8500_DMA_DEV44_SXA4 = 44,
63 DB8500_DMA_DEV45_SRC_SXA5_RX_TX = 45, 68 DB8500_DMA_DEV45_SXA5 = 45,
64 DB8500_DMA_DEV46_SLIM0_CH8_RX_SRC_SXA6_RX_TX = 46, 69 DB8500_DMA_DEV46_SLIM0_CH8_SRC_SXA6 = 46,
65 DB8500_DMA_DEV47_SLIM0_CH9_RX_SRC_SXA7_RX_TX = 47, 70 DB8500_DMA_DEV47_SLIM0_CH9_SRC_SXA7 = 47,
66 DB8500_DMA_DEV48_CAC1_RX = 48, 71 DB8500_DMA_DEV48_CAC1 = 48,
67 /* 49, 50 and 51 are not used */ 72 DB8500_DMA_DEV49_CAC1_TX_HAC1_TX = 49, /* TX only */
68 DB8500_DMA_DEV52_SLIM0_CH4_RX_HSI_RX_CH4 = 52, 73 DB8500_DMA_DEV50_HAC1_TX = 50, /* TX only */
69 DB8500_DMA_DEV53_SLIM0_CH5_RX_HSI_RX_CH5 = 53, 74 DB8500_DMA_MEMCPY_TX_0 = 51, /* TX only */
70 DB8500_DMA_DEV54_SLIM0_CH6_RX_HSI_RX_CH6 = 54, 75 DB8500_DMA_DEV52_SLIM0_CH4_HSI_CH4 = 52,
71 DB8500_DMA_DEV55_SLIM0_CH7_RX_HSI_RX_CH7 = 55, 76 DB8500_DMA_DEV53_SLIM0_CH5_HSI_CH5 = 53,
72 /* 56, 57, 58, 59 and 60 are not used */ 77 DB8500_DMA_DEV54_SLIM0_CH6_HSI_CH6 = 54,
73 DB8500_DMA_DEV61_CAC0_RX = 61, 78 DB8500_DMA_DEV55_SLIM0_CH7_HSI_CH7 = 55,
74 /* 62 and 63 are not used */ 79 /* 56 -> 60 are channels reserved for memcpy only */
75}; 80 DB8500_DMA_DEV61_CAC0 = 61,
76 81 DB8500_DMA_DEV62_CAC0_TX_HAC0_TX = 62, /* TX only */
77enum dma_dest_dev_type { 82 DB8500_DMA_DEV63_HAC0_TX = 63, /* TX only */
78 DB8500_DMA_DEV0_SPI0_TX = 0,
79 DB8500_DMA_DEV1_SD_MMC0_TX = 1,
80 DB8500_DMA_DEV2_SD_MMC1_TX = 2,
81 DB8500_DMA_DEV3_SD_MMC2_TX = 3,
82 DB8500_DMA_DEV4_I2C1_TX = 4,
83 DB8500_DMA_DEV5_I2C3_TX = 5,
84 DB8500_DMA_DEV6_I2C2_TX = 6,
85 DB8500_DMA_DEV7_I2C4_TX = 7, /* Only on V1 and later */
86 DB8500_DMA_DEV8_SSP0_TX = 8,
87 DB8500_DMA_DEV9_SSP1_TX = 9,
88 /* 10 is not used*/
89 DB8500_DMA_DEV11_UART2_TX = 11,
90 DB8500_DMA_DEV12_UART1_TX = 12,
91 DB8500_DMA_DEV13_UART0_TX = 13,
92 DB8500_DMA_DEV14_MSP2_TX = 14,
93 DB8500_DMA_DEV15_I2C0_TX = 15,
94 DB8500_DMA_DEV16_USB_OTG_OEP_7_15 = 16,
95 DB8500_DMA_DEV17_USB_OTG_OEP_6_14 = 17,
96 DB8500_DMA_DEV18_USB_OTG_OEP_5_13 = 18,
97 DB8500_DMA_DEV19_USB_OTG_OEP_4_12 = 19,
98 DB8500_DMA_DEV20_SLIM0_CH0_TX_HSI_TX_CH0 = 20,
99 DB8500_DMA_DEV21_SLIM0_CH1_TX_HSI_TX_CH1 = 21,
100 DB8500_DMA_DEV22_SLIM0_CH2_TX_HSI_TX_CH2 = 22,
101 DB8500_DMA_DEV23_SLIM0_CH3_TX_HSI_TX_CH3 = 23,
102 DB8500_DMA_DEV24_DST_SXA0_RX_TX = 24,
103 DB8500_DMA_DEV25_DST_SXA1_RX_TX = 25,
104 DB8500_DMA_DEV26_DST_SXA2_RX_TX = 26,
105 DB8500_DMA_DEV27_DST_SXA3_RX_TX = 27,
106 DB8500_DMA_DEV28_SD_MM2_TX = 28,
107 DB8500_DMA_DEV29_SD_MM0_TX = 29,
108 DB8500_DMA_DEV30_MSP1_TX = 30,
109 DB8500_DMA_DEV31_MSP0_TX_SLIM0_CH0_TX = 31,
110 DB8500_DMA_DEV32_SD_MM1_TX = 32,
111 DB8500_DMA_DEV33_SPI2_TX = 33,
112 DB8500_DMA_DEV34_I2C3_TX2 = 34,
113 DB8500_DMA_DEV35_SPI1_TX = 35,
114 DB8500_DMA_DEV36_USB_OTG_OEP_3_11 = 36,
115 DB8500_DMA_DEV37_USB_OTG_OEP_2_10 = 37,
116 DB8500_DMA_DEV38_USB_OTG_OEP_1_9 = 38,
117 DB8500_DMA_DEV39_USB_OTG_OEP_8 = 39,
118 DB8500_DMA_DEV40_SPI3_TX = 40,
119 DB8500_DMA_DEV41_SD_MM3_TX = 41,
120 DB8500_DMA_DEV42_SD_MM4_TX = 42,
121 DB8500_DMA_DEV43_SD_MM5_TX = 43,
122 DB8500_DMA_DEV44_DST_SXA4_RX_TX = 44,
123 DB8500_DMA_DEV45_DST_SXA5_RX_TX = 45,
124 DB8500_DMA_DEV46_SLIM0_CH8_TX_DST_SXA6_RX_TX = 46,
125 DB8500_DMA_DEV47_SLIM0_CH9_TX_DST_SXA7_RX_TX = 47,
126 DB8500_DMA_DEV48_CAC1_TX = 48,
127 DB8500_DMA_DEV49_CAC1_TX_HAC1_TX = 49,
128 DB8500_DMA_DEV50_HAC1_TX = 50,
129 DB8500_DMA_MEMCPY_TX_0 = 51,
130 DB8500_DMA_DEV52_SLIM1_CH4_TX_HSI_TX_CH4 = 52,
131 DB8500_DMA_DEV53_SLIM1_CH5_TX_HSI_TX_CH5 = 53,
132 DB8500_DMA_DEV54_SLIM1_CH6_TX_HSI_TX_CH6 = 54,
133 DB8500_DMA_DEV55_SLIM1_CH7_TX_HSI_TX_CH7 = 55,
134 DB8500_DMA_MEMCPY_TX_1 = 56,
135 DB8500_DMA_MEMCPY_TX_2 = 57,
136 DB8500_DMA_MEMCPY_TX_3 = 58,
137 DB8500_DMA_MEMCPY_TX_4 = 59,
138 DB8500_DMA_MEMCPY_TX_5 = 60,
139 DB8500_DMA_DEV61_CAC0_TX = 61,
140 DB8500_DMA_DEV62_CAC0_TX_HAC0_TX = 62,
141 DB8500_DMA_DEV63_HAC0_TX = 63,
142}; 83};
143 84
144#endif 85#endif
diff --git a/arch/arm/mach-ux500/usb.c b/arch/arm/mach-ux500/usb.c
index 2dfc72f7cd8a..45af3031dfef 100644
--- a/arch/arm/mach-ux500/usb.c
+++ b/arch/arm/mach-ux500/usb.c
@@ -15,7 +15,6 @@
15#define MUSB_DMA40_RX_CH { \ 15#define MUSB_DMA40_RX_CH { \
16 .mode = STEDMA40_MODE_LOGICAL, \ 16 .mode = STEDMA40_MODE_LOGICAL, \
17 .dir = STEDMA40_PERIPH_TO_MEM, \ 17 .dir = STEDMA40_PERIPH_TO_MEM, \
18 .dst_dev_type = STEDMA40_DEV_DST_MEMORY, \
19 .src_info.data_width = STEDMA40_WORD_WIDTH, \ 18 .src_info.data_width = STEDMA40_WORD_WIDTH, \
20 .dst_info.data_width = STEDMA40_WORD_WIDTH, \ 19 .dst_info.data_width = STEDMA40_WORD_WIDTH, \
21 .src_info.psize = STEDMA40_PSIZE_LOG_16, \ 20 .src_info.psize = STEDMA40_PSIZE_LOG_16, \
@@ -25,7 +24,6 @@
25#define MUSB_DMA40_TX_CH { \ 24#define MUSB_DMA40_TX_CH { \
26 .mode = STEDMA40_MODE_LOGICAL, \ 25 .mode = STEDMA40_MODE_LOGICAL, \
27 .dir = STEDMA40_MEM_TO_PERIPH, \ 26 .dir = STEDMA40_MEM_TO_PERIPH, \
28 .src_dev_type = STEDMA40_DEV_SRC_MEMORY, \
29 .src_info.data_width = STEDMA40_WORD_WIDTH, \ 27 .src_info.data_width = STEDMA40_WORD_WIDTH, \
30 .dst_info.data_width = STEDMA40_WORD_WIDTH, \ 28 .dst_info.data_width = STEDMA40_WORD_WIDTH, \
31 .src_info.psize = STEDMA40_PSIZE_LOG_16, \ 29 .src_info.psize = STEDMA40_PSIZE_LOG_16, \
@@ -125,20 +123,20 @@ struct platform_device ux500_musb_device = {
125 .resource = usb_resources, 123 .resource = usb_resources,
126}; 124};
127 125
128static inline void ux500_usb_dma_update_rx_ch_config(int *src_dev_type) 126static inline void ux500_usb_dma_update_rx_ch_config(int *dev_type)
129{ 127{
130 u32 idx; 128 u32 idx;
131 129
132 for (idx = 0; idx < UX500_MUSB_DMA_NUM_RX_CHANNELS; idx++) 130 for (idx = 0; idx < UX500_MUSB_DMA_NUM_RX_CHANNELS; idx++)
133 musb_dma_rx_ch[idx].src_dev_type = src_dev_type[idx]; 131 musb_dma_rx_ch[idx].dev_type = dev_type[idx];
134} 132}
135 133
136static inline void ux500_usb_dma_update_tx_ch_config(int *dst_dev_type) 134static inline void ux500_usb_dma_update_tx_ch_config(int *dev_type)
137{ 135{
138 u32 idx; 136 u32 idx;
139 137
140 for (idx = 0; idx < UX500_MUSB_DMA_NUM_TX_CHANNELS; idx++) 138 for (idx = 0; idx < UX500_MUSB_DMA_NUM_TX_CHANNELS; idx++)
141 musb_dma_tx_ch[idx].dst_dev_type = dst_dev_type[idx]; 139 musb_dma_tx_ch[idx].dev_type = dev_type[idx];
142} 140}
143 141
144void ux500_add_usb(struct device *parent, resource_size_t base, int irq, 142void ux500_add_usb(struct device *parent, resource_size_t base, int irq,