diff options
Diffstat (limited to 'arch/arm/mach-ux500/devices-db8500.c')
-rw-r--r-- | arch/arm/mach-ux500/devices-db8500.c | 67 |
1 files changed, 64 insertions, 3 deletions
diff --git a/arch/arm/mach-ux500/devices-db8500.c b/arch/arm/mach-ux500/devices-db8500.c index 23c695d54977..73b17404b194 100644 --- a/arch/arm/mach-ux500/devices-db8500.c +++ b/arch/arm/mach-ux500/devices-db8500.c | |||
@@ -11,6 +11,7 @@ | |||
11 | #include <linux/io.h> | 11 | #include <linux/io.h> |
12 | #include <linux/gpio.h> | 12 | #include <linux/gpio.h> |
13 | #include <linux/amba/bus.h> | 13 | #include <linux/amba/bus.h> |
14 | #include <linux/amba/pl022.h> | ||
14 | 15 | ||
15 | #include <plat/ste_dma40.h> | 16 | #include <plat/ste_dma40.h> |
16 | 17 | ||
@@ -67,12 +68,72 @@ struct stedma40_chan_cfg dma40_memcpy_conf_log = { | |||
67 | 68 | ||
68 | /* | 69 | /* |
69 | * Mapping between destination event lines and physical device address. | 70 | * Mapping between destination event lines and physical device address. |
70 | * The event line is tied to a device and therefor the address is constant. | 71 | * The event line is tied to a device and therefore the address is constant. |
72 | * When the address comes from a primecell it will be configured in runtime | ||
73 | * and we set the address to -1 as a placeholder. | ||
71 | */ | 74 | */ |
72 | static const dma_addr_t dma40_tx_map[DB8500_DMA_NR_DEV]; | 75 | static const dma_addr_t dma40_tx_map[DB8500_DMA_NR_DEV] = { |
76 | /* MUSB - these will be runtime-reconfigured */ | ||
77 | [DB8500_DMA_DEV39_USB_OTG_OEP_8] = -1, | ||
78 | [DB8500_DMA_DEV16_USB_OTG_OEP_7_15] = -1, | ||
79 | [DB8500_DMA_DEV17_USB_OTG_OEP_6_14] = -1, | ||
80 | [DB8500_DMA_DEV18_USB_OTG_OEP_5_13] = -1, | ||
81 | [DB8500_DMA_DEV19_USB_OTG_OEP_4_12] = -1, | ||
82 | [DB8500_DMA_DEV36_USB_OTG_OEP_3_11] = -1, | ||
83 | [DB8500_DMA_DEV37_USB_OTG_OEP_2_10] = -1, | ||
84 | [DB8500_DMA_DEV38_USB_OTG_OEP_1_9] = -1, | ||
85 | /* PrimeCells - run-time configured */ | ||
86 | [DB8500_DMA_DEV0_SPI0_TX] = -1, | ||
87 | [DB8500_DMA_DEV1_SD_MMC0_TX] = -1, | ||
88 | [DB8500_DMA_DEV2_SD_MMC1_TX] = -1, | ||
89 | [DB8500_DMA_DEV3_SD_MMC2_TX] = -1, | ||
90 | [DB8500_DMA_DEV8_SSP0_TX] = -1, | ||
91 | [DB8500_DMA_DEV9_SSP1_TX] = -1, | ||
92 | [DB8500_DMA_DEV11_UART2_TX] = -1, | ||
93 | [DB8500_DMA_DEV12_UART1_TX] = -1, | ||
94 | [DB8500_DMA_DEV13_UART0_TX] = -1, | ||
95 | [DB8500_DMA_DEV28_SD_MM2_TX] = -1, | ||
96 | [DB8500_DMA_DEV29_SD_MM0_TX] = -1, | ||
97 | [DB8500_DMA_DEV32_SD_MM1_TX] = -1, | ||
98 | [DB8500_DMA_DEV33_SPI2_TX] = -1, | ||
99 | [DB8500_DMA_DEV35_SPI1_TX] = -1, | ||
100 | [DB8500_DMA_DEV40_SPI3_TX] = -1, | ||
101 | [DB8500_DMA_DEV41_SD_MM3_TX] = -1, | ||
102 | [DB8500_DMA_DEV42_SD_MM4_TX] = -1, | ||
103 | [DB8500_DMA_DEV43_SD_MM5_TX] = -1, | ||
104 | }; | ||
73 | 105 | ||
74 | /* Mapping between source event lines and physical device address */ | 106 | /* Mapping between source event lines and physical device address */ |
75 | static const dma_addr_t dma40_rx_map[DB8500_DMA_NR_DEV]; | 107 | static const dma_addr_t dma40_rx_map[DB8500_DMA_NR_DEV] = { |
108 | /* MUSB - these will be runtime-reconfigured */ | ||
109 | [DB8500_DMA_DEV39_USB_OTG_IEP_8] = -1, | ||
110 | [DB8500_DMA_DEV16_USB_OTG_IEP_7_15] = -1, | ||
111 | [DB8500_DMA_DEV17_USB_OTG_IEP_6_14] = -1, | ||
112 | [DB8500_DMA_DEV18_USB_OTG_IEP_5_13] = -1, | ||
113 | [DB8500_DMA_DEV19_USB_OTG_IEP_4_12] = -1, | ||
114 | [DB8500_DMA_DEV36_USB_OTG_IEP_3_11] = -1, | ||
115 | [DB8500_DMA_DEV37_USB_OTG_IEP_2_10] = -1, | ||
116 | [DB8500_DMA_DEV38_USB_OTG_IEP_1_9] = -1, | ||
117 | /* PrimeCells */ | ||
118 | [DB8500_DMA_DEV0_SPI0_RX] = -1, | ||
119 | [DB8500_DMA_DEV1_SD_MMC0_RX] = -1, | ||
120 | [DB8500_DMA_DEV2_SD_MMC1_RX] = -1, | ||
121 | [DB8500_DMA_DEV3_SD_MMC2_RX] = -1, | ||
122 | [DB8500_DMA_DEV8_SSP0_RX] = -1, | ||
123 | [DB8500_DMA_DEV9_SSP1_RX] = -1, | ||
124 | [DB8500_DMA_DEV11_UART2_RX] = -1, | ||
125 | [DB8500_DMA_DEV12_UART1_RX] = -1, | ||
126 | [DB8500_DMA_DEV13_UART0_RX] = -1, | ||
127 | [DB8500_DMA_DEV28_SD_MM2_RX] = -1, | ||
128 | [DB8500_DMA_DEV29_SD_MM0_RX] = -1, | ||
129 | [DB8500_DMA_DEV32_SD_MM1_RX] = -1, | ||
130 | [DB8500_DMA_DEV33_SPI2_RX] = -1, | ||
131 | [DB8500_DMA_DEV35_SPI1_RX] = -1, | ||
132 | [DB8500_DMA_DEV40_SPI3_RX] = -1, | ||
133 | [DB8500_DMA_DEV41_SD_MM3_RX] = -1, | ||
134 | [DB8500_DMA_DEV42_SD_MM4_RX] = -1, | ||
135 | [DB8500_DMA_DEV43_SD_MM5_RX] = -1, | ||
136 | }; | ||
76 | 137 | ||
77 | /* Reserved event lines for memcpy only */ | 138 | /* Reserved event lines for memcpy only */ |
78 | static int dma40_memcpy_event[] = { | 139 | static int dma40_memcpy_event[] = { |