.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-or-later |
---|
1 | 2 | /* |
---|
2 | 3 | * mach-davinci/devices.c |
---|
3 | 4 | * |
---|
4 | 5 | * DaVinci platform device setup/initialization |
---|
5 | | - * |
---|
6 | | - * This program is free software; you can redistribute it and/or modify |
---|
7 | | - * it under the terms of the GNU General Public License as published by |
---|
8 | | - * the Free Software Foundation; either version 2 of the License, or |
---|
9 | | - * (at your option) any later version. |
---|
10 | 6 | */ |
---|
11 | 7 | |
---|
12 | 8 | #include <linux/init.h> |
---|
13 | 9 | #include <linux/platform_device.h> |
---|
| 10 | +#include <linux/platform_data/i2c-davinci.h> |
---|
| 11 | +#include <linux/platform_data/mmc-davinci.h> |
---|
| 12 | +#include <linux/platform_data/edma.h> |
---|
14 | 13 | #include <linux/dma-mapping.h> |
---|
15 | 14 | #include <linux/io.h> |
---|
16 | 15 | #include <linux/reboot.h> |
---|
17 | 16 | |
---|
18 | 17 | #include <mach/hardware.h> |
---|
19 | | -#include <linux/platform_data/i2c-davinci.h> |
---|
20 | | -#include <mach/irqs.h> |
---|
21 | 18 | #include <mach/cputype.h> |
---|
22 | 19 | #include <mach/mux.h> |
---|
23 | | -#include <linux/platform_data/mmc-davinci.h> |
---|
24 | | -#include <mach/time.h> |
---|
25 | | -#include <linux/platform_data/edma.h> |
---|
26 | | - |
---|
27 | 20 | |
---|
28 | 21 | #include "davinci.h" |
---|
| 22 | +#include "irqs.h" |
---|
29 | 23 | |
---|
30 | 24 | #define DAVINCI_I2C_BASE 0x01C21000 |
---|
31 | 25 | #define DAVINCI_ATA_BASE 0x01C66000 |
---|
.. | .. |
---|
39 | 33 | |
---|
40 | 34 | void davinci_map_sysmod(void) |
---|
41 | 35 | { |
---|
42 | | - davinci_sysmod_base = ioremap_nocache(DAVINCI_SYSTEM_MODULE_BASE, |
---|
| 36 | + davinci_sysmod_base = ioremap(DAVINCI_SYSTEM_MODULE_BASE, |
---|
43 | 37 | 0x800); |
---|
44 | 38 | /* |
---|
45 | 39 | * Throw a bug since a lot of board initialization code depends |
---|
.. | .. |
---|
56 | 50 | .flags = IORESOURCE_MEM, |
---|
57 | 51 | }, |
---|
58 | 52 | { |
---|
59 | | - .start = IRQ_I2C, |
---|
| 53 | + .start = DAVINCI_INTC_IRQ(IRQ_I2C), |
---|
60 | 54 | .flags = IORESOURCE_IRQ, |
---|
61 | 55 | }, |
---|
62 | 56 | }; |
---|
.. | .. |
---|
84 | 78 | .flags = IORESOURCE_MEM, |
---|
85 | 79 | }, |
---|
86 | 80 | { |
---|
87 | | - .start = IRQ_IDE, |
---|
88 | | - .end = IRQ_IDE, |
---|
| 81 | + .start = DAVINCI_INTC_IRQ(IRQ_IDE), |
---|
| 82 | + .end = DAVINCI_INTC_IRQ(IRQ_IDE), |
---|
89 | 83 | .flags = IORESOURCE_IRQ, |
---|
90 | 84 | }, |
---|
91 | 85 | }; |
---|
.. | .. |
---|
133 | 127 | }, |
---|
134 | 128 | /* IRQs: MMC/SD, then SDIO */ |
---|
135 | 129 | { |
---|
136 | | - .start = IRQ_MMCINT, |
---|
| 130 | + .start = DAVINCI_INTC_IRQ(IRQ_MMCINT), |
---|
137 | 131 | .flags = IORESOURCE_IRQ, |
---|
138 | 132 | }, { |
---|
139 | 133 | /* different on dm355 */ |
---|
140 | | - .start = IRQ_SDIOINT, |
---|
| 134 | + .start = DAVINCI_INTC_IRQ(IRQ_SDIOINT), |
---|
141 | 135 | .flags = IORESOURCE_IRQ, |
---|
142 | 136 | }, |
---|
143 | 137 | }; |
---|
.. | .. |
---|
163 | 157 | }, |
---|
164 | 158 | /* IRQs: MMC/SD, then SDIO */ |
---|
165 | 159 | { |
---|
166 | | - .start = IRQ_DM355_MMCINT1, |
---|
| 160 | + .start = DAVINCI_INTC_IRQ(IRQ_DM355_MMCINT1), |
---|
167 | 161 | .flags = IORESOURCE_IRQ, |
---|
168 | 162 | }, { |
---|
169 | | - .start = IRQ_DM355_SDIOINT1, |
---|
| 163 | + .start = DAVINCI_INTC_IRQ(IRQ_DM355_SDIOINT1), |
---|
170 | 164 | .flags = IORESOURCE_IRQ, |
---|
171 | 165 | }, |
---|
172 | 166 | }; |
---|
.. | .. |
---|
219 | 213 | mmcsd1_resources[0].start = DM365_MMCSD1_BASE; |
---|
220 | 214 | mmcsd1_resources[0].end = DM365_MMCSD1_BASE + |
---|
221 | 215 | SZ_4K - 1; |
---|
222 | | - mmcsd1_resources[2].start = IRQ_DM365_SDIOINT1; |
---|
| 216 | + mmcsd1_resources[2].start = DAVINCI_INTC_IRQ( |
---|
| 217 | + IRQ_DM365_SDIOINT1); |
---|
223 | 218 | davinci_mmcsd1_device.name = "da830-mmc"; |
---|
224 | 219 | } else |
---|
225 | 220 | break; |
---|
.. | .. |
---|
230 | 225 | if (cpu_is_davinci_dm355()) { |
---|
231 | 226 | mmcsd0_resources[0].start = DM355_MMCSD0_BASE; |
---|
232 | 227 | mmcsd0_resources[0].end = DM355_MMCSD0_BASE + SZ_4K - 1; |
---|
233 | | - mmcsd0_resources[2].start = IRQ_DM355_SDIOINT0; |
---|
| 228 | + mmcsd0_resources[2].start = DAVINCI_INTC_IRQ( |
---|
| 229 | + IRQ_DM355_SDIOINT0); |
---|
234 | 230 | |
---|
235 | 231 | /* expose all 6 MMC0 signals: CLK, CMD, DATA[0..3] */ |
---|
236 | 232 | davinci_cfg_reg(DM355_MMCSD0); |
---|
.. | .. |
---|
241 | 237 | mmcsd0_resources[0].start = DM365_MMCSD0_BASE; |
---|
242 | 238 | mmcsd0_resources[0].end = DM365_MMCSD0_BASE + |
---|
243 | 239 | SZ_4K - 1; |
---|
244 | | - mmcsd0_resources[2].start = IRQ_DM365_SDIOINT0; |
---|
| 240 | + mmcsd0_resources[2].start = DAVINCI_INTC_IRQ( |
---|
| 241 | + IRQ_DM365_SDIOINT0); |
---|
245 | 242 | davinci_mmcsd0_device.name = "da830-mmc"; |
---|
246 | 243 | } else if (cpu_is_davinci_dm644x()) { |
---|
247 | 244 | /* REVISIT: should this be in board-init code? */ |
---|
.. | .. |
---|
305 | 302 | davinci_gpio_device.dev.platform_data = pdata; |
---|
306 | 303 | return platform_device_register(&davinci_gpio_device); |
---|
307 | 304 | } |
---|
308 | | - |
---|
309 | | -/*-------------------------------------------------------------------------*/ |
---|
310 | | - |
---|
311 | | -/*-------------------------------------------------------------------------*/ |
---|
312 | | - |
---|
313 | | -struct davinci_timer_instance davinci_timer_instance[2] = { |
---|
314 | | - { |
---|
315 | | - .base = DAVINCI_TIMER0_BASE, |
---|
316 | | - .bottom_irq = IRQ_TINT0_TINT12, |
---|
317 | | - .top_irq = IRQ_TINT0_TINT34, |
---|
318 | | - }, |
---|
319 | | - { |
---|
320 | | - .base = DAVINCI_TIMER1_BASE, |
---|
321 | | - .bottom_irq = IRQ_TINT1_TINT12, |
---|
322 | | - .top_irq = IRQ_TINT1_TINT34, |
---|
323 | | - }, |
---|
324 | | -}; |
---|
325 | | - |
---|