diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-ux500/board-mop500-audio.c | 18 | ||||
-rw-r--r-- | arch/arm/mach-ux500/board-mop500-sdi.c | 24 | ||||
-rw-r--r-- | arch/arm/mach-ux500/board-mop500.c | 33 | ||||
-rw-r--r-- | arch/arm/mach-ux500/cpu-db8500.c | 32 | ||||
-rw-r--r-- | arch/arm/mach-ux500/devices-db8500.c | 120 | ||||
-rw-r--r-- | arch/arm/mach-ux500/ste-dma40-db8500.h | 193 | ||||
-rw-r--r-- | arch/arm/mach-ux500/usb.c | 10 |
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 @@ | |||
35 | struct stedma40_chan_cfg mop500_sdi0_dma_cfg_rx = { | 35 | struct 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 = { | |||
44 | static struct stedma40_chan_cfg mop500_sdi0_dma_cfg_tx = { | 43 | static 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) | |||
88 | static struct stedma40_chan_cfg sdi1_dma_cfg_rx = { | 86 | static 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 = { | |||
97 | static struct stedma40_chan_cfg sdi1_dma_cfg_tx = { | 94 | static 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 = { | |||
125 | struct stedma40_chan_cfg mop500_sdi2_dma_cfg_rx = { | 121 | struct 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 = { | |||
134 | static struct stedma40_chan_cfg mop500_sdi2_dma_cfg_tx = { | 129 | static 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 = { | |||
163 | struct stedma40_chan_cfg mop500_sdi4_dma_cfg_rx = { | 157 | struct 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 = { | |||
172 | static struct stedma40_chan_cfg mop500_sdi4_dma_cfg_tx = { | 165 | static 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) | |||
425 | static struct cryp_platform_data u8500_cryp1_platform_data = { | 425 | static 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 | ||
448 | static struct stedma40_chan_cfg u8500_hash_dma_cfg_tx = { | 446 | static 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 = { | |||
471 | static struct stedma40_chan_cfg ssp0_dma_cfg_rx = { | 468 | static 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 = { | |||
480 | static struct stedma40_chan_cfg ssp0_dma_cfg_tx = { | 476 | static 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) | |||
512 | static struct stedma40_chan_cfg uart0_dma_cfg_rx = { | 507 | static 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 = { | |||
521 | static struct stedma40_chan_cfg uart0_dma_cfg_tx = { | 515 | static 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 = { | |||
530 | static struct stedma40_chan_cfg uart1_dma_cfg_rx = { | 523 | static 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 = { | |||
539 | static struct stedma40_chan_cfg uart1_dma_cfg_tx = { | 531 | static 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 = { | |||
548 | static struct stedma40_chan_cfg uart2_dma_cfg_rx = { | 539 | static 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 = { | |||
557 | static struct stedma40_chan_cfg uart2_dma_cfg_tx = { | 547 | static 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 | ||
165 | static int usb_db8500_rx_dma_cfg[] = { | 165 | static 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 | ||
176 | static int usb_db8500_tx_dma_cfg[] = { | 176 | static 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 | ||
187 | static const char *db8500_read_soc_id(void) | 187 | static 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 | */ |
51 | static const dma_addr_t dma40_tx_map[DB8500_DMA_NR_DEV] = { | 51 | static 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 */ |
88 | static const dma_addr_t dma40_rx_map[DB8500_DMA_NR_DEV] = { | 88 | static 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 | ||
123 | static struct stedma40_platform_data dma40_plat_data = { | 123 | static 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 | ||
15 | enum 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, | 20 | enum 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 */ | |
77 | enum 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 | ||
128 | static inline void ux500_usb_dma_update_rx_ch_config(int *src_dev_type) | 126 | static 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 | ||
136 | static inline void ux500_usb_dma_update_tx_ch_config(int *dst_dev_type) | 134 | static 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 | ||
144 | void ux500_add_usb(struct device *parent, resource_size_t base, int irq, | 142 | void ux500_add_usb(struct device *parent, resource_size_t base, int irq, |