diff options
90 files changed, 665 insertions, 386 deletions
diff --git a/arch/arm/mach-omap1/Makefile b/arch/arm/mach-omap1/Makefile index ba6009f27677..af98117043d2 100644 --- a/arch/arm/mach-omap1/Makefile +++ b/arch/arm/mach-omap1/Makefile | |||
@@ -4,7 +4,7 @@ | |||
4 | 4 | ||
5 | # Common support | 5 | # Common support |
6 | obj-y := io.o id.o sram.o time.o irq.o mux.o flash.o serial.o devices.o dma.o | 6 | obj-y := io.o id.o sram.o time.o irq.o mux.o flash.o serial.o devices.o dma.o |
7 | obj-y += clock.o clock_data.o opp_data.o | 7 | obj-y += clock.o clock_data.o opp_data.o reset.o |
8 | 8 | ||
9 | obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o | 9 | obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o |
10 | 10 | ||
diff --git a/arch/arm/mach-omap1/board-ams-delta.c b/arch/arm/mach-omap1/board-ams-delta.c index 22cc8c8df6cb..de88c9297b68 100644 --- a/arch/arm/mach-omap1/board-ams-delta.c +++ b/arch/arm/mach-omap1/board-ams-delta.c | |||
@@ -165,7 +165,7 @@ static struct map_desc ams_delta_io_desc[] __initdata = { | |||
165 | } | 165 | } |
166 | }; | 166 | }; |
167 | 167 | ||
168 | static struct omap_lcd_config ams_delta_lcd_config __initdata = { | 168 | static struct omap_lcd_config ams_delta_lcd_config = { |
169 | .ctrl_name = "internal", | 169 | .ctrl_name = "internal", |
170 | }; | 170 | }; |
171 | 171 | ||
@@ -175,7 +175,7 @@ static struct omap_usb_config ams_delta_usb_config __initdata = { | |||
175 | .pins[0] = 2, | 175 | .pins[0] = 2, |
176 | }; | 176 | }; |
177 | 177 | ||
178 | static struct omap_board_config_kernel ams_delta_config[] = { | 178 | static struct omap_board_config_kernel ams_delta_config[] __initdata = { |
179 | { OMAP_TAG_LCD, &ams_delta_lcd_config }, | 179 | { OMAP_TAG_LCD, &ams_delta_lcd_config }, |
180 | }; | 180 | }; |
181 | 181 | ||
@@ -208,14 +208,14 @@ static const struct matrix_keymap_data ams_delta_keymap_data = { | |||
208 | .keymap_size = ARRAY_SIZE(ams_delta_keymap), | 208 | .keymap_size = ARRAY_SIZE(ams_delta_keymap), |
209 | }; | 209 | }; |
210 | 210 | ||
211 | static struct omap_kp_platform_data ams_delta_kp_data = { | 211 | static struct omap_kp_platform_data ams_delta_kp_data __initdata = { |
212 | .rows = 8, | 212 | .rows = 8, |
213 | .cols = 8, | 213 | .cols = 8, |
214 | .keymap_data = &ams_delta_keymap_data, | 214 | .keymap_data = &ams_delta_keymap_data, |
215 | .delay = 9, | 215 | .delay = 9, |
216 | }; | 216 | }; |
217 | 217 | ||
218 | static struct platform_device ams_delta_kp_device = { | 218 | static struct platform_device ams_delta_kp_device __initdata = { |
219 | .name = "omap-keypad", | 219 | .name = "omap-keypad", |
220 | .id = -1, | 220 | .id = -1, |
221 | .dev = { | 221 | .dev = { |
@@ -225,12 +225,12 @@ static struct platform_device ams_delta_kp_device = { | |||
225 | .resource = ams_delta_kp_resources, | 225 | .resource = ams_delta_kp_resources, |
226 | }; | 226 | }; |
227 | 227 | ||
228 | static struct platform_device ams_delta_lcd_device = { | 228 | static struct platform_device ams_delta_lcd_device __initdata = { |
229 | .name = "lcd_ams_delta", | 229 | .name = "lcd_ams_delta", |
230 | .id = -1, | 230 | .id = -1, |
231 | }; | 231 | }; |
232 | 232 | ||
233 | static struct platform_device ams_delta_led_device = { | 233 | static struct platform_device ams_delta_led_device __initdata = { |
234 | .name = "ams-delta-led", | 234 | .name = "ams-delta-led", |
235 | .id = -1 | 235 | .id = -1 |
236 | }; | 236 | }; |
@@ -259,7 +259,7 @@ static int ams_delta_camera_power(struct device *dev, int power) | |||
259 | #define ams_delta_camera_power NULL | 259 | #define ams_delta_camera_power NULL |
260 | #endif | 260 | #endif |
261 | 261 | ||
262 | static struct soc_camera_link __initdata ams_delta_iclink = { | 262 | static struct soc_camera_link ams_delta_iclink = { |
263 | .bus_id = 0, /* OMAP1 SoC camera bus */ | 263 | .bus_id = 0, /* OMAP1 SoC camera bus */ |
264 | .i2c_adapter_id = 1, | 264 | .i2c_adapter_id = 1, |
265 | .board_info = &ams_delta_camera_board_info[0], | 265 | .board_info = &ams_delta_camera_board_info[0], |
@@ -267,7 +267,7 @@ static struct soc_camera_link __initdata ams_delta_iclink = { | |||
267 | .power = ams_delta_camera_power, | 267 | .power = ams_delta_camera_power, |
268 | }; | 268 | }; |
269 | 269 | ||
270 | static struct platform_device ams_delta_camera_device = { | 270 | static struct platform_device ams_delta_camera_device __initdata = { |
271 | .name = "soc-camera-pdrv", | 271 | .name = "soc-camera-pdrv", |
272 | .id = 0, | 272 | .id = 0, |
273 | .dev = { | 273 | .dev = { |
diff --git a/arch/arm/mach-omap1/board-fsample.c b/arch/arm/mach-omap1/board-fsample.c index 0efb9dbae44c..87f173d93557 100644 --- a/arch/arm/mach-omap1/board-fsample.c +++ b/arch/arm/mach-omap1/board-fsample.c | |||
@@ -287,11 +287,11 @@ static struct platform_device *devices[] __initdata = { | |||
287 | &lcd_device, | 287 | &lcd_device, |
288 | }; | 288 | }; |
289 | 289 | ||
290 | static struct omap_lcd_config fsample_lcd_config __initdata = { | 290 | static struct omap_lcd_config fsample_lcd_config = { |
291 | .ctrl_name = "internal", | 291 | .ctrl_name = "internal", |
292 | }; | 292 | }; |
293 | 293 | ||
294 | static struct omap_board_config_kernel fsample_config[] = { | 294 | static struct omap_board_config_kernel fsample_config[] __initdata = { |
295 | { OMAP_TAG_LCD, &fsample_lcd_config }, | 295 | { OMAP_TAG_LCD, &fsample_lcd_config }, |
296 | }; | 296 | }; |
297 | 297 | ||
diff --git a/arch/arm/mach-omap1/board-h2.c b/arch/arm/mach-omap1/board-h2.c index 28b84aa9bdba..ba3bd09c4754 100644 --- a/arch/arm/mach-omap1/board-h2.c +++ b/arch/arm/mach-omap1/board-h2.c | |||
@@ -202,7 +202,7 @@ static int h2_nand_dev_ready(struct mtd_info *mtd) | |||
202 | 202 | ||
203 | static const char *h2_part_probes[] = { "cmdlinepart", NULL }; | 203 | static const char *h2_part_probes[] = { "cmdlinepart", NULL }; |
204 | 204 | ||
205 | struct platform_nand_data h2_nand_platdata = { | 205 | static struct platform_nand_data h2_nand_platdata = { |
206 | .chip = { | 206 | .chip = { |
207 | .nr_chips = 1, | 207 | .nr_chips = 1, |
208 | .chip_offset = 0, | 208 | .chip_offset = 0, |
diff --git a/arch/arm/mach-omap1/board-h3.c b/arch/arm/mach-omap1/board-h3.c index dbc8b8d882ba..ac48677672ee 100644 --- a/arch/arm/mach-omap1/board-h3.c +++ b/arch/arm/mach-omap1/board-h3.c | |||
@@ -204,7 +204,7 @@ static int nand_dev_ready(struct mtd_info *mtd) | |||
204 | 204 | ||
205 | static const char *part_probes[] = { "cmdlinepart", NULL }; | 205 | static const char *part_probes[] = { "cmdlinepart", NULL }; |
206 | 206 | ||
207 | struct platform_nand_data nand_platdata = { | 207 | static struct platform_nand_data nand_platdata = { |
208 | .chip = { | 208 | .chip = { |
209 | .nr_chips = 1, | 209 | .nr_chips = 1, |
210 | .chip_offset = 0, | 210 | .chip_offset = 0, |
diff --git a/arch/arm/mach-omap1/board-htcherald.c b/arch/arm/mach-omap1/board-htcherald.c index f2c5c585bc83..ba05a51f9408 100644 --- a/arch/arm/mach-omap1/board-htcherald.c +++ b/arch/arm/mach-omap1/board-htcherald.c | |||
@@ -331,7 +331,7 @@ static struct resource htcpld_resources[] = { | |||
331 | }, | 331 | }, |
332 | }; | 332 | }; |
333 | 333 | ||
334 | struct htcpld_chip_platform_data htcpld_chips[] = { | 334 | static struct htcpld_chip_platform_data htcpld_chips[] = { |
335 | [0] = { | 335 | [0] = { |
336 | .addr = 0x03, | 336 | .addr = 0x03, |
337 | .reset = 0x04, | 337 | .reset = 0x04, |
@@ -366,7 +366,7 @@ struct htcpld_chip_platform_data htcpld_chips[] = { | |||
366 | }, | 366 | }, |
367 | }; | 367 | }; |
368 | 368 | ||
369 | struct htcpld_core_platform_data htcpld_pfdata = { | 369 | static struct htcpld_core_platform_data htcpld_pfdata = { |
370 | .int_reset_gpio_hi = HTCPLD_GPIO_INT_RESET_HI, | 370 | .int_reset_gpio_hi = HTCPLD_GPIO_INT_RESET_HI, |
371 | .int_reset_gpio_lo = HTCPLD_GPIO_INT_RESET_LO, | 371 | .int_reset_gpio_lo = HTCPLD_GPIO_INT_RESET_LO, |
372 | .i2c_adapter_id = 1, | 372 | .i2c_adapter_id = 1, |
diff --git a/arch/arm/mach-omap1/board-innovator.c b/arch/arm/mach-omap1/board-innovator.c index a36e6742bf9b..2d9b8cbd7a14 100644 --- a/arch/arm/mach-omap1/board-innovator.c +++ b/arch/arm/mach-omap1/board-innovator.c | |||
@@ -365,7 +365,7 @@ static struct omap_mmc_platform_data mmc1_data = { | |||
365 | 365 | ||
366 | static struct omap_mmc_platform_data *mmc_data[OMAP16XX_NR_MMC]; | 366 | static struct omap_mmc_platform_data *mmc_data[OMAP16XX_NR_MMC]; |
367 | 367 | ||
368 | void __init innovator_mmc_init(void) | 368 | static void __init innovator_mmc_init(void) |
369 | { | 369 | { |
370 | mmc_data[0] = &mmc1_data; | 370 | mmc_data[0] = &mmc1_data; |
371 | omap1_init_mmc(mmc_data, OMAP15XX_NR_MMC); | 371 | omap1_init_mmc(mmc_data, OMAP15XX_NR_MMC); |
diff --git a/arch/arm/mach-omap1/board-nokia770.c b/arch/arm/mach-omap1/board-nokia770.c index d21f09dc78f4..cfd084926146 100644 --- a/arch/arm/mach-omap1/board-nokia770.c +++ b/arch/arm/mach-omap1/board-nokia770.c | |||
@@ -115,7 +115,7 @@ static struct mipid_platform_data nokia770_mipid_platform_data = { | |||
115 | .shutdown = mipid_shutdown, | 115 | .shutdown = mipid_shutdown, |
116 | }; | 116 | }; |
117 | 117 | ||
118 | static void mipid_dev_init(void) | 118 | static void __init mipid_dev_init(void) |
119 | { | 119 | { |
120 | const struct omap_lcd_config *conf; | 120 | const struct omap_lcd_config *conf; |
121 | 121 | ||
@@ -126,7 +126,7 @@ static void mipid_dev_init(void) | |||
126 | } | 126 | } |
127 | } | 127 | } |
128 | 128 | ||
129 | static void ads7846_dev_init(void) | 129 | static void __init ads7846_dev_init(void) |
130 | { | 130 | { |
131 | if (gpio_request(ADS7846_PENDOWN_GPIO, "ADS7846 pendown") < 0) | 131 | if (gpio_request(ADS7846_PENDOWN_GPIO, "ADS7846 pendown") < 0) |
132 | printk(KERN_ERR "can't get ads7846 pen down GPIO\n"); | 132 | printk(KERN_ERR "can't get ads7846 pen down GPIO\n"); |
@@ -170,7 +170,7 @@ static struct hwa742_platform_data nokia770_hwa742_platform_data = { | |||
170 | .te_connected = 1, | 170 | .te_connected = 1, |
171 | }; | 171 | }; |
172 | 172 | ||
173 | static void hwa742_dev_init(void) | 173 | static void __init hwa742_dev_init(void) |
174 | { | 174 | { |
175 | clk_add_alias("hwa_sys_ck", NULL, "bclk", NULL); | 175 | clk_add_alias("hwa_sys_ck", NULL, "bclk", NULL); |
176 | omapfb_set_ctrl_platform_data(&nokia770_hwa742_platform_data); | 176 | omapfb_set_ctrl_platform_data(&nokia770_hwa742_platform_data); |
diff --git a/arch/arm/mach-omap1/board-palmte.c b/arch/arm/mach-omap1/board-palmte.c index fb51ce6123d8..c9d38f47845f 100644 --- a/arch/arm/mach-omap1/board-palmte.c +++ b/arch/arm/mach-omap1/board-palmte.c | |||
@@ -230,19 +230,6 @@ static struct spi_board_info palmte_spi_info[] __initdata = { | |||
230 | }, | 230 | }, |
231 | }; | 231 | }; |
232 | 232 | ||
233 | static void palmte_headphones_detect(void *data, int state) | ||
234 | { | ||
235 | if (state) { | ||
236 | /* Headphones connected, disable speaker */ | ||
237 | gpio_set_value(PALMTE_SPEAKER_GPIO, 0); | ||
238 | printk(KERN_INFO "PM: speaker off\n"); | ||
239 | } else { | ||
240 | /* Headphones unplugged, re-enable speaker */ | ||
241 | gpio_set_value(PALMTE_SPEAKER_GPIO, 1); | ||
242 | printk(KERN_INFO "PM: speaker on\n"); | ||
243 | } | ||
244 | } | ||
245 | |||
246 | static void __init palmte_misc_gpio_setup(void) | 233 | static void __init palmte_misc_gpio_setup(void) |
247 | { | 234 | { |
248 | /* Set TSC2102 PINTDAV pin as input (used by TSC2102 driver) */ | 235 | /* Set TSC2102 PINTDAV pin as input (used by TSC2102 driver) */ |
diff --git a/arch/arm/mach-omap1/board-voiceblue.c b/arch/arm/mach-omap1/board-voiceblue.c index 815a69ce821d..bdc0ac8dc21f 100644 --- a/arch/arm/mach-omap1/board-voiceblue.c +++ b/arch/arm/mach-omap1/board-voiceblue.c | |||
@@ -26,10 +26,12 @@ | |||
26 | #include <linux/smc91x.h> | 26 | #include <linux/smc91x.h> |
27 | 27 | ||
28 | #include <mach/hardware.h> | 28 | #include <mach/hardware.h> |
29 | #include <mach/system.h> | ||
29 | #include <asm/mach-types.h> | 30 | #include <asm/mach-types.h> |
30 | #include <asm/mach/arch.h> | 31 | #include <asm/mach/arch.h> |
31 | #include <asm/mach/map.h> | 32 | #include <asm/mach/map.h> |
32 | 33 | ||
34 | #include <plat/board-voiceblue.h> | ||
33 | #include <plat/common.h> | 35 | #include <plat/common.h> |
34 | #include <mach/gpio.h> | 36 | #include <mach/gpio.h> |
35 | #include <plat/flash.h> | 37 | #include <plat/flash.h> |
@@ -163,52 +165,6 @@ static void __init voiceblue_init_irq(void) | |||
163 | omap_init_irq(); | 165 | omap_init_irq(); |
164 | } | 166 | } |
165 | 167 | ||
166 | static void __init voiceblue_init(void) | ||
167 | { | ||
168 | /* mux pins for uarts */ | ||
169 | omap_cfg_reg(UART1_TX); | ||
170 | omap_cfg_reg(UART1_RTS); | ||
171 | omap_cfg_reg(UART2_TX); | ||
172 | omap_cfg_reg(UART2_RTS); | ||
173 | omap_cfg_reg(UART3_TX); | ||
174 | omap_cfg_reg(UART3_RX); | ||
175 | |||
176 | /* Watchdog */ | ||
177 | gpio_request(0, "Watchdog"); | ||
178 | /* smc91x reset */ | ||
179 | gpio_request(7, "SMC91x reset"); | ||
180 | gpio_direction_output(7, 1); | ||
181 | udelay(2); /* wait at least 100ns */ | ||
182 | gpio_set_value(7, 0); | ||
183 | mdelay(50); /* 50ms until PHY ready */ | ||
184 | /* smc91x interrupt pin */ | ||
185 | gpio_request(8, "SMC91x irq"); | ||
186 | /* 16C554 reset*/ | ||
187 | gpio_request(6, "16C554 reset"); | ||
188 | gpio_direction_output(6, 0); | ||
189 | /* 16C554 interrupt pins */ | ||
190 | gpio_request(12, "16C554 irq"); | ||
191 | gpio_request(13, "16C554 irq"); | ||
192 | gpio_request(14, "16C554 irq"); | ||
193 | gpio_request(15, "16C554 irq"); | ||
194 | set_irq_type(gpio_to_irq(12), IRQ_TYPE_EDGE_RISING); | ||
195 | set_irq_type(gpio_to_irq(13), IRQ_TYPE_EDGE_RISING); | ||
196 | set_irq_type(gpio_to_irq(14), IRQ_TYPE_EDGE_RISING); | ||
197 | set_irq_type(gpio_to_irq(15), IRQ_TYPE_EDGE_RISING); | ||
198 | |||
199 | platform_add_devices(voiceblue_devices, ARRAY_SIZE(voiceblue_devices)); | ||
200 | omap_board_config = voiceblue_config; | ||
201 | omap_board_config_size = ARRAY_SIZE(voiceblue_config); | ||
202 | omap_serial_init(); | ||
203 | omap1_usb_init(&voiceblue_usb_config); | ||
204 | omap_register_i2c_bus(1, 100, NULL, 0); | ||
205 | |||
206 | /* There is a good chance board is going up, so enable power LED | ||
207 | * (it is connected through invertor) */ | ||
208 | omap_writeb(0x00, OMAP_LPG1_LCR); | ||
209 | omap_writeb(0x00, OMAP_LPG1_PMR); /* Disable clock */ | ||
210 | } | ||
211 | |||
212 | static void __init voiceblue_map_io(void) | 168 | static void __init voiceblue_map_io(void) |
213 | { | 169 | { |
214 | omap1_map_common_io(); | 170 | omap1_map_common_io(); |
@@ -275,8 +231,17 @@ void voiceblue_wdt_ping(void) | |||
275 | gpio_set_value(0, wdt_gpio_state); | 231 | gpio_set_value(0, wdt_gpio_state); |
276 | } | 232 | } |
277 | 233 | ||
278 | void voiceblue_reset(void) | 234 | static void voiceblue_reset(char mode, const char *cmd) |
279 | { | 235 | { |
236 | /* | ||
237 | * Workaround for 5912/1611b bug mentioned in sprz209d.pdf p. 28 | ||
238 | * "Global Software Reset Affects Traffic Controller Frequency". | ||
239 | */ | ||
240 | if (cpu_is_omap5912()) { | ||
241 | omap_writew(omap_readw(DPLL_CTL) & ~(1 << 4), DPLL_CTL); | ||
242 | omap_writew(0x8, ARM_RSTCT1); | ||
243 | } | ||
244 | |||
280 | set_bit(MACHINE_REBOOT, &machine_state); | 245 | set_bit(MACHINE_REBOOT, &machine_state); |
281 | voiceblue_wdt_enable(); | 246 | voiceblue_wdt_enable(); |
282 | while (1) ; | 247 | while (1) ; |
@@ -286,6 +251,54 @@ EXPORT_SYMBOL(voiceblue_wdt_enable); | |||
286 | EXPORT_SYMBOL(voiceblue_wdt_disable); | 251 | EXPORT_SYMBOL(voiceblue_wdt_disable); |
287 | EXPORT_SYMBOL(voiceblue_wdt_ping); | 252 | EXPORT_SYMBOL(voiceblue_wdt_ping); |
288 | 253 | ||
254 | static void __init voiceblue_init(void) | ||
255 | { | ||
256 | /* mux pins for uarts */ | ||
257 | omap_cfg_reg(UART1_TX); | ||
258 | omap_cfg_reg(UART1_RTS); | ||
259 | omap_cfg_reg(UART2_TX); | ||
260 | omap_cfg_reg(UART2_RTS); | ||
261 | omap_cfg_reg(UART3_TX); | ||
262 | omap_cfg_reg(UART3_RX); | ||
263 | |||
264 | /* Watchdog */ | ||
265 | gpio_request(0, "Watchdog"); | ||
266 | /* smc91x reset */ | ||
267 | gpio_request(7, "SMC91x reset"); | ||
268 | gpio_direction_output(7, 1); | ||
269 | udelay(2); /* wait at least 100ns */ | ||
270 | gpio_set_value(7, 0); | ||
271 | mdelay(50); /* 50ms until PHY ready */ | ||
272 | /* smc91x interrupt pin */ | ||
273 | gpio_request(8, "SMC91x irq"); | ||
274 | /* 16C554 reset*/ | ||
275 | gpio_request(6, "16C554 reset"); | ||
276 | gpio_direction_output(6, 0); | ||
277 | /* 16C554 interrupt pins */ | ||
278 | gpio_request(12, "16C554 irq"); | ||
279 | gpio_request(13, "16C554 irq"); | ||
280 | gpio_request(14, "16C554 irq"); | ||
281 | gpio_request(15, "16C554 irq"); | ||
282 | set_irq_type(gpio_to_irq(12), IRQ_TYPE_EDGE_RISING); | ||
283 | set_irq_type(gpio_to_irq(13), IRQ_TYPE_EDGE_RISING); | ||
284 | set_irq_type(gpio_to_irq(14), IRQ_TYPE_EDGE_RISING); | ||
285 | set_irq_type(gpio_to_irq(15), IRQ_TYPE_EDGE_RISING); | ||
286 | |||
287 | platform_add_devices(voiceblue_devices, ARRAY_SIZE(voiceblue_devices)); | ||
288 | omap_board_config = voiceblue_config; | ||
289 | omap_board_config_size = ARRAY_SIZE(voiceblue_config); | ||
290 | omap_serial_init(); | ||
291 | omap1_usb_init(&voiceblue_usb_config); | ||
292 | omap_register_i2c_bus(1, 100, NULL, 0); | ||
293 | |||
294 | /* There is a good chance board is going up, so enable power LED | ||
295 | * (it is connected through invertor) */ | ||
296 | omap_writeb(0x00, OMAP_LPG1_LCR); | ||
297 | omap_writeb(0x00, OMAP_LPG1_PMR); /* Disable clock */ | ||
298 | |||
299 | arch_reset = voiceblue_reset; | ||
300 | } | ||
301 | |||
289 | MACHINE_START(VOICEBLUE, "VoiceBlue OMAP5910") | 302 | MACHINE_START(VOICEBLUE, "VoiceBlue OMAP5910") |
290 | /* Maintainer: Ladislav Michl <michl@2n.cz> */ | 303 | /* Maintainer: Ladislav Michl <michl@2n.cz> */ |
291 | .boot_params = 0x10000100, | 304 | .boot_params = 0x10000100, |
diff --git a/arch/arm/mach-omap1/reset.c b/arch/arm/mach-omap1/reset.c new file mode 100644 index 000000000000..ad951ee69205 --- /dev/null +++ b/arch/arm/mach-omap1/reset.c | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * OMAP1 reset support | ||
3 | */ | ||
4 | #include <linux/kernel.h> | ||
5 | #include <linux/io.h> | ||
6 | |||
7 | #include <mach/hardware.h> | ||
8 | #include <mach/system.h> | ||
9 | #include <plat/prcm.h> | ||
10 | |||
11 | void omap1_arch_reset(char mode, const char *cmd) | ||
12 | { | ||
13 | /* | ||
14 | * Workaround for 5912/1611b bug mentioned in sprz209d.pdf p. 28 | ||
15 | * "Global Software Reset Affects Traffic Controller Frequency". | ||
16 | */ | ||
17 | if (cpu_is_omap5912()) { | ||
18 | omap_writew(omap_readw(DPLL_CTL) & ~(1 << 4), DPLL_CTL); | ||
19 | omap_writew(0x8, ARM_RSTCT1); | ||
20 | } | ||
21 | |||
22 | omap_writew(1, ARM_RSTCT1); | ||
23 | } | ||
24 | |||
25 | void (*arch_reset)(char, const char *) = omap1_arch_reset; | ||
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index 1a2cf6226a55..9b4e78fe3d1c 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig | |||
@@ -53,25 +53,30 @@ config ARCH_OMAP4 | |||
53 | comment "OMAP Core Type" | 53 | comment "OMAP Core Type" |
54 | depends on ARCH_OMAP2 | 54 | depends on ARCH_OMAP2 |
55 | 55 | ||
56 | config ARCH_OMAP2420 | 56 | config SOC_OMAP2420 |
57 | bool "OMAP2420 support" | 57 | bool "OMAP2420 support" |
58 | depends on ARCH_OMAP2 | 58 | depends on ARCH_OMAP2 |
59 | default y | 59 | default y |
60 | select OMAP_DM_TIMER | 60 | select OMAP_DM_TIMER |
61 | select ARCH_OMAP_OTG | 61 | select ARCH_OMAP_OTG |
62 | 62 | ||
63 | config ARCH_OMAP2430 | 63 | config SOC_OMAP2430 |
64 | bool "OMAP2430 support" | 64 | bool "OMAP2430 support" |
65 | depends on ARCH_OMAP2 | 65 | depends on ARCH_OMAP2 |
66 | default y | 66 | default y |
67 | select ARCH_OMAP_OTG | 67 | select ARCH_OMAP_OTG |
68 | 68 | ||
69 | config ARCH_OMAP3430 | 69 | config SOC_OMAP3430 |
70 | bool "OMAP3430 support" | 70 | bool "OMAP3430 support" |
71 | depends on ARCH_OMAP3 | 71 | depends on ARCH_OMAP3 |
72 | default y | 72 | default y |
73 | select ARCH_OMAP_OTG | 73 | select ARCH_OMAP_OTG |
74 | 74 | ||
75 | config SOC_OMAPTI816X | ||
76 | bool "TI816X support" | ||
77 | depends on ARCH_OMAP3 | ||
78 | default y | ||
79 | |||
75 | config OMAP_PACKAGE_ZAF | 80 | config OMAP_PACKAGE_ZAF |
76 | bool | 81 | bool |
77 | 82 | ||
@@ -106,25 +111,25 @@ config MACH_OMAP_GENERIC | |||
106 | 111 | ||
107 | config MACH_OMAP2_TUSB6010 | 112 | config MACH_OMAP2_TUSB6010 |
108 | bool | 113 | bool |
109 | depends on ARCH_OMAP2 && ARCH_OMAP2420 | 114 | depends on ARCH_OMAP2 && SOC_OMAP2420 |
110 | default y if MACH_NOKIA_N8X0 | 115 | default y if MACH_NOKIA_N8X0 |
111 | 116 | ||
112 | config MACH_OMAP_H4 | 117 | config MACH_OMAP_H4 |
113 | bool "OMAP 2420 H4 board" | 118 | bool "OMAP 2420 H4 board" |
114 | depends on ARCH_OMAP2420 | 119 | depends on SOC_OMAP2420 |
115 | default y | 120 | default y |
116 | select OMAP_PACKAGE_ZAF | 121 | select OMAP_PACKAGE_ZAF |
117 | select OMAP_DEBUG_DEVICES | 122 | select OMAP_DEBUG_DEVICES |
118 | 123 | ||
119 | config MACH_OMAP_APOLLON | 124 | config MACH_OMAP_APOLLON |
120 | bool "OMAP 2420 Apollon board" | 125 | bool "OMAP 2420 Apollon board" |
121 | depends on ARCH_OMAP2420 | 126 | depends on SOC_OMAP2420 |
122 | default y | 127 | default y |
123 | select OMAP_PACKAGE_ZAC | 128 | select OMAP_PACKAGE_ZAC |
124 | 129 | ||
125 | config MACH_OMAP_2430SDP | 130 | config MACH_OMAP_2430SDP |
126 | bool "OMAP 2430 SDP board" | 131 | bool "OMAP 2430 SDP board" |
127 | depends on ARCH_OMAP2430 | 132 | depends on SOC_OMAP2430 |
128 | default y | 133 | default y |
129 | select OMAP_PACKAGE_ZAC | 134 | select OMAP_PACKAGE_ZAC |
130 | 135 | ||
@@ -219,7 +224,7 @@ config MACH_NOKIA_N810_WIMAX | |||
219 | 224 | ||
220 | config MACH_NOKIA_N8X0 | 225 | config MACH_NOKIA_N8X0 |
221 | bool "Nokia N800/N810" | 226 | bool "Nokia N800/N810" |
222 | depends on ARCH_OMAP2420 | 227 | depends on SOC_OMAP2420 |
223 | default y | 228 | default y |
224 | select OMAP_PACKAGE_ZAC | 229 | select OMAP_PACKAGE_ZAC |
225 | select MACH_NOKIA_N800 | 230 | select MACH_NOKIA_N800 |
@@ -294,6 +299,11 @@ config MACH_OMAP_3630SDP | |||
294 | default y | 299 | default y |
295 | select OMAP_PACKAGE_CBP | 300 | select OMAP_PACKAGE_CBP |
296 | 301 | ||
302 | config MACH_TI8168EVM | ||
303 | bool "TI8168 Evaluation Module" | ||
304 | depends on SOC_OMAPTI816X | ||
305 | default y | ||
306 | |||
297 | config MACH_OMAP_4430SDP | 307 | config MACH_OMAP_4430SDP |
298 | bool "OMAP 4430 SDP board" | 308 | bool "OMAP 4430 SDP board" |
299 | default y | 309 | default y |
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile index 1c0c2b02d870..a9e3974d015f 100644 --- a/arch/arm/mach-omap2/Makefile +++ b/arch/arm/mach-omap2/Makefile | |||
@@ -31,8 +31,8 @@ AFLAGS_omap-headsmp.o :=-Wa,-march=armv7-a$(plus_sec) | |||
31 | AFLAGS_omap44xx-smc.o :=-Wa,-march=armv7-a$(plus_sec) | 31 | AFLAGS_omap44xx-smc.o :=-Wa,-march=armv7-a$(plus_sec) |
32 | 32 | ||
33 | # Functions loaded to SRAM | 33 | # Functions loaded to SRAM |
34 | obj-$(CONFIG_ARCH_OMAP2420) += sram242x.o | 34 | obj-$(CONFIG_SOC_OMAP2420) += sram242x.o |
35 | obj-$(CONFIG_ARCH_OMAP2430) += sram243x.o | 35 | obj-$(CONFIG_SOC_OMAP2430) += sram243x.o |
36 | obj-$(CONFIG_ARCH_OMAP3) += sram34xx.o | 36 | obj-$(CONFIG_ARCH_OMAP3) += sram34xx.o |
37 | 37 | ||
38 | AFLAGS_sram242x.o :=-Wa,-march=armv6 | 38 | AFLAGS_sram242x.o :=-Wa,-march=armv6 |
@@ -40,8 +40,8 @@ AFLAGS_sram243x.o :=-Wa,-march=armv6 | |||
40 | AFLAGS_sram34xx.o :=-Wa,-march=armv7-a | 40 | AFLAGS_sram34xx.o :=-Wa,-march=armv7-a |
41 | 41 | ||
42 | # Pin multiplexing | 42 | # Pin multiplexing |
43 | obj-$(CONFIG_ARCH_OMAP2420) += mux2420.o | 43 | obj-$(CONFIG_SOC_OMAP2420) += mux2420.o |
44 | obj-$(CONFIG_ARCH_OMAP2430) += mux2430.o | 44 | obj-$(CONFIG_SOC_OMAP2430) += mux2430.o |
45 | obj-$(CONFIG_ARCH_OMAP3) += mux34xx.o | 45 | obj-$(CONFIG_ARCH_OMAP3) += mux34xx.o |
46 | obj-$(CONFIG_ARCH_OMAP4) += mux44xx.o | 46 | obj-$(CONFIG_ARCH_OMAP4) += mux44xx.o |
47 | 47 | ||
@@ -113,8 +113,8 @@ obj-$(CONFIG_ARCH_OMAP2) += $(clock-common) clock2xxx.o \ | |||
113 | clkt2xxx_dpllcore.o \ | 113 | clkt2xxx_dpllcore.o \ |
114 | clkt2xxx_virt_prcm_set.o \ | 114 | clkt2xxx_virt_prcm_set.o \ |
115 | clkt2xxx_apll.o clkt2xxx_osc.o | 115 | clkt2xxx_apll.o clkt2xxx_osc.o |
116 | obj-$(CONFIG_ARCH_OMAP2420) += clock2420_data.o | 116 | obj-$(CONFIG_SOC_OMAP2420) += clock2420_data.o |
117 | obj-$(CONFIG_ARCH_OMAP2430) += clock2430.o clock2430_data.o | 117 | obj-$(CONFIG_SOC_OMAP2430) += clock2430.o clock2430_data.o |
118 | obj-$(CONFIG_ARCH_OMAP3) += $(clock-common) clock3xxx.o \ | 118 | obj-$(CONFIG_ARCH_OMAP3) += $(clock-common) clock3xxx.o \ |
119 | clock34xx.o clkt34xx_dpll3m2.o \ | 119 | clock34xx.o clkt34xx_dpll3m2.o \ |
120 | clock3517.o clock36xx.o \ | 120 | clock3517.o clock36xx.o \ |
@@ -123,12 +123,12 @@ obj-$(CONFIG_ARCH_OMAP4) += $(clock-common) clock44xx_data.o \ | |||
123 | dpll3xxx.o | 123 | dpll3xxx.o |
124 | 124 | ||
125 | # OMAP2 clock rate set data (old "OPP" data) | 125 | # OMAP2 clock rate set data (old "OPP" data) |
126 | obj-$(CONFIG_ARCH_OMAP2420) += opp2420_data.o | 126 | obj-$(CONFIG_SOC_OMAP2420) += opp2420_data.o |
127 | obj-$(CONFIG_ARCH_OMAP2430) += opp2430_data.o | 127 | obj-$(CONFIG_SOC_OMAP2430) += opp2430_data.o |
128 | 128 | ||
129 | # hwmod data | 129 | # hwmod data |
130 | obj-$(CONFIG_ARCH_OMAP2420) += omap_hwmod_2420_data.o | 130 | obj-$(CONFIG_SOC_OMAP2420) += omap_hwmod_2420_data.o |
131 | obj-$(CONFIG_ARCH_OMAP2430) += omap_hwmod_2430_data.o | 131 | obj-$(CONFIG_SOC_OMAP2430) += omap_hwmod_2430_data.o |
132 | obj-$(CONFIG_ARCH_OMAP3) += omap_hwmod_3xxx_data.o | 132 | obj-$(CONFIG_ARCH_OMAP3) += omap_hwmod_3xxx_data.o |
133 | obj-$(CONFIG_ARCH_OMAP4) += omap_hwmod_44xx_data.o | 133 | obj-$(CONFIG_ARCH_OMAP4) += omap_hwmod_44xx_data.o |
134 | 134 | ||
@@ -224,6 +224,7 @@ obj-$(CONFIG_MACH_CRANEBOARD) += board-am3517crane.o | |||
224 | 224 | ||
225 | obj-$(CONFIG_MACH_SBC3530) += board-omap3stalker.o \ | 225 | obj-$(CONFIG_MACH_SBC3530) += board-omap3stalker.o \ |
226 | hsmmc.o | 226 | hsmmc.o |
227 | obj-$(CONFIG_MACH_TI8168EVM) += board-ti8168evm.o | ||
227 | # Platform specific device init code | 228 | # Platform specific device init code |
228 | usbfs-$(CONFIG_ARCH_OMAP_OTG) := usb-fs.o | 229 | usbfs-$(CONFIG_ARCH_OMAP_OTG) := usb-fs.o |
229 | obj-y += $(usbfs-m) $(usbfs-y) | 230 | obj-y += $(usbfs-m) $(usbfs-y) |
diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c index e0661777f599..ec74c0f2051c 100644 --- a/arch/arm/mach-omap2/board-2430sdp.c +++ b/arch/arm/mach-omap2/board-2430sdp.c | |||
@@ -139,13 +139,12 @@ static struct omap_board_config_kernel sdp2430_config[] __initdata = { | |||
139 | {OMAP_TAG_LCD, &sdp2430_lcd_config}, | 139 | {OMAP_TAG_LCD, &sdp2430_lcd_config}, |
140 | }; | 140 | }; |
141 | 141 | ||
142 | static void __init omap_2430sdp_init_irq(void) | 142 | static void __init omap_2430sdp_init_early(void) |
143 | { | 143 | { |
144 | omap_board_config = sdp2430_config; | 144 | omap_board_config = sdp2430_config; |
145 | omap_board_config_size = ARRAY_SIZE(sdp2430_config); | 145 | omap_board_config_size = ARRAY_SIZE(sdp2430_config); |
146 | omap2_init_common_infrastructure(); | 146 | omap2_init_common_infrastructure(); |
147 | omap2_init_common_devices(NULL, NULL); | 147 | omap2_init_common_devices(NULL, NULL); |
148 | omap_init_irq(); | ||
149 | } | 148 | } |
150 | 149 | ||
151 | static struct twl4030_gpio_platform_data sdp2430_gpio_data = { | 150 | static struct twl4030_gpio_platform_data sdp2430_gpio_data = { |
@@ -253,9 +252,10 @@ static void __init omap_2430sdp_map_io(void) | |||
253 | MACHINE_START(OMAP_2430SDP, "OMAP2430 sdp2430 board") | 252 | MACHINE_START(OMAP_2430SDP, "OMAP2430 sdp2430 board") |
254 | /* Maintainer: Syed Khasim - Texas Instruments Inc */ | 253 | /* Maintainer: Syed Khasim - Texas Instruments Inc */ |
255 | .boot_params = 0x80000100, | 254 | .boot_params = 0x80000100, |
256 | .map_io = omap_2430sdp_map_io, | ||
257 | .reserve = omap_reserve, | 255 | .reserve = omap_reserve, |
258 | .init_irq = omap_2430sdp_init_irq, | 256 | .map_io = omap_2430sdp_map_io, |
257 | .init_early = omap_2430sdp_init_early, | ||
258 | .init_irq = omap_init_irq, | ||
259 | .init_machine = omap_2430sdp_init, | 259 | .init_machine = omap_2430sdp_init, |
260 | .timer = &omap_timer, | 260 | .timer = &omap_timer, |
261 | MACHINE_END | 261 | MACHINE_END |
diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c index d4e41ef86aa5..31085883199e 100644 --- a/arch/arm/mach-omap2/board-3430sdp.c +++ b/arch/arm/mach-omap2/board-3430sdp.c | |||
@@ -327,14 +327,13 @@ static struct platform_device *sdp3430_devices[] __initdata = { | |||
327 | static struct omap_board_config_kernel sdp3430_config[] __initdata = { | 327 | static struct omap_board_config_kernel sdp3430_config[] __initdata = { |
328 | }; | 328 | }; |
329 | 329 | ||
330 | static void __init omap_3430sdp_init_irq(void) | 330 | static void __init omap_3430sdp_init_early(void) |
331 | { | 331 | { |
332 | omap_board_config = sdp3430_config; | 332 | omap_board_config = sdp3430_config; |
333 | omap_board_config_size = ARRAY_SIZE(sdp3430_config); | 333 | omap_board_config_size = ARRAY_SIZE(sdp3430_config); |
334 | omap3_pm_init_cpuidle(omap3_cpuidle_params_table); | 334 | omap3_pm_init_cpuidle(omap3_cpuidle_params_table); |
335 | omap2_init_common_infrastructure(); | 335 | omap2_init_common_infrastructure(); |
336 | omap2_init_common_devices(hyb18m512160af6_sdrc_params, NULL); | 336 | omap2_init_common_devices(hyb18m512160af6_sdrc_params, NULL); |
337 | omap_init_irq(); | ||
338 | } | 337 | } |
339 | 338 | ||
340 | static int sdp3430_batt_table[] = { | 339 | static int sdp3430_batt_table[] = { |
@@ -822,9 +821,10 @@ static void __init omap_3430sdp_init(void) | |||
822 | MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board") | 821 | MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board") |
823 | /* Maintainer: Syed Khasim - Texas Instruments Inc */ | 822 | /* Maintainer: Syed Khasim - Texas Instruments Inc */ |
824 | .boot_params = 0x80000100, | 823 | .boot_params = 0x80000100, |
825 | .map_io = omap3_map_io, | ||
826 | .reserve = omap_reserve, | 824 | .reserve = omap_reserve, |
827 | .init_irq = omap_3430sdp_init_irq, | 825 | .map_io = omap3_map_io, |
826 | .init_early = omap_3430sdp_init_early, | ||
827 | .init_irq = omap_init_irq, | ||
828 | .init_machine = omap_3430sdp_init, | 828 | .init_machine = omap_3430sdp_init, |
829 | .timer = &omap_timer, | 829 | .timer = &omap_timer, |
830 | MACHINE_END | 830 | MACHINE_END |
diff --git a/arch/arm/mach-omap2/board-3630sdp.c b/arch/arm/mach-omap2/board-3630sdp.c index 62645640f5e4..16538757291a 100644 --- a/arch/arm/mach-omap2/board-3630sdp.c +++ b/arch/arm/mach-omap2/board-3630sdp.c | |||
@@ -69,14 +69,13 @@ static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | |||
69 | static struct omap_board_config_kernel sdp_config[] __initdata = { | 69 | static struct omap_board_config_kernel sdp_config[] __initdata = { |
70 | }; | 70 | }; |
71 | 71 | ||
72 | static void __init omap_sdp_init_irq(void) | 72 | static void __init omap_sdp_init_early(void) |
73 | { | 73 | { |
74 | omap_board_config = sdp_config; | 74 | omap_board_config = sdp_config; |
75 | omap_board_config_size = ARRAY_SIZE(sdp_config); | 75 | omap_board_config_size = ARRAY_SIZE(sdp_config); |
76 | omap2_init_common_infrastructure(); | 76 | omap2_init_common_infrastructure(); |
77 | omap2_init_common_devices(h8mbx00u0mer0em_sdrc_params, | 77 | omap2_init_common_devices(h8mbx00u0mer0em_sdrc_params, |
78 | h8mbx00u0mer0em_sdrc_params); | 78 | h8mbx00u0mer0em_sdrc_params); |
79 | omap_init_irq(); | ||
80 | } | 79 | } |
81 | 80 | ||
82 | #ifdef CONFIG_OMAP_MUX | 81 | #ifdef CONFIG_OMAP_MUX |
@@ -216,9 +215,10 @@ static void __init omap_sdp_init(void) | |||
216 | 215 | ||
217 | MACHINE_START(OMAP_3630SDP, "OMAP 3630SDP board") | 216 | MACHINE_START(OMAP_3630SDP, "OMAP 3630SDP board") |
218 | .boot_params = 0x80000100, | 217 | .boot_params = 0x80000100, |
219 | .map_io = omap3_map_io, | ||
220 | .reserve = omap_reserve, | 218 | .reserve = omap_reserve, |
221 | .init_irq = omap_sdp_init_irq, | 219 | .map_io = omap3_map_io, |
220 | .init_early = omap_sdp_init_early, | ||
221 | .init_irq = omap_init_irq, | ||
222 | .init_machine = omap_sdp_init, | 222 | .init_machine = omap_sdp_init, |
223 | .timer = &omap_timer, | 223 | .timer = &omap_timer, |
224 | MACHINE_END | 224 | MACHINE_END |
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c index 07d1b20b1148..12d99e582cd6 100644 --- a/arch/arm/mach-omap2/board-4430sdp.c +++ b/arch/arm/mach-omap2/board-4430sdp.c | |||
@@ -239,7 +239,7 @@ static struct omap_board_config_kernel sdp4430_config[] __initdata = { | |||
239 | { OMAP_TAG_LCD, &sdp4430_lcd_config }, | 239 | { OMAP_TAG_LCD, &sdp4430_lcd_config }, |
240 | }; | 240 | }; |
241 | 241 | ||
242 | static void __init omap_4430sdp_init_irq(void) | 242 | static void __init omap_4430sdp_init_early(void) |
243 | { | 243 | { |
244 | omap_board_config = sdp4430_config; | 244 | omap_board_config = sdp4430_config; |
245 | omap_board_config_size = ARRAY_SIZE(sdp4430_config); | 245 | omap_board_config_size = ARRAY_SIZE(sdp4430_config); |
@@ -248,7 +248,6 @@ static void __init omap_4430sdp_init_irq(void) | |||
248 | #ifdef CONFIG_OMAP_32K_TIMER | 248 | #ifdef CONFIG_OMAP_32K_TIMER |
249 | omap2_gp_clockevent_set_gptimer(1); | 249 | omap2_gp_clockevent_set_gptimer(1); |
250 | #endif | 250 | #endif |
251 | gic_init_irq(); | ||
252 | } | 251 | } |
253 | 252 | ||
254 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 253 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
@@ -605,9 +604,10 @@ static void __init omap_4430sdp_map_io(void) | |||
605 | MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board") | 604 | MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board") |
606 | /* Maintainer: Santosh Shilimkar - Texas Instruments Inc */ | 605 | /* Maintainer: Santosh Shilimkar - Texas Instruments Inc */ |
607 | .boot_params = 0x80000100, | 606 | .boot_params = 0x80000100, |
608 | .map_io = omap_4430sdp_map_io, | ||
609 | .reserve = omap_reserve, | 607 | .reserve = omap_reserve, |
610 | .init_irq = omap_4430sdp_init_irq, | 608 | .map_io = omap_4430sdp_map_io, |
609 | .init_early = omap_4430sdp_init_early, | ||
610 | .init_irq = gic_init_irq, | ||
611 | .init_machine = omap_4430sdp_init, | 611 | .init_machine = omap_4430sdp_init, |
612 | .timer = &omap_timer, | 612 | .timer = &omap_timer, |
613 | MACHINE_END | 613 | MACHINE_END |
diff --git a/arch/arm/mach-omap2/board-am3517crane.c b/arch/arm/mach-omap2/board-am3517crane.c index 71acb5ab281c..ae3a83d47dab 100644 --- a/arch/arm/mach-omap2/board-am3517crane.c +++ b/arch/arm/mach-omap2/board-am3517crane.c | |||
@@ -49,14 +49,13 @@ static struct omap_board_mux board_mux[] __initdata = { | |||
49 | #define board_mux NULL | 49 | #define board_mux NULL |
50 | #endif | 50 | #endif |
51 | 51 | ||
52 | static void __init am3517_crane_init_irq(void) | 52 | static void __init am3517_crane_init_early(void) |
53 | { | 53 | { |
54 | omap_board_config = am3517_crane_config; | 54 | omap_board_config = am3517_crane_config; |
55 | omap_board_config_size = ARRAY_SIZE(am3517_crane_config); | 55 | omap_board_config_size = ARRAY_SIZE(am3517_crane_config); |
56 | 56 | ||
57 | omap2_init_common_infrastructure(); | 57 | omap2_init_common_infrastructure(); |
58 | omap2_init_common_devices(NULL, NULL); | 58 | omap2_init_common_devices(NULL, NULL); |
59 | omap_init_irq(); | ||
60 | } | 59 | } |
61 | 60 | ||
62 | static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = { | 61 | static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = { |
@@ -108,9 +107,10 @@ static void __init am3517_crane_init(void) | |||
108 | 107 | ||
109 | MACHINE_START(CRANEBOARD, "AM3517/05 CRANEBOARD") | 108 | MACHINE_START(CRANEBOARD, "AM3517/05 CRANEBOARD") |
110 | .boot_params = 0x80000100, | 109 | .boot_params = 0x80000100, |
111 | .map_io = omap3_map_io, | ||
112 | .reserve = omap_reserve, | 110 | .reserve = omap_reserve, |
113 | .init_irq = am3517_crane_init_irq, | 111 | .map_io = omap3_map_io, |
112 | .init_early = am3517_crane_init_early, | ||
113 | .init_irq = omap_init_irq, | ||
114 | .init_machine = am3517_crane_init, | 114 | .init_machine = am3517_crane_init, |
115 | .timer = &omap_timer, | 115 | .timer = &omap_timer, |
116 | MACHINE_END | 116 | MACHINE_END |
diff --git a/arch/arm/mach-omap2/board-am3517evm.c b/arch/arm/mach-omap2/board-am3517evm.c index 10d60b7743cf..d0d0f5528132 100644 --- a/arch/arm/mach-omap2/board-am3517evm.c +++ b/arch/arm/mach-omap2/board-am3517evm.c | |||
@@ -396,13 +396,12 @@ static struct platform_device *am3517_evm_devices[] __initdata = { | |||
396 | &am3517_evm_dss_device, | 396 | &am3517_evm_dss_device, |
397 | }; | 397 | }; |
398 | 398 | ||
399 | static void __init am3517_evm_init_irq(void) | 399 | static void __init am3517_evm_init_early(void) |
400 | { | 400 | { |
401 | omap_board_config = am3517_evm_config; | 401 | omap_board_config = am3517_evm_config; |
402 | omap_board_config_size = ARRAY_SIZE(am3517_evm_config); | 402 | omap_board_config_size = ARRAY_SIZE(am3517_evm_config); |
403 | omap2_init_common_infrastructure(); | 403 | omap2_init_common_infrastructure(); |
404 | omap2_init_common_devices(NULL, NULL); | 404 | omap2_init_common_devices(NULL, NULL); |
405 | omap_init_irq(); | ||
406 | } | 405 | } |
407 | 406 | ||
408 | static struct omap_musb_board_data musb_board_data = { | 407 | static struct omap_musb_board_data musb_board_data = { |
@@ -521,9 +520,10 @@ static void __init am3517_evm_init(void) | |||
521 | 520 | ||
522 | MACHINE_START(OMAP3517EVM, "OMAP3517/AM3517 EVM") | 521 | MACHINE_START(OMAP3517EVM, "OMAP3517/AM3517 EVM") |
523 | .boot_params = 0x80000100, | 522 | .boot_params = 0x80000100, |
524 | .map_io = omap3_map_io, | ||
525 | .reserve = omap_reserve, | 523 | .reserve = omap_reserve, |
526 | .init_irq = am3517_evm_init_irq, | 524 | .map_io = omap3_map_io, |
525 | .init_early = am3517_evm_init_early, | ||
526 | .init_irq = omap_init_irq, | ||
527 | .init_machine = am3517_evm_init, | 527 | .init_machine = am3517_evm_init, |
528 | .timer = &omap_timer, | 528 | .timer = &omap_timer, |
529 | MACHINE_END | 529 | MACHINE_END |
diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c index 9f55b68687f7..4ef4aad4e719 100644 --- a/arch/arm/mach-omap2/board-apollon.c +++ b/arch/arm/mach-omap2/board-apollon.c | |||
@@ -274,13 +274,12 @@ static struct omap_board_config_kernel apollon_config[] __initdata = { | |||
274 | { OMAP_TAG_LCD, &apollon_lcd_config }, | 274 | { OMAP_TAG_LCD, &apollon_lcd_config }, |
275 | }; | 275 | }; |
276 | 276 | ||
277 | static void __init omap_apollon_init_irq(void) | 277 | static void __init omap_apollon_init_early(void) |
278 | { | 278 | { |
279 | omap_board_config = apollon_config; | 279 | omap_board_config = apollon_config; |
280 | omap_board_config_size = ARRAY_SIZE(apollon_config); | 280 | omap_board_config_size = ARRAY_SIZE(apollon_config); |
281 | omap2_init_common_infrastructure(); | 281 | omap2_init_common_infrastructure(); |
282 | omap2_init_common_devices(NULL, NULL); | 282 | omap2_init_common_devices(NULL, NULL); |
283 | omap_init_irq(); | ||
284 | } | 283 | } |
285 | 284 | ||
286 | static void __init apollon_led_init(void) | 285 | static void __init apollon_led_init(void) |
@@ -355,9 +354,10 @@ static void __init omap_apollon_map_io(void) | |||
355 | MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon") | 354 | MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon") |
356 | /* Maintainer: Kyungmin Park <kyungmin.park@samsung.com> */ | 355 | /* Maintainer: Kyungmin Park <kyungmin.park@samsung.com> */ |
357 | .boot_params = 0x80000100, | 356 | .boot_params = 0x80000100, |
358 | .map_io = omap_apollon_map_io, | ||
359 | .reserve = omap_reserve, | 357 | .reserve = omap_reserve, |
360 | .init_irq = omap_apollon_init_irq, | 358 | .map_io = omap_apollon_map_io, |
359 | .init_early = omap_apollon_init_early, | ||
360 | .init_irq = omap_init_irq, | ||
361 | .init_machine = omap_apollon_init, | 361 | .init_machine = omap_apollon_init, |
362 | .timer = &omap_timer, | 362 | .timer = &omap_timer, |
363 | MACHINE_END | 363 | MACHINE_END |
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c index dac141610666..9e4de92a5798 100644 --- a/arch/arm/mach-omap2/board-cm-t35.c +++ b/arch/arm/mach-omap2/board-cm-t35.c | |||
@@ -683,7 +683,7 @@ static void __init cm_t35_init_i2c(void) | |||
683 | static struct omap_board_config_kernel cm_t35_config[] __initdata = { | 683 | static struct omap_board_config_kernel cm_t35_config[] __initdata = { |
684 | }; | 684 | }; |
685 | 685 | ||
686 | static void __init cm_t35_init_irq(void) | 686 | static void __init cm_t35_init_early(void) |
687 | { | 687 | { |
688 | omap_board_config = cm_t35_config; | 688 | omap_board_config = cm_t35_config; |
689 | omap_board_config_size = ARRAY_SIZE(cm_t35_config); | 689 | omap_board_config_size = ARRAY_SIZE(cm_t35_config); |
@@ -691,7 +691,6 @@ static void __init cm_t35_init_irq(void) | |||
691 | omap2_init_common_infrastructure(); | 691 | omap2_init_common_infrastructure(); |
692 | omap2_init_common_devices(mt46h32m32lf6_sdrc_params, | 692 | omap2_init_common_devices(mt46h32m32lf6_sdrc_params, |
693 | mt46h32m32lf6_sdrc_params); | 693 | mt46h32m32lf6_sdrc_params); |
694 | omap_init_irq(); | ||
695 | } | 694 | } |
696 | 695 | ||
697 | static struct omap_board_mux board_mux[] __initdata = { | 696 | static struct omap_board_mux board_mux[] __initdata = { |
@@ -815,9 +814,10 @@ static void __init cm_t35_init(void) | |||
815 | 814 | ||
816 | MACHINE_START(CM_T35, "Compulab CM-T35") | 815 | MACHINE_START(CM_T35, "Compulab CM-T35") |
817 | .boot_params = 0x80000100, | 816 | .boot_params = 0x80000100, |
818 | .map_io = omap3_map_io, | ||
819 | .reserve = omap_reserve, | 817 | .reserve = omap_reserve, |
820 | .init_irq = cm_t35_init_irq, | 818 | .map_io = omap3_map_io, |
819 | .init_early = cm_t35_init_early, | ||
820 | .init_irq = omap_init_irq, | ||
821 | .init_machine = cm_t35_init, | 821 | .init_machine = cm_t35_init, |
822 | .timer = &omap_timer, | 822 | .timer = &omap_timer, |
823 | MACHINE_END | 823 | MACHINE_END |
diff --git a/arch/arm/mach-omap2/board-cm-t3517.c b/arch/arm/mach-omap2/board-cm-t3517.c index 8f9a64d650ee..38bef6d004c9 100644 --- a/arch/arm/mach-omap2/board-cm-t3517.c +++ b/arch/arm/mach-omap2/board-cm-t3517.c | |||
@@ -254,14 +254,13 @@ static inline void cm_t3517_init_nand(void) {} | |||
254 | static struct omap_board_config_kernel cm_t3517_config[] __initdata = { | 254 | static struct omap_board_config_kernel cm_t3517_config[] __initdata = { |
255 | }; | 255 | }; |
256 | 256 | ||
257 | static void __init cm_t3517_init_irq(void) | 257 | static void __init cm_t3517_init_early(void) |
258 | { | 258 | { |
259 | omap_board_config = cm_t3517_config; | 259 | omap_board_config = cm_t3517_config; |
260 | omap_board_config_size = ARRAY_SIZE(cm_t3517_config); | 260 | omap_board_config_size = ARRAY_SIZE(cm_t3517_config); |
261 | 261 | ||
262 | omap2_init_common_infrastructure(); | 262 | omap2_init_common_infrastructure(); |
263 | omap2_init_common_devices(NULL, NULL); | 263 | omap2_init_common_devices(NULL, NULL); |
264 | omap_init_irq(); | ||
265 | } | 264 | } |
266 | 265 | ||
267 | static struct omap_board_mux board_mux[] __initdata = { | 266 | static struct omap_board_mux board_mux[] __initdata = { |
@@ -303,9 +302,10 @@ static void __init cm_t3517_init(void) | |||
303 | 302 | ||
304 | MACHINE_START(CM_T3517, "Compulab CM-T3517") | 303 | MACHINE_START(CM_T3517, "Compulab CM-T3517") |
305 | .boot_params = 0x80000100, | 304 | .boot_params = 0x80000100, |
306 | .map_io = omap3_map_io, | ||
307 | .reserve = omap_reserve, | 305 | .reserve = omap_reserve, |
308 | .init_irq = cm_t3517_init_irq, | 306 | .map_io = omap3_map_io, |
307 | .init_early = cm_t3517_init_early, | ||
308 | .init_irq = omap_init_irq, | ||
309 | .init_machine = cm_t3517_init, | 309 | .init_machine = cm_t3517_init, |
310 | .timer = &omap_timer, | 310 | .timer = &omap_timer, |
311 | MACHINE_END | 311 | MACHINE_END |
diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c index 9a2a31e011ce..af742887e834 100644 --- a/arch/arm/mach-omap2/board-devkit8000.c +++ b/arch/arm/mach-omap2/board-devkit8000.c | |||
@@ -456,11 +456,15 @@ static struct platform_device keys_gpio = { | |||
456 | }; | 456 | }; |
457 | 457 | ||
458 | 458 | ||
459 | static void __init devkit8000_init_irq(void) | 459 | static void __init devkit8000_init_early(void) |
460 | { | 460 | { |
461 | omap2_init_common_infrastructure(); | 461 | omap2_init_common_infrastructure(); |
462 | omap2_init_common_devices(mt46h32m32lf6_sdrc_params, | 462 | omap2_init_common_devices(mt46h32m32lf6_sdrc_params, |
463 | mt46h32m32lf6_sdrc_params); | 463 | mt46h32m32lf6_sdrc_params); |
464 | } | ||
465 | |||
466 | static void __init devkit8000_init_irq(void) | ||
467 | { | ||
464 | omap_init_irq(); | 468 | omap_init_irq(); |
465 | #ifdef CONFIG_OMAP_32K_TIMER | 469 | #ifdef CONFIG_OMAP_32K_TIMER |
466 | omap2_gp_clockevent_set_gptimer(12); | 470 | omap2_gp_clockevent_set_gptimer(12); |
@@ -813,8 +817,9 @@ static void __init devkit8000_init(void) | |||
813 | 817 | ||
814 | MACHINE_START(DEVKIT8000, "OMAP3 Devkit8000") | 818 | MACHINE_START(DEVKIT8000, "OMAP3 Devkit8000") |
815 | .boot_params = 0x80000100, | 819 | .boot_params = 0x80000100, |
816 | .map_io = omap3_map_io, | ||
817 | .reserve = omap_reserve, | 820 | .reserve = omap_reserve, |
821 | .map_io = omap3_map_io, | ||
822 | .init_early = devkit8000_init_early, | ||
818 | .init_irq = devkit8000_init_irq, | 823 | .init_irq = devkit8000_init_irq, |
819 | .init_machine = devkit8000_init, | 824 | .init_machine = devkit8000_init, |
820 | .timer = &omap_timer, | 825 | .timer = &omap_timer, |
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c index 0e3d81e09f89..682da9251db6 100644 --- a/arch/arm/mach-omap2/board-generic.c +++ b/arch/arm/mach-omap2/board-generic.c | |||
@@ -33,13 +33,12 @@ | |||
33 | static struct omap_board_config_kernel generic_config[] = { | 33 | static struct omap_board_config_kernel generic_config[] = { |
34 | }; | 34 | }; |
35 | 35 | ||
36 | static void __init omap_generic_init_irq(void) | 36 | static void __init omap_generic_init_early(void) |
37 | { | 37 | { |
38 | omap_board_config = generic_config; | 38 | omap_board_config = generic_config; |
39 | omap_board_config_size = ARRAY_SIZE(generic_config); | 39 | omap_board_config_size = ARRAY_SIZE(generic_config); |
40 | omap2_init_common_infrastructure(); | 40 | omap2_init_common_infrastructure(); |
41 | omap2_init_common_devices(NULL, NULL); | 41 | omap2_init_common_devices(NULL, NULL); |
42 | omap_init_irq(); | ||
43 | } | 42 | } |
44 | 43 | ||
45 | static void __init omap_generic_init(void) | 44 | static void __init omap_generic_init(void) |
@@ -68,9 +67,10 @@ static void __init omap_generic_map_io(void) | |||
68 | MACHINE_START(OMAP_GENERIC, "Generic OMAP24xx") | 67 | MACHINE_START(OMAP_GENERIC, "Generic OMAP24xx") |
69 | /* Maintainer: Paul Mundt <paul.mundt@nokia.com> */ | 68 | /* Maintainer: Paul Mundt <paul.mundt@nokia.com> */ |
70 | .boot_params = 0x80000100, | 69 | .boot_params = 0x80000100, |
71 | .map_io = omap_generic_map_io, | ||
72 | .reserve = omap_reserve, | 70 | .reserve = omap_reserve, |
73 | .init_irq = omap_generic_init_irq, | 71 | .map_io = omap_generic_map_io, |
72 | .init_early = omap_generic_init_early, | ||
73 | .init_irq = omap_init_irq, | ||
74 | .init_machine = omap_generic_init, | 74 | .init_machine = omap_generic_init, |
75 | .timer = &omap_timer, | 75 | .timer = &omap_timer, |
76 | MACHINE_END | 76 | MACHINE_END |
diff --git a/arch/arm/mach-omap2/board-h4.c b/arch/arm/mach-omap2/board-h4.c index 25cc9dad4b02..f6a3872f72fa 100644 --- a/arch/arm/mach-omap2/board-h4.c +++ b/arch/arm/mach-omap2/board-h4.c | |||
@@ -290,12 +290,16 @@ static struct omap_board_config_kernel h4_config[] __initdata = { | |||
290 | { OMAP_TAG_LCD, &h4_lcd_config }, | 290 | { OMAP_TAG_LCD, &h4_lcd_config }, |
291 | }; | 291 | }; |
292 | 292 | ||
293 | static void __init omap_h4_init_irq(void) | 293 | static void __init omap_h4_init_early(void) |
294 | { | 294 | { |
295 | omap_board_config = h4_config; | 295 | omap_board_config = h4_config; |
296 | omap_board_config_size = ARRAY_SIZE(h4_config); | 296 | omap_board_config_size = ARRAY_SIZE(h4_config); |
297 | omap2_init_common_infrastructure(); | 297 | omap2_init_common_infrastructure(); |
298 | omap2_init_common_devices(NULL, NULL); | 298 | omap2_init_common_devices(NULL, NULL); |
299 | } | ||
300 | |||
301 | static void __init omap_h4_init_irq(void) | ||
302 | { | ||
299 | omap_init_irq(); | 303 | omap_init_irq(); |
300 | h4_init_flash(); | 304 | h4_init_flash(); |
301 | } | 305 | } |
@@ -378,8 +382,9 @@ static void __init omap_h4_map_io(void) | |||
378 | MACHINE_START(OMAP_H4, "OMAP2420 H4 board") | 382 | MACHINE_START(OMAP_H4, "OMAP2420 H4 board") |
379 | /* Maintainer: Paul Mundt <paul.mundt@nokia.com> */ | 383 | /* Maintainer: Paul Mundt <paul.mundt@nokia.com> */ |
380 | .boot_params = 0x80000100, | 384 | .boot_params = 0x80000100, |
381 | .map_io = omap_h4_map_io, | ||
382 | .reserve = omap_reserve, | 385 | .reserve = omap_reserve, |
386 | .map_io = omap_h4_map_io, | ||
387 | .init_early = omap_h4_init_early, | ||
383 | .init_irq = omap_h4_init_irq, | 388 | .init_irq = omap_h4_init_irq, |
384 | .init_machine = omap_h4_init, | 389 | .init_machine = omap_h4_init, |
385 | .timer = &omap_timer, | 390 | .timer = &omap_timer, |
diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c index 3be85a1f55f4..dd0b1ac3b662 100644 --- a/arch/arm/mach-omap2/board-igep0020.c +++ b/arch/arm/mach-omap2/board-igep0020.c | |||
@@ -525,12 +525,11 @@ static struct platform_device *igep2_devices[] __initdata = { | |||
525 | &igep2_vwlan_device, | 525 | &igep2_vwlan_device, |
526 | }; | 526 | }; |
527 | 527 | ||
528 | static void __init igep2_init_irq(void) | 528 | static void __init igep2_init_early(void) |
529 | { | 529 | { |
530 | omap2_init_common_infrastructure(); | 530 | omap2_init_common_infrastructure(); |
531 | omap2_init_common_devices(m65kxxxxam_sdrc_params, | 531 | omap2_init_common_devices(m65kxxxxam_sdrc_params, |
532 | m65kxxxxam_sdrc_params); | 532 | m65kxxxxam_sdrc_params); |
533 | omap_init_irq(); | ||
534 | } | 533 | } |
535 | 534 | ||
536 | static struct twl4030_codec_audio_data igep2_audio_data = { | 535 | static struct twl4030_codec_audio_data igep2_audio_data = { |
@@ -716,9 +715,10 @@ static void __init igep2_init(void) | |||
716 | 715 | ||
717 | MACHINE_START(IGEP0020, "IGEP v2 board") | 716 | MACHINE_START(IGEP0020, "IGEP v2 board") |
718 | .boot_params = 0x80000100, | 717 | .boot_params = 0x80000100, |
719 | .map_io = omap3_map_io, | ||
720 | .reserve = omap_reserve, | 718 | .reserve = omap_reserve, |
721 | .init_irq = igep2_init_irq, | 719 | .map_io = omap3_map_io, |
720 | .init_early = igep2_init_early, | ||
721 | .init_irq = omap_init_irq, | ||
722 | .init_machine = igep2_init, | 722 | .init_machine = igep2_init, |
723 | .timer = &omap_timer, | 723 | .timer = &omap_timer, |
724 | MACHINE_END | 724 | MACHINE_END |
diff --git a/arch/arm/mach-omap2/board-igep0030.c b/arch/arm/mach-omap2/board-igep0030.c index 4dc62a9b9cb2..d75028e48f5d 100644 --- a/arch/arm/mach-omap2/board-igep0030.c +++ b/arch/arm/mach-omap2/board-igep0030.c | |||
@@ -331,12 +331,11 @@ static struct platform_device *igep3_devices[] __initdata = { | |||
331 | &igep3_vwlan_device, | 331 | &igep3_vwlan_device, |
332 | }; | 332 | }; |
333 | 333 | ||
334 | static void __init igep3_init_irq(void) | 334 | static void __init igep3_init_early(void) |
335 | { | 335 | { |
336 | omap2_init_common_infrastructure(); | 336 | omap2_init_common_infrastructure(); |
337 | omap2_init_common_devices(m65kxxxxam_sdrc_params, | 337 | omap2_init_common_devices(m65kxxxxam_sdrc_params, |
338 | m65kxxxxam_sdrc_params); | 338 | m65kxxxxam_sdrc_params); |
339 | omap_init_irq(); | ||
340 | } | 339 | } |
341 | 340 | ||
342 | static struct twl4030_platform_data igep3_twl4030_pdata = { | 341 | static struct twl4030_platform_data igep3_twl4030_pdata = { |
@@ -452,7 +451,8 @@ MACHINE_START(IGEP0030, "IGEP OMAP3 module") | |||
452 | .boot_params = 0x80000100, | 451 | .boot_params = 0x80000100, |
453 | .reserve = omap_reserve, | 452 | .reserve = omap_reserve, |
454 | .map_io = omap3_map_io, | 453 | .map_io = omap3_map_io, |
455 | .init_irq = igep3_init_irq, | 454 | .init_early = igep3_init_early, |
455 | .init_irq = omap_init_irq, | ||
456 | .init_machine = igep3_init, | 456 | .init_machine = igep3_init, |
457 | .timer = &omap_timer, | 457 | .timer = &omap_timer, |
458 | MACHINE_END | 458 | MACHINE_END |
diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c index e5dc74875f9d..d8eb2cb7cbc7 100644 --- a/arch/arm/mach-omap2/board-ldp.c +++ b/arch/arm/mach-omap2/board-ldp.c | |||
@@ -288,13 +288,12 @@ static struct omap_board_config_kernel ldp_config[] __initdata = { | |||
288 | { OMAP_TAG_LCD, &ldp_lcd_config }, | 288 | { OMAP_TAG_LCD, &ldp_lcd_config }, |
289 | }; | 289 | }; |
290 | 290 | ||
291 | static void __init omap_ldp_init_irq(void) | 291 | static void __init omap_ldp_init_early(void) |
292 | { | 292 | { |
293 | omap_board_config = ldp_config; | 293 | omap_board_config = ldp_config; |
294 | omap_board_config_size = ARRAY_SIZE(ldp_config); | 294 | omap_board_config_size = ARRAY_SIZE(ldp_config); |
295 | omap2_init_common_infrastructure(); | 295 | omap2_init_common_infrastructure(); |
296 | omap2_init_common_devices(NULL, NULL); | 296 | omap2_init_common_devices(NULL, NULL); |
297 | omap_init_irq(); | ||
298 | } | 297 | } |
299 | 298 | ||
300 | static struct twl4030_usb_data ldp_usb_data = { | 299 | static struct twl4030_usb_data ldp_usb_data = { |
@@ -443,9 +442,10 @@ static void __init omap_ldp_init(void) | |||
443 | 442 | ||
444 | MACHINE_START(OMAP_LDP, "OMAP LDP board") | 443 | MACHINE_START(OMAP_LDP, "OMAP LDP board") |
445 | .boot_params = 0x80000100, | 444 | .boot_params = 0x80000100, |
446 | .map_io = omap3_map_io, | ||
447 | .reserve = omap_reserve, | 445 | .reserve = omap_reserve, |
448 | .init_irq = omap_ldp_init_irq, | 446 | .map_io = omap3_map_io, |
447 | .init_early = omap_ldp_init_early, | ||
448 | .init_irq = omap_init_irq, | ||
449 | .init_machine = omap_ldp_init, | 449 | .init_machine = omap_ldp_init, |
450 | .timer = &omap_timer, | 450 | .timer = &omap_timer, |
451 | MACHINE_END | 451 | MACHINE_END |
diff --git a/arch/arm/mach-omap2/board-n8x0.c b/arch/arm/mach-omap2/board-n8x0.c index f396756872b7..b36cbd21e2d0 100644 --- a/arch/arm/mach-omap2/board-n8x0.c +++ b/arch/arm/mach-omap2/board-n8x0.c | |||
@@ -628,11 +628,10 @@ static void __init n8x0_map_io(void) | |||
628 | omap242x_map_common_io(); | 628 | omap242x_map_common_io(); |
629 | } | 629 | } |
630 | 630 | ||
631 | static void __init n8x0_init_irq(void) | 631 | static void __init n8x0_init_early(void) |
632 | { | 632 | { |
633 | omap2_init_common_infrastructure(); | 633 | omap2_init_common_infrastructure(); |
634 | omap2_init_common_devices(NULL, NULL); | 634 | omap2_init_common_devices(NULL, NULL); |
635 | omap_init_irq(); | ||
636 | } | 635 | } |
637 | 636 | ||
638 | #ifdef CONFIG_OMAP_MUX | 637 | #ifdef CONFIG_OMAP_MUX |
@@ -703,27 +702,30 @@ static void __init n8x0_init_machine(void) | |||
703 | 702 | ||
704 | MACHINE_START(NOKIA_N800, "Nokia N800") | 703 | MACHINE_START(NOKIA_N800, "Nokia N800") |
705 | .boot_params = 0x80000100, | 704 | .boot_params = 0x80000100, |
706 | .map_io = n8x0_map_io, | ||
707 | .reserve = omap_reserve, | 705 | .reserve = omap_reserve, |
708 | .init_irq = n8x0_init_irq, | 706 | .map_io = n8x0_map_io, |
707 | .init_early = n8x0_init_early, | ||
708 | .init_irq = omap_init_irq, | ||
709 | .init_machine = n8x0_init_machine, | 709 | .init_machine = n8x0_init_machine, |
710 | .timer = &omap_timer, | 710 | .timer = &omap_timer, |
711 | MACHINE_END | 711 | MACHINE_END |
712 | 712 | ||
713 | MACHINE_START(NOKIA_N810, "Nokia N810") | 713 | MACHINE_START(NOKIA_N810, "Nokia N810") |
714 | .boot_params = 0x80000100, | 714 | .boot_params = 0x80000100, |
715 | .map_io = n8x0_map_io, | ||
716 | .reserve = omap_reserve, | 715 | .reserve = omap_reserve, |
717 | .init_irq = n8x0_init_irq, | 716 | .map_io = n8x0_map_io, |
717 | .init_early = n8x0_init_early, | ||
718 | .init_irq = omap_init_irq, | ||
718 | .init_machine = n8x0_init_machine, | 719 | .init_machine = n8x0_init_machine, |
719 | .timer = &omap_timer, | 720 | .timer = &omap_timer, |
720 | MACHINE_END | 721 | MACHINE_END |
721 | 722 | ||
722 | MACHINE_START(NOKIA_N810_WIMAX, "Nokia N810 WiMAX") | 723 | MACHINE_START(NOKIA_N810_WIMAX, "Nokia N810 WiMAX") |
723 | .boot_params = 0x80000100, | 724 | .boot_params = 0x80000100, |
724 | .map_io = n8x0_map_io, | ||
725 | .reserve = omap_reserve, | 725 | .reserve = omap_reserve, |
726 | .init_irq = n8x0_init_irq, | 726 | .map_io = n8x0_map_io, |
727 | .init_early = n8x0_init_early, | ||
728 | .init_irq = omap_init_irq, | ||
727 | .init_machine = n8x0_init_machine, | 729 | .init_machine = n8x0_init_machine, |
728 | .timer = &omap_timer, | 730 | .timer = &omap_timer, |
729 | MACHINE_END | 731 | MACHINE_END |
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index 46d814ab5656..19bcd004d604 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c | |||
@@ -536,11 +536,15 @@ static struct platform_device keys_gpio = { | |||
536 | }, | 536 | }, |
537 | }; | 537 | }; |
538 | 538 | ||
539 | static void __init omap3_beagle_init_irq(void) | 539 | static void __init omap3_beagle_init_early(void) |
540 | { | 540 | { |
541 | omap2_init_common_infrastructure(); | 541 | omap2_init_common_infrastructure(); |
542 | omap2_init_common_devices(mt46h32m32lf6_sdrc_params, | 542 | omap2_init_common_devices(mt46h32m32lf6_sdrc_params, |
543 | mt46h32m32lf6_sdrc_params); | 543 | mt46h32m32lf6_sdrc_params); |
544 | } | ||
545 | |||
546 | static void __init omap3_beagle_init_irq(void) | ||
547 | { | ||
544 | omap_init_irq(); | 548 | omap_init_irq(); |
545 | #ifdef CONFIG_OMAP_32K_TIMER | 549 | #ifdef CONFIG_OMAP_32K_TIMER |
546 | omap2_gp_clockevent_set_gptimer(12); | 550 | omap2_gp_clockevent_set_gptimer(12); |
@@ -638,8 +642,9 @@ static void __init omap3_beagle_init(void) | |||
638 | MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board") | 642 | MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board") |
639 | /* Maintainer: Syed Mohammed Khasim - http://beagleboard.org */ | 643 | /* Maintainer: Syed Mohammed Khasim - http://beagleboard.org */ |
640 | .boot_params = 0x80000100, | 644 | .boot_params = 0x80000100, |
641 | .map_io = omap3_map_io, | ||
642 | .reserve = omap_reserve, | 645 | .reserve = omap_reserve, |
646 | .map_io = omap3_map_io, | ||
647 | .init_early = omap3_beagle_init_early, | ||
643 | .init_irq = omap3_beagle_init_irq, | 648 | .init_irq = omap3_beagle_init_irq, |
644 | .init_machine = omap3_beagle_init, | 649 | .init_machine = omap3_beagle_init, |
645 | .timer = &omap_timer, | 650 | .timer = &omap_timer, |
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c index 323c3809ce39..c2a0fca4aa53 100644 --- a/arch/arm/mach-omap2/board-omap3evm.c +++ b/arch/arm/mach-omap2/board-omap3evm.c | |||
@@ -625,13 +625,12 @@ static struct spi_board_info omap3evm_spi_board_info[] = { | |||
625 | static struct omap_board_config_kernel omap3_evm_config[] __initdata = { | 625 | static struct omap_board_config_kernel omap3_evm_config[] __initdata = { |
626 | }; | 626 | }; |
627 | 627 | ||
628 | static void __init omap3_evm_init_irq(void) | 628 | static void __init omap3_evm_init_early(void) |
629 | { | 629 | { |
630 | omap_board_config = omap3_evm_config; | 630 | omap_board_config = omap3_evm_config; |
631 | omap_board_config_size = ARRAY_SIZE(omap3_evm_config); | 631 | omap_board_config_size = ARRAY_SIZE(omap3_evm_config); |
632 | omap2_init_common_infrastructure(); | 632 | omap2_init_common_infrastructure(); |
633 | omap2_init_common_devices(mt46h32m32lf6_sdrc_params, NULL); | 633 | omap2_init_common_devices(mt46h32m32lf6_sdrc_params, NULL); |
634 | omap_init_irq(); | ||
635 | } | 634 | } |
636 | 635 | ||
637 | static struct platform_device *omap3_evm_devices[] __initdata = { | 636 | static struct platform_device *omap3_evm_devices[] __initdata = { |
@@ -720,9 +719,10 @@ static void __init omap3_evm_init(void) | |||
720 | MACHINE_START(OMAP3EVM, "OMAP3 EVM") | 719 | MACHINE_START(OMAP3EVM, "OMAP3 EVM") |
721 | /* Maintainer: Syed Mohammed Khasim - Texas Instruments */ | 720 | /* Maintainer: Syed Mohammed Khasim - Texas Instruments */ |
722 | .boot_params = 0x80000100, | 721 | .boot_params = 0x80000100, |
723 | .map_io = omap3_map_io, | ||
724 | .reserve = omap_reserve, | 722 | .reserve = omap_reserve, |
725 | .init_irq = omap3_evm_init_irq, | 723 | .map_io = omap3_map_io, |
724 | .init_early = omap3_evm_init_early, | ||
725 | .init_irq = omap_init_irq, | ||
726 | .init_machine = omap3_evm_init, | 726 | .init_machine = omap3_evm_init, |
727 | .timer = &omap_timer, | 727 | .timer = &omap_timer, |
728 | MACHINE_END | 728 | MACHINE_END |
diff --git a/arch/arm/mach-omap2/board-omap3logic.c b/arch/arm/mach-omap2/board-omap3logic.c index 15e4b08e99ba..b726943d7c93 100644 --- a/arch/arm/mach-omap2/board-omap3logic.c +++ b/arch/arm/mach-omap2/board-omap3logic.c | |||
@@ -195,11 +195,10 @@ static inline void __init board_smsc911x_init(void) | |||
195 | gpmc_smsc911x_init(&board_smsc911x_data); | 195 | gpmc_smsc911x_init(&board_smsc911x_data); |
196 | } | 196 | } |
197 | 197 | ||
198 | static void __init omap3logic_init_irq(void) | 198 | static void __init omap3logic_init_early(void) |
199 | { | 199 | { |
200 | omap2_init_common_infrastructure(); | 200 | omap2_init_common_infrastructure(); |
201 | omap2_init_common_devices(NULL, NULL); | 201 | omap2_init_common_devices(NULL, NULL); |
202 | omap_init_irq(); | ||
203 | } | 202 | } |
204 | 203 | ||
205 | #ifdef CONFIG_OMAP_MUX | 204 | #ifdef CONFIG_OMAP_MUX |
@@ -225,7 +224,8 @@ static void __init omap3logic_init(void) | |||
225 | MACHINE_START(OMAP3_TORPEDO, "Logic OMAP3 Torpedo board") | 224 | MACHINE_START(OMAP3_TORPEDO, "Logic OMAP3 Torpedo board") |
226 | .boot_params = 0x80000100, | 225 | .boot_params = 0x80000100, |
227 | .map_io = omap3_map_io, | 226 | .map_io = omap3_map_io, |
228 | .init_irq = omap3logic_init_irq, | 227 | .init_early = omap3logic_init_early, |
228 | .init_irq = omap_init_irq, | ||
229 | .init_machine = omap3logic_init, | 229 | .init_machine = omap3logic_init, |
230 | .timer = &omap_timer, | 230 | .timer = &omap_timer, |
231 | MACHINE_END | 231 | MACHINE_END |
@@ -233,7 +233,8 @@ MACHINE_END | |||
233 | MACHINE_START(OMAP3530_LV_SOM, "OMAP Logic 3530 LV SOM board") | 233 | MACHINE_START(OMAP3530_LV_SOM, "OMAP Logic 3530 LV SOM board") |
234 | .boot_params = 0x80000100, | 234 | .boot_params = 0x80000100, |
235 | .map_io = omap3_map_io, | 235 | .map_io = omap3_map_io, |
236 | .init_irq = omap3logic_init_irq, | 236 | .init_early = omap3logic_init_early, |
237 | .init_irq = omap_init_irq, | ||
237 | .init_machine = omap3logic_init, | 238 | .init_machine = omap3logic_init, |
238 | .timer = &omap_timer, | 239 | .timer = &omap_timer, |
239 | MACHINE_END | 240 | MACHINE_END |
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c index 0b34beded11f..b91f74ce3a9f 100644 --- a/arch/arm/mach-omap2/board-omap3pandora.c +++ b/arch/arm/mach-omap2/board-omap3pandora.c | |||
@@ -634,12 +634,11 @@ static struct spi_board_info omap3pandora_spi_board_info[] __initdata = { | |||
634 | } | 634 | } |
635 | }; | 635 | }; |
636 | 636 | ||
637 | static void __init omap3pandora_init_irq(void) | 637 | static void __init omap3pandora_init_early(void) |
638 | { | 638 | { |
639 | omap2_init_common_infrastructure(); | 639 | omap2_init_common_infrastructure(); |
640 | omap2_init_common_devices(mt46h32m32lf6_sdrc_params, | 640 | omap2_init_common_devices(mt46h32m32lf6_sdrc_params, |
641 | mt46h32m32lf6_sdrc_params); | 641 | mt46h32m32lf6_sdrc_params); |
642 | omap_init_irq(); | ||
643 | } | 642 | } |
644 | 643 | ||
645 | static void __init pandora_wl1251_init(void) | 644 | static void __init pandora_wl1251_init(void) |
@@ -727,9 +726,10 @@ static void __init omap3pandora_init(void) | |||
727 | 726 | ||
728 | MACHINE_START(OMAP3_PANDORA, "Pandora Handheld Console") | 727 | MACHINE_START(OMAP3_PANDORA, "Pandora Handheld Console") |
729 | .boot_params = 0x80000100, | 728 | .boot_params = 0x80000100, |
730 | .map_io = omap3_map_io, | ||
731 | .reserve = omap_reserve, | 729 | .reserve = omap_reserve, |
732 | .init_irq = omap3pandora_init_irq, | 730 | .map_io = omap3_map_io, |
731 | .init_early = omap3pandora_init_early, | ||
732 | .init_irq = omap_init_irq, | ||
733 | .init_machine = omap3pandora_init, | 733 | .init_machine = omap3pandora_init, |
734 | .timer = &omap_timer, | 734 | .timer = &omap_timer, |
735 | MACHINE_END | 735 | MACHINE_END |
diff --git a/arch/arm/mach-omap2/board-omap3stalker.c b/arch/arm/mach-omap2/board-omap3stalker.c index 2a2dad447e86..5d1ccef69164 100644 --- a/arch/arm/mach-omap2/board-omap3stalker.c +++ b/arch/arm/mach-omap2/board-omap3stalker.c | |||
@@ -591,12 +591,16 @@ static struct spi_board_info omap3stalker_spi_board_info[] = { | |||
591 | static struct omap_board_config_kernel omap3_stalker_config[] __initdata = { | 591 | static struct omap_board_config_kernel omap3_stalker_config[] __initdata = { |
592 | }; | 592 | }; |
593 | 593 | ||
594 | static void __init omap3_stalker_init_irq(void) | 594 | static void __init omap3_stalker_init_early(void) |
595 | { | 595 | { |
596 | omap_board_config = omap3_stalker_config; | 596 | omap_board_config = omap3_stalker_config; |
597 | omap_board_config_size = ARRAY_SIZE(omap3_stalker_config); | 597 | omap_board_config_size = ARRAY_SIZE(omap3_stalker_config); |
598 | omap2_init_common_infrastructure(); | 598 | omap2_init_common_infrastructure(); |
599 | omap2_init_common_devices(mt46h32m32lf6_sdrc_params, NULL); | 599 | omap2_init_common_devices(mt46h32m32lf6_sdrc_params, NULL); |
600 | } | ||
601 | |||
602 | static void __init omap3_stalker_init_irq(void) | ||
603 | { | ||
600 | omap_init_irq(); | 604 | omap_init_irq(); |
601 | #ifdef CONFIG_OMAP_32K_TIMER | 605 | #ifdef CONFIG_OMAP_32K_TIMER |
602 | omap2_gp_clockevent_set_gptimer(12); | 606 | omap2_gp_clockevent_set_gptimer(12); |
@@ -666,6 +670,7 @@ MACHINE_START(SBC3530, "OMAP3 STALKER") | |||
666 | /* Maintainer: Jason Lam -lzg@ema-tech.com */ | 670 | /* Maintainer: Jason Lam -lzg@ema-tech.com */ |
667 | .boot_params = 0x80000100, | 671 | .boot_params = 0x80000100, |
668 | .map_io = omap3_map_io, | 672 | .map_io = omap3_map_io, |
673 | .init_early = omap3_stalker_init_early, | ||
669 | .init_irq = omap3_stalker_init_irq, | 674 | .init_irq = omap3_stalker_init_irq, |
670 | .init_machine = omap3_stalker_init, | 675 | .init_machine = omap3_stalker_init, |
671 | .timer = &omap_timer, | 676 | .timer = &omap_timer, |
diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c index db1f74fe6c4f..6a60f79dcccb 100644 --- a/arch/arm/mach-omap2/board-omap3touchbook.c +++ b/arch/arm/mach-omap2/board-omap3touchbook.c | |||
@@ -415,7 +415,7 @@ static struct omap_board_mux board_mux[] __initdata = { | |||
415 | }; | 415 | }; |
416 | #endif | 416 | #endif |
417 | 417 | ||
418 | static void __init omap3_touchbook_init_irq(void) | 418 | static void __init omap3_touchbook_init_early(void) |
419 | { | 419 | { |
420 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); | 420 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); |
421 | omap_board_config = omap3_touchbook_config; | 421 | omap_board_config = omap3_touchbook_config; |
@@ -423,6 +423,10 @@ static void __init omap3_touchbook_init_irq(void) | |||
423 | omap2_init_common_infrastructure(); | 423 | omap2_init_common_infrastructure(); |
424 | omap2_init_common_devices(mt46h32m32lf6_sdrc_params, | 424 | omap2_init_common_devices(mt46h32m32lf6_sdrc_params, |
425 | mt46h32m32lf6_sdrc_params); | 425 | mt46h32m32lf6_sdrc_params); |
426 | } | ||
427 | |||
428 | static void __init omap3_touchbook_init_irq(void) | ||
429 | { | ||
426 | omap_init_irq(); | 430 | omap_init_irq(); |
427 | #ifdef CONFIG_OMAP_32K_TIMER | 431 | #ifdef CONFIG_OMAP_32K_TIMER |
428 | omap2_gp_clockevent_set_gptimer(12); | 432 | omap2_gp_clockevent_set_gptimer(12); |
@@ -538,8 +542,9 @@ static void __init omap3_touchbook_init(void) | |||
538 | MACHINE_START(TOUCHBOOK, "OMAP3 touchbook Board") | 542 | MACHINE_START(TOUCHBOOK, "OMAP3 touchbook Board") |
539 | /* Maintainer: Gregoire Gentil - http://www.alwaysinnovating.com */ | 543 | /* Maintainer: Gregoire Gentil - http://www.alwaysinnovating.com */ |
540 | .boot_params = 0x80000100, | 544 | .boot_params = 0x80000100, |
541 | .map_io = omap3_map_io, | ||
542 | .reserve = omap_reserve, | 545 | .reserve = omap_reserve, |
546 | .map_io = omap3_map_io, | ||
547 | .init_early = omap3_touchbook_init_early, | ||
543 | .init_irq = omap3_touchbook_init_irq, | 548 | .init_irq = omap3_touchbook_init_irq, |
544 | .init_machine = omap3_touchbook_init, | 549 | .init_machine = omap3_touchbook_init, |
545 | .timer = &omap_timer, | 550 | .timer = &omap_timer, |
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c index e944025d5ef8..fca5b9e80c18 100644 --- a/arch/arm/mach-omap2/board-omap4panda.c +++ b/arch/arm/mach-omap2/board-omap4panda.c | |||
@@ -76,11 +76,10 @@ static struct platform_device *panda_devices[] __initdata = { | |||
76 | &leds_gpio, | 76 | &leds_gpio, |
77 | }; | 77 | }; |
78 | 78 | ||
79 | static void __init omap4_panda_init_irq(void) | 79 | static void __init omap4_panda_init_early(void) |
80 | { | 80 | { |
81 | omap2_init_common_infrastructure(); | 81 | omap2_init_common_infrastructure(); |
82 | omap2_init_common_devices(NULL, NULL); | 82 | omap2_init_common_devices(NULL, NULL); |
83 | gic_init_irq(); | ||
84 | } | 83 | } |
85 | 84 | ||
86 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 85 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
@@ -424,7 +423,8 @@ MACHINE_START(OMAP4_PANDA, "OMAP4 Panda board") | |||
424 | .boot_params = 0x80000100, | 423 | .boot_params = 0x80000100, |
425 | .reserve = omap_reserve, | 424 | .reserve = omap_reserve, |
426 | .map_io = omap4_panda_map_io, | 425 | .map_io = omap4_panda_map_io, |
427 | .init_irq = omap4_panda_init_irq, | 426 | .init_early = omap4_panda_init_early, |
427 | .init_irq = gic_init_irq, | ||
428 | .init_machine = omap4_panda_init, | 428 | .init_machine = omap4_panda_init, |
429 | .timer = &omap_timer, | 429 | .timer = &omap_timer, |
430 | MACHINE_END | 430 | MACHINE_END |
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c index cb26e5d8268d..a33ec0edec13 100644 --- a/arch/arm/mach-omap2/board-overo.c +++ b/arch/arm/mach-omap2/board-overo.c | |||
@@ -409,14 +409,13 @@ static struct omap_board_config_kernel overo_config[] __initdata = { | |||
409 | { OMAP_TAG_LCD, &overo_lcd_config }, | 409 | { OMAP_TAG_LCD, &overo_lcd_config }, |
410 | }; | 410 | }; |
411 | 411 | ||
412 | static void __init overo_init_irq(void) | 412 | static void __init overo_init_early(void) |
413 | { | 413 | { |
414 | omap_board_config = overo_config; | 414 | omap_board_config = overo_config; |
415 | omap_board_config_size = ARRAY_SIZE(overo_config); | 415 | omap_board_config_size = ARRAY_SIZE(overo_config); |
416 | omap2_init_common_infrastructure(); | 416 | omap2_init_common_infrastructure(); |
417 | omap2_init_common_devices(mt46h32m32lf6_sdrc_params, | 417 | omap2_init_common_devices(mt46h32m32lf6_sdrc_params, |
418 | mt46h32m32lf6_sdrc_params); | 418 | mt46h32m32lf6_sdrc_params); |
419 | omap_init_irq(); | ||
420 | } | 419 | } |
421 | 420 | ||
422 | static struct platform_device *overo_devices[] __initdata = { | 421 | static struct platform_device *overo_devices[] __initdata = { |
@@ -501,9 +500,10 @@ static void __init overo_init(void) | |||
501 | 500 | ||
502 | MACHINE_START(OVERO, "Gumstix Overo") | 501 | MACHINE_START(OVERO, "Gumstix Overo") |
503 | .boot_params = 0x80000100, | 502 | .boot_params = 0x80000100, |
504 | .map_io = omap3_map_io, | ||
505 | .reserve = omap_reserve, | 503 | .reserve = omap_reserve, |
506 | .init_irq = overo_init_irq, | 504 | .map_io = omap3_map_io, |
505 | .init_early = overo_init_early, | ||
506 | .init_irq = omap_init_irq, | ||
507 | .init_machine = overo_init, | 507 | .init_machine = overo_init, |
508 | .timer = &omap_timer, | 508 | .timer = &omap_timer, |
509 | MACHINE_END | 509 | MACHINE_END |
diff --git a/arch/arm/mach-omap2/board-rm680.c b/arch/arm/mach-omap2/board-rm680.c index 39a71bb8a308..bdebcb7328e6 100644 --- a/arch/arm/mach-omap2/board-rm680.c +++ b/arch/arm/mach-omap2/board-rm680.c | |||
@@ -138,14 +138,13 @@ static void __init rm680_peripherals_init(void) | |||
138 | omap2_hsmmc_init(mmc); | 138 | omap2_hsmmc_init(mmc); |
139 | } | 139 | } |
140 | 140 | ||
141 | static void __init rm680_init_irq(void) | 141 | static void __init rm680_init_early(void) |
142 | { | 142 | { |
143 | struct omap_sdrc_params *sdrc_params; | 143 | struct omap_sdrc_params *sdrc_params; |
144 | 144 | ||
145 | omap2_init_common_infrastructure(); | 145 | omap2_init_common_infrastructure(); |
146 | sdrc_params = nokia_get_sdram_timings(); | 146 | sdrc_params = nokia_get_sdram_timings(); |
147 | omap2_init_common_devices(sdrc_params, sdrc_params); | 147 | omap2_init_common_devices(sdrc_params, sdrc_params); |
148 | omap_init_irq(); | ||
149 | } | 148 | } |
150 | 149 | ||
151 | #ifdef CONFIG_OMAP_MUX | 150 | #ifdef CONFIG_OMAP_MUX |
@@ -176,9 +175,10 @@ static void __init rm680_map_io(void) | |||
176 | 175 | ||
177 | MACHINE_START(NOKIA_RM680, "Nokia RM-680 board") | 176 | MACHINE_START(NOKIA_RM680, "Nokia RM-680 board") |
178 | .boot_params = 0x80000100, | 177 | .boot_params = 0x80000100, |
179 | .map_io = rm680_map_io, | ||
180 | .reserve = omap_reserve, | 178 | .reserve = omap_reserve, |
181 | .init_irq = rm680_init_irq, | 179 | .map_io = rm680_map_io, |
180 | .init_early = rm680_init_early, | ||
181 | .init_irq = omap_init_irq, | ||
182 | .init_machine = rm680_init, | 182 | .init_machine = rm680_init, |
183 | .timer = &omap_timer, | 183 | .timer = &omap_timer, |
184 | MACHINE_END | 184 | MACHINE_END |
diff --git a/arch/arm/mach-omap2/board-rx51.c b/arch/arm/mach-omap2/board-rx51.c index f53fc551c58f..3cf72fe6d75b 100644 --- a/arch/arm/mach-omap2/board-rx51.c +++ b/arch/arm/mach-omap2/board-rx51.c | |||
@@ -98,7 +98,7 @@ static struct omap_board_config_kernel rx51_config[] = { | |||
98 | { OMAP_TAG_LCD, &rx51_lcd_config }, | 98 | { OMAP_TAG_LCD, &rx51_lcd_config }, |
99 | }; | 99 | }; |
100 | 100 | ||
101 | static void __init rx51_init_irq(void) | 101 | static void __init rx51_init_early(void) |
102 | { | 102 | { |
103 | struct omap_sdrc_params *sdrc_params; | 103 | struct omap_sdrc_params *sdrc_params; |
104 | 104 | ||
@@ -108,7 +108,6 @@ static void __init rx51_init_irq(void) | |||
108 | omap2_init_common_infrastructure(); | 108 | omap2_init_common_infrastructure(); |
109 | sdrc_params = nokia_get_sdram_timings(); | 109 | sdrc_params = nokia_get_sdram_timings(); |
110 | omap2_init_common_devices(sdrc_params, sdrc_params); | 110 | omap2_init_common_devices(sdrc_params, sdrc_params); |
111 | omap_init_irq(); | ||
112 | } | 111 | } |
113 | 112 | ||
114 | extern void __init rx51_peripherals_init(void); | 113 | extern void __init rx51_peripherals_init(void); |
@@ -149,9 +148,10 @@ static void __init rx51_map_io(void) | |||
149 | MACHINE_START(NOKIA_RX51, "Nokia RX-51 board") | 148 | MACHINE_START(NOKIA_RX51, "Nokia RX-51 board") |
150 | /* Maintainer: Lauri Leukkunen <lauri.leukkunen@nokia.com> */ | 149 | /* Maintainer: Lauri Leukkunen <lauri.leukkunen@nokia.com> */ |
151 | .boot_params = 0x80000100, | 150 | .boot_params = 0x80000100, |
152 | .map_io = rx51_map_io, | ||
153 | .reserve = omap_reserve, | 151 | .reserve = omap_reserve, |
154 | .init_irq = rx51_init_irq, | 152 | .map_io = rx51_map_io, |
153 | .init_early = rx51_init_early, | ||
154 | .init_irq = omap_init_irq, | ||
155 | .init_machine = rx51_init, | 155 | .init_machine = rx51_init, |
156 | .timer = &omap_timer, | 156 | .timer = &omap_timer, |
157 | MACHINE_END | 157 | MACHINE_END |
diff --git a/arch/arm/mach-omap2/board-ti8168evm.c b/arch/arm/mach-omap2/board-ti8168evm.c new file mode 100644 index 000000000000..f2b097190e07 --- /dev/null +++ b/arch/arm/mach-omap2/board-ti8168evm.c | |||
@@ -0,0 +1,62 @@ | |||
1 | /* | ||
2 | * Code for TI8168 EVM. | ||
3 | * | ||
4 | * Copyright (C) 2010 Texas Instruments, Inc. - http://www.ti.com/ | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License as | ||
8 | * published by the Free Software Foundation version 2. | ||
9 | * | ||
10 | * This program is distributed "as is" WITHOUT ANY WARRANTY of any | ||
11 | * kind, whether express or implied; without even the implied warranty | ||
12 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | */ | ||
15 | #include <linux/kernel.h> | ||
16 | #include <linux/init.h> | ||
17 | |||
18 | #include <mach/hardware.h> | ||
19 | #include <asm/mach-types.h> | ||
20 | #include <asm/mach/arch.h> | ||
21 | #include <asm/mach/map.h> | ||
22 | |||
23 | #include <plat/irqs.h> | ||
24 | #include <plat/board.h> | ||
25 | #include <plat/common.h> | ||
26 | |||
27 | static struct omap_board_config_kernel ti8168_evm_config[] __initdata = { | ||
28 | }; | ||
29 | |||
30 | static void __init ti8168_init_early(void) | ||
31 | { | ||
32 | omap_board_config = ti8168_evm_config; | ||
33 | omap_board_config_size = ARRAY_SIZE(ti8168_evm_config); | ||
34 | omap2_init_common_infrastructure(); | ||
35 | omap2_init_common_devices(NULL, NULL); | ||
36 | } | ||
37 | |||
38 | static void __init ti8168_evm_init_irq(void) | ||
39 | { | ||
40 | omap_init_irq(); | ||
41 | } | ||
42 | |||
43 | static void __init ti8168_evm_init(void) | ||
44 | { | ||
45 | omap_serial_init(); | ||
46 | } | ||
47 | |||
48 | static void __init ti8168_evm_map_io(void) | ||
49 | { | ||
50 | omap2_set_globals_ti816x(); | ||
51 | omapti816x_map_common_io(); | ||
52 | } | ||
53 | |||
54 | MACHINE_START(TI8168EVM, "ti8168evm") | ||
55 | /* Maintainer: Texas Instruments */ | ||
56 | .boot_params = 0x80000100, | ||
57 | .map_io = ti8168_evm_map_io, | ||
58 | .init_early = ti8168_init_early, | ||
59 | .init_irq = ti8168_evm_init_irq, | ||
60 | .timer = &omap_timer, | ||
61 | .init_machine = ti8168_evm_init, | ||
62 | MACHINE_END | ||
diff --git a/arch/arm/mach-omap2/board-zoom.c b/arch/arm/mach-omap2/board-zoom.c index e26754c24ee8..85d4170f30ab 100644 --- a/arch/arm/mach-omap2/board-zoom.c +++ b/arch/arm/mach-omap2/board-zoom.c | |||
@@ -33,7 +33,7 @@ | |||
33 | 33 | ||
34 | #define ZOOM3_EHCI_RESET_GPIO 64 | 34 | #define ZOOM3_EHCI_RESET_GPIO 64 |
35 | 35 | ||
36 | static void __init omap_zoom_init_irq(void) | 36 | static void __init omap_zoom_init_early(void) |
37 | { | 37 | { |
38 | omap2_init_common_infrastructure(); | 38 | omap2_init_common_infrastructure(); |
39 | if (machine_is_omap_zoom2()) | 39 | if (machine_is_omap_zoom2()) |
@@ -42,8 +42,6 @@ static void __init omap_zoom_init_irq(void) | |||
42 | else if (machine_is_omap_zoom3()) | 42 | else if (machine_is_omap_zoom3()) |
43 | omap2_init_common_devices(h8mbx00u0mer0em_sdrc_params, | 43 | omap2_init_common_devices(h8mbx00u0mer0em_sdrc_params, |
44 | h8mbx00u0mer0em_sdrc_params); | 44 | h8mbx00u0mer0em_sdrc_params); |
45 | |||
46 | omap_init_irq(); | ||
47 | } | 45 | } |
48 | 46 | ||
49 | #ifdef CONFIG_OMAP_MUX | 47 | #ifdef CONFIG_OMAP_MUX |
@@ -135,18 +133,20 @@ static void __init omap_zoom_init(void) | |||
135 | 133 | ||
136 | MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board") | 134 | MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board") |
137 | .boot_params = 0x80000100, | 135 | .boot_params = 0x80000100, |
138 | .map_io = omap3_map_io, | ||
139 | .reserve = omap_reserve, | 136 | .reserve = omap_reserve, |
140 | .init_irq = omap_zoom_init_irq, | 137 | .map_io = omap3_map_io, |
138 | .init_early = omap_zoom_init_early, | ||
139 | .init_irq = omap_init_irq, | ||
141 | .init_machine = omap_zoom_init, | 140 | .init_machine = omap_zoom_init, |
142 | .timer = &omap_timer, | 141 | .timer = &omap_timer, |
143 | MACHINE_END | 142 | MACHINE_END |
144 | 143 | ||
145 | MACHINE_START(OMAP_ZOOM3, "OMAP Zoom3 board") | 144 | MACHINE_START(OMAP_ZOOM3, "OMAP Zoom3 board") |
146 | .boot_params = 0x80000100, | 145 | .boot_params = 0x80000100, |
147 | .map_io = omap3_map_io, | ||
148 | .reserve = omap_reserve, | 146 | .reserve = omap_reserve, |
149 | .init_irq = omap_zoom_init_irq, | 147 | .map_io = omap3_map_io, |
148 | .init_early = omap_zoom_init_early, | ||
149 | .init_irq = omap_init_irq, | ||
150 | .init_machine = omap_zoom_init, | 150 | .init_machine = omap_zoom_init, |
151 | .timer = &omap_timer, | 151 | .timer = &omap_timer, |
152 | MACHINE_END | 152 | MACHINE_END |
diff --git a/arch/arm/mach-omap2/clock2xxx.h b/arch/arm/mach-omap2/clock2xxx.h index 6a658b890c17..cc5c8d422c5b 100644 --- a/arch/arm/mach-omap2/clock2xxx.h +++ b/arch/arm/mach-omap2/clock2xxx.h | |||
@@ -20,13 +20,13 @@ u32 omap2xxx_get_apll_clkin(void); | |||
20 | u32 omap2xxx_get_sysclkdiv(void); | 20 | u32 omap2xxx_get_sysclkdiv(void); |
21 | void omap2xxx_clk_prepare_for_reboot(void); | 21 | void omap2xxx_clk_prepare_for_reboot(void); |
22 | 22 | ||
23 | #ifdef CONFIG_ARCH_OMAP2420 | 23 | #ifdef CONFIG_SOC_OMAP2420 |
24 | int omap2420_clk_init(void); | 24 | int omap2420_clk_init(void); |
25 | #else | 25 | #else |
26 | #define omap2420_clk_init() 0 | 26 | #define omap2420_clk_init() 0 |
27 | #endif | 27 | #endif |
28 | 28 | ||
29 | #ifdef CONFIG_ARCH_OMAP2430 | 29 | #ifdef CONFIG_SOC_OMAP2430 |
30 | int omap2430_clk_init(void); | 30 | int omap2430_clk_init(void); |
31 | #else | 31 | #else |
32 | #define omap2430_clk_init() 0 | 32 | #define omap2430_clk_init() 0 |
diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c index 403a4a1d3f9c..f14d986f0b5d 100644 --- a/arch/arm/mach-omap2/clock3xxx_data.c +++ b/arch/arm/mach-omap2/clock3xxx_data.c | |||
@@ -3471,6 +3471,9 @@ int __init omap3xxx_clk_init(void) | |||
3471 | } else if (cpu_is_omap3630()) { | 3471 | } else if (cpu_is_omap3630()) { |
3472 | cpu_mask = (RATE_IN_34XX | RATE_IN_36XX); | 3472 | cpu_mask = (RATE_IN_34XX | RATE_IN_36XX); |
3473 | cpu_clkflg = CK_36XX; | 3473 | cpu_clkflg = CK_36XX; |
3474 | } else if (cpu_is_ti816x()) { | ||
3475 | cpu_mask = RATE_IN_TI816X; | ||
3476 | cpu_clkflg = CK_TI816X; | ||
3474 | } else if (cpu_is_omap34xx()) { | 3477 | } else if (cpu_is_omap34xx()) { |
3475 | if (omap_rev() == OMAP3430_REV_ES1_0) { | 3478 | if (omap_rev() == OMAP3430_REV_ES1_0) { |
3476 | cpu_mask = RATE_IN_3430ES1; | 3479 | cpu_mask = RATE_IN_3430ES1; |
@@ -3550,7 +3553,7 @@ int __init omap3xxx_clk_init(void) | |||
3550 | /* | 3553 | /* |
3551 | * Lock DPLL5 and put it in autoidle. | 3554 | * Lock DPLL5 and put it in autoidle. |
3552 | */ | 3555 | */ |
3553 | if (omap_rev() >= OMAP3430_REV_ES2_0) | 3556 | if (!cpu_is_ti816x() && (omap_rev() >= OMAP3430_REV_ES2_0)) |
3554 | omap3_clk_lock_dpll5(); | 3557 | omap3_clk_lock_dpll5(); |
3555 | 3558 | ||
3556 | /* Avoid sleeping during omap3_core_dpll_m2_set_rate() */ | 3559 | /* Avoid sleeping during omap3_core_dpll_m2_set_rate() */ |
diff --git a/arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c b/arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c index e4a7133ea3b3..e6f0d18d5e8d 100644 --- a/arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c +++ b/arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c | |||
@@ -171,7 +171,7 @@ static struct clkdm_dep core_24xx_wkdeps[] = { | |||
171 | 171 | ||
172 | /* 2430-specific possible wakeup dependencies */ | 172 | /* 2430-specific possible wakeup dependencies */ |
173 | 173 | ||
174 | #ifdef CONFIG_ARCH_OMAP2430 | 174 | #ifdef CONFIG_SOC_OMAP2430 |
175 | 175 | ||
176 | /* 2430 PM_WKDEP_MDM: CORE, MPU, WKUP */ | 176 | /* 2430 PM_WKDEP_MDM: CORE, MPU, WKUP */ |
177 | static struct clkdm_dep mdm_2430_wkdeps[] = { | 177 | static struct clkdm_dep mdm_2430_wkdeps[] = { |
@@ -194,7 +194,7 @@ static struct clkdm_dep mdm_2430_wkdeps[] = { | |||
194 | { NULL }, | 194 | { NULL }, |
195 | }; | 195 | }; |
196 | 196 | ||
197 | #endif /* CONFIG_ARCH_OMAP2430 */ | 197 | #endif /* CONFIG_SOC_OMAP2430 */ |
198 | 198 | ||
199 | 199 | ||
200 | /* OMAP3-specific possible dependencies */ | 200 | /* OMAP3-specific possible dependencies */ |
@@ -450,7 +450,7 @@ static struct clockdomain cm_clkdm = { | |||
450 | * 2420-only clockdomains | 450 | * 2420-only clockdomains |
451 | */ | 451 | */ |
452 | 452 | ||
453 | #if defined(CONFIG_ARCH_OMAP2420) | 453 | #if defined(CONFIG_SOC_OMAP2420) |
454 | 454 | ||
455 | static struct clockdomain mpu_2420_clkdm = { | 455 | static struct clockdomain mpu_2420_clkdm = { |
456 | .name = "mpu_clkdm", | 456 | .name = "mpu_clkdm", |
@@ -514,14 +514,14 @@ static struct clockdomain dss_2420_clkdm = { | |||
514 | .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP2420), | 514 | .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP2420), |
515 | }; | 515 | }; |
516 | 516 | ||
517 | #endif /* CONFIG_ARCH_OMAP2420 */ | 517 | #endif /* CONFIG_SOC_OMAP2420 */ |
518 | 518 | ||
519 | 519 | ||
520 | /* | 520 | /* |
521 | * 2430-only clockdomains | 521 | * 2430-only clockdomains |
522 | */ | 522 | */ |
523 | 523 | ||
524 | #if defined(CONFIG_ARCH_OMAP2430) | 524 | #if defined(CONFIG_SOC_OMAP2430) |
525 | 525 | ||
526 | static struct clockdomain mpu_2430_clkdm = { | 526 | static struct clockdomain mpu_2430_clkdm = { |
527 | .name = "mpu_clkdm", | 527 | .name = "mpu_clkdm", |
@@ -600,7 +600,7 @@ static struct clockdomain dss_2430_clkdm = { | |||
600 | .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP2430), | 600 | .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP2430), |
601 | }; | 601 | }; |
602 | 602 | ||
603 | #endif /* CONFIG_ARCH_OMAP2430 */ | 603 | #endif /* CONFIG_SOC_OMAP2430 */ |
604 | 604 | ||
605 | 605 | ||
606 | /* | 606 | /* |
@@ -811,7 +811,7 @@ static struct clockdomain *clockdomains_omap2[] __initdata = { | |||
811 | &cm_clkdm, | 811 | &cm_clkdm, |
812 | &prm_clkdm, | 812 | &prm_clkdm, |
813 | 813 | ||
814 | #ifdef CONFIG_ARCH_OMAP2420 | 814 | #ifdef CONFIG_SOC_OMAP2420 |
815 | &mpu_2420_clkdm, | 815 | &mpu_2420_clkdm, |
816 | &iva1_2420_clkdm, | 816 | &iva1_2420_clkdm, |
817 | &dsp_2420_clkdm, | 817 | &dsp_2420_clkdm, |
@@ -821,7 +821,7 @@ static struct clockdomain *clockdomains_omap2[] __initdata = { | |||
821 | &dss_2420_clkdm, | 821 | &dss_2420_clkdm, |
822 | #endif | 822 | #endif |
823 | 823 | ||
824 | #ifdef CONFIG_ARCH_OMAP2430 | 824 | #ifdef CONFIG_SOC_OMAP2430 |
825 | &mpu_2430_clkdm, | 825 | &mpu_2430_clkdm, |
826 | &mdm_clkdm, | 826 | &mdm_clkdm, |
827 | &dsp_2430_clkdm, | 827 | &dsp_2430_clkdm, |
diff --git a/arch/arm/mach-omap2/common.c b/arch/arm/mach-omap2/common.c index 778929f7e92d..48de4513de49 100644 --- a/arch/arm/mach-omap2/common.c +++ b/arch/arm/mach-omap2/common.c | |||
@@ -40,7 +40,7 @@ static void __init __omap2_set_globals(struct omap_globals *omap2_globals) | |||
40 | 40 | ||
41 | #endif | 41 | #endif |
42 | 42 | ||
43 | #if defined(CONFIG_ARCH_OMAP2420) | 43 | #if defined(CONFIG_SOC_OMAP2420) |
44 | 44 | ||
45 | static struct omap_globals omap242x_globals = { | 45 | static struct omap_globals omap242x_globals = { |
46 | .class = OMAP242X_CLASS, | 46 | .class = OMAP242X_CLASS, |
@@ -61,7 +61,7 @@ void __init omap2_set_globals_242x(void) | |||
61 | } | 61 | } |
62 | #endif | 62 | #endif |
63 | 63 | ||
64 | #if defined(CONFIG_ARCH_OMAP2430) | 64 | #if defined(CONFIG_SOC_OMAP2430) |
65 | 65 | ||
66 | static struct omap_globals omap243x_globals = { | 66 | static struct omap_globals omap243x_globals = { |
67 | .class = OMAP243X_CLASS, | 67 | .class = OMAP243X_CLASS, |
@@ -108,6 +108,27 @@ void __init omap3_map_io(void) | |||
108 | omap2_set_globals_3xxx(); | 108 | omap2_set_globals_3xxx(); |
109 | omap34xx_map_common_io(); | 109 | omap34xx_map_common_io(); |
110 | } | 110 | } |
111 | |||
112 | /* | ||
113 | * Adjust TAP register base such that omap3_check_revision accesses the correct | ||
114 | * TI816X register for checking device ID (it adds 0x204 to tap base while | ||
115 | * TI816X DEVICE ID register is at offset 0x600 from control base). | ||
116 | */ | ||
117 | #define TI816X_TAP_BASE (TI816X_CTRL_BASE + \ | ||
118 | TI816X_CONTROL_DEVICE_ID - 0x204) | ||
119 | |||
120 | static struct omap_globals ti816x_globals = { | ||
121 | .class = OMAP343X_CLASS, | ||
122 | .tap = OMAP2_L4_IO_ADDRESS(TI816X_TAP_BASE), | ||
123 | .ctrl = TI816X_CTRL_BASE, | ||
124 | .prm = TI816X_PRCM_BASE, | ||
125 | .cm = TI816X_PRCM_BASE, | ||
126 | }; | ||
127 | |||
128 | void __init omap2_set_globals_ti816x(void) | ||
129 | { | ||
130 | __omap2_set_globals(&ti816x_globals); | ||
131 | } | ||
111 | #endif | 132 | #endif |
112 | 133 | ||
113 | #if defined(CONFIG_ARCH_OMAP4) | 134 | #if defined(CONFIG_ARCH_OMAP4) |
diff --git a/arch/arm/mach-omap2/control.h b/arch/arm/mach-omap2/control.h index f0629ae04102..c2804c1c4efd 100644 --- a/arch/arm/mach-omap2/control.h +++ b/arch/arm/mach-omap2/control.h | |||
@@ -52,6 +52,9 @@ | |||
52 | #define OMAP343X_CONTROL_PADCONFS_WKUP 0xa00 | 52 | #define OMAP343X_CONTROL_PADCONFS_WKUP 0xa00 |
53 | #define OMAP343X_CONTROL_GENERAL_WKUP 0xa60 | 53 | #define OMAP343X_CONTROL_GENERAL_WKUP 0xa60 |
54 | 54 | ||
55 | /* TI816X spefic control submodules */ | ||
56 | #define TI816X_CONTROL_DEVCONF 0x600 | ||
57 | |||
55 | /* Control register offsets - read/write with omap_ctrl_{read,write}{bwl}() */ | 58 | /* Control register offsets - read/write with omap_ctrl_{read,write}{bwl}() */ |
56 | 59 | ||
57 | #define OMAP2_CONTROL_SYSCONFIG (OMAP2_CONTROL_INTERFACE + 0x10) | 60 | #define OMAP2_CONTROL_SYSCONFIG (OMAP2_CONTROL_INTERFACE + 0x10) |
@@ -241,6 +244,9 @@ | |||
241 | #define OMAP3_PADCONF_SAD2D_MSTANDBY 0x250 | 244 | #define OMAP3_PADCONF_SAD2D_MSTANDBY 0x250 |
242 | #define OMAP3_PADCONF_SAD2D_IDLEACK 0x254 | 245 | #define OMAP3_PADCONF_SAD2D_IDLEACK 0x254 |
243 | 246 | ||
247 | /* TI816X CONTROL_DEVCONF register offsets */ | ||
248 | #define TI816X_CONTROL_DEVICE_ID (TI816X_CONTROL_DEVCONF + 0x000) | ||
249 | |||
244 | /* | 250 | /* |
245 | * REVISIT: This list of registers is not comprehensive - there are more | 251 | * REVISIT: This list of registers is not comprehensive - there are more |
246 | * that should be added. | 252 | * that should be added. |
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c index 2c9c912f2c42..e0f0ef952bc9 100644 --- a/arch/arm/mach-omap2/devices.c +++ b/arch/arm/mach-omap2/devices.c | |||
@@ -333,7 +333,7 @@ static struct platform_device omap2_mcspi2 = { | |||
333 | }, | 333 | }, |
334 | }; | 334 | }; |
335 | 335 | ||
336 | #if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3) || \ | 336 | #if defined(CONFIG_SOC_OMAP2430) || defined(CONFIG_ARCH_OMAP3) || \ |
337 | defined(CONFIG_ARCH_OMAP4) | 337 | defined(CONFIG_ARCH_OMAP4) |
338 | static struct omap2_mcspi_platform_config omap2_mcspi3_config = { | 338 | static struct omap2_mcspi_platform_config omap2_mcspi3_config = { |
339 | .num_cs = 2, | 339 | .num_cs = 2, |
@@ -400,7 +400,7 @@ static inline void omap4_mcspi_fixup(void) | |||
400 | } | 400 | } |
401 | #endif | 401 | #endif |
402 | 402 | ||
403 | #if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3) || \ | 403 | #if defined(CONFIG_SOC_OMAP2430) || defined(CONFIG_ARCH_OMAP3) || \ |
404 | defined(CONFIG_ARCH_OMAP4) | 404 | defined(CONFIG_ARCH_OMAP4) |
405 | static inline void omap2_mcspi3_init(void) | 405 | static inline void omap2_mcspi3_init(void) |
406 | { | 406 | { |
@@ -895,7 +895,7 @@ void __init omap2_init_mmc(struct omap_mmc_platform_data **mmc_data, | |||
895 | /*-------------------------------------------------------------------------*/ | 895 | /*-------------------------------------------------------------------------*/ |
896 | 896 | ||
897 | #if defined(CONFIG_HDQ_MASTER_OMAP) || defined(CONFIG_HDQ_MASTER_OMAP_MODULE) | 897 | #if defined(CONFIG_HDQ_MASTER_OMAP) || defined(CONFIG_HDQ_MASTER_OMAP_MODULE) |
898 | #if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3430) | 898 | #if defined(CONFIG_SOC_OMAP2430) || defined(CONFIG_SOC_OMAP3430) |
899 | #define OMAP_HDQ_BASE 0x480B2000 | 899 | #define OMAP_HDQ_BASE 0x480B2000 |
900 | #endif | 900 | #endif |
901 | static struct resource omap_hdq_resources[] = { | 901 | static struct resource omap_hdq_resources[] = { |
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c index 5f9086c65e48..5c25f1b55235 100644 --- a/arch/arm/mach-omap2/id.c +++ b/arch/arm/mach-omap2/id.c | |||
@@ -191,12 +191,19 @@ static void __init omap3_check_features(void) | |||
191 | if (!cpu_is_omap3505() && !cpu_is_omap3517()) | 191 | if (!cpu_is_omap3505() && !cpu_is_omap3517()) |
192 | omap3_features |= OMAP3_HAS_IO_WAKEUP; | 192 | omap3_features |= OMAP3_HAS_IO_WAKEUP; |
193 | 193 | ||
194 | omap3_features |= OMAP3_HAS_SDRC; | ||
195 | |||
194 | /* | 196 | /* |
195 | * TODO: Get additional info (where applicable) | 197 | * TODO: Get additional info (where applicable) |
196 | * e.g. Size of L2 cache. | 198 | * e.g. Size of L2 cache. |
197 | */ | 199 | */ |
198 | } | 200 | } |
199 | 201 | ||
202 | static void __init ti816x_check_features(void) | ||
203 | { | ||
204 | omap3_features = OMAP3_HAS_NEON; | ||
205 | } | ||
206 | |||
200 | static void __init omap3_check_revision(void) | 207 | static void __init omap3_check_revision(void) |
201 | { | 208 | { |
202 | u32 cpuid, idcode; | 209 | u32 cpuid, idcode; |
@@ -287,6 +294,20 @@ static void __init omap3_check_revision(void) | |||
287 | omap_chip.oc |= CHIP_IS_OMAP3630ES1_2; | 294 | omap_chip.oc |= CHIP_IS_OMAP3630ES1_2; |
288 | } | 295 | } |
289 | break; | 296 | break; |
297 | case 0xb81e: | ||
298 | omap_chip.oc = CHIP_IS_TI816X; | ||
299 | |||
300 | switch (rev) { | ||
301 | case 0: | ||
302 | omap_revision = TI8168_REV_ES1_0; | ||
303 | break; | ||
304 | case 1: | ||
305 | omap_revision = TI8168_REV_ES1_1; | ||
306 | break; | ||
307 | default: | ||
308 | omap_revision = TI8168_REV_ES1_1; | ||
309 | } | ||
310 | break; | ||
290 | default: | 311 | default: |
291 | /* Unknown default to latest silicon rev as default*/ | 312 | /* Unknown default to latest silicon rev as default*/ |
292 | omap_revision = OMAP3630_REV_ES1_2; | 313 | omap_revision = OMAP3630_REV_ES1_2; |
@@ -372,6 +393,8 @@ static void __init omap3_cpuinfo(void) | |||
372 | /* Already set in omap3_check_revision() */ | 393 | /* Already set in omap3_check_revision() */ |
373 | strcpy(cpu_name, "AM3505"); | 394 | strcpy(cpu_name, "AM3505"); |
374 | } | 395 | } |
396 | } else if (cpu_is_ti816x()) { | ||
397 | strcpy(cpu_name, "TI816X"); | ||
375 | } else if (omap3_has_iva() && omap3_has_sgx()) { | 398 | } else if (omap3_has_iva() && omap3_has_sgx()) { |
376 | /* OMAP3430, OMAP3525, OMAP3515, OMAP3503 devices */ | 399 | /* OMAP3430, OMAP3525, OMAP3515, OMAP3503 devices */ |
377 | strcpy(cpu_name, "OMAP3430/3530"); | 400 | strcpy(cpu_name, "OMAP3430/3530"); |
@@ -386,7 +409,7 @@ static void __init omap3_cpuinfo(void) | |||
386 | strcpy(cpu_name, "OMAP3503"); | 409 | strcpy(cpu_name, "OMAP3503"); |
387 | } | 410 | } |
388 | 411 | ||
389 | if (cpu_is_omap3630()) { | 412 | if (cpu_is_omap3630() || cpu_is_ti816x()) { |
390 | switch (rev) { | 413 | switch (rev) { |
391 | case OMAP_REVBITS_00: | 414 | case OMAP_REVBITS_00: |
392 | strcpy(cpu_rev, "1.0"); | 415 | strcpy(cpu_rev, "1.0"); |
@@ -462,7 +485,13 @@ void __init omap2_check_revision(void) | |||
462 | omap24xx_check_revision(); | 485 | omap24xx_check_revision(); |
463 | } else if (cpu_is_omap34xx()) { | 486 | } else if (cpu_is_omap34xx()) { |
464 | omap3_check_revision(); | 487 | omap3_check_revision(); |
465 | omap3_check_features(); | 488 | |
489 | /* TI816X doesn't have feature register */ | ||
490 | if (!cpu_is_ti816x()) | ||
491 | omap3_check_features(); | ||
492 | else | ||
493 | ti816x_check_features(); | ||
494 | |||
466 | omap3_cpuinfo(); | 495 | omap3_cpuinfo(); |
467 | return; | 496 | return; |
468 | } else if (cpu_is_omap44xx()) { | 497 | } else if (cpu_is_omap44xx()) { |
diff --git a/arch/arm/mach-omap2/include/mach/debug-macro.S b/arch/arm/mach-omap2/include/mach/debug-macro.S index 6a4d4136002e..e1b0f17b0927 100644 --- a/arch/arm/mach-omap2/include/mach/debug-macro.S +++ b/arch/arm/mach-omap2/include/mach/debug-macro.S | |||
@@ -69,6 +69,12 @@ omap_uart_lsr: .word 0 | |||
69 | beq 34f @ configure OMAP3UART4 | 69 | beq 34f @ configure OMAP3UART4 |
70 | cmp \rp, #OMAP4UART4 @ only on 44xx | 70 | cmp \rp, #OMAP4UART4 @ only on 44xx |
71 | beq 44f @ configure OMAP4UART4 | 71 | beq 44f @ configure OMAP4UART4 |
72 | cmp \rp, #TI816XUART1 @ ti816x UART offsets different | ||
73 | beq 81f @ configure UART1 | ||
74 | cmp \rp, #TI816XUART2 @ ti816x UART offsets different | ||
75 | beq 82f @ configure UART2 | ||
76 | cmp \rp, #TI816XUART3 @ ti816x UART offsets different | ||
77 | beq 83f @ configure UART3 | ||
72 | cmp \rp, #ZOOM_UART @ only on zoom2/3 | 78 | cmp \rp, #ZOOM_UART @ only on zoom2/3 |
73 | beq 95f @ configure ZOOM_UART | 79 | beq 95f @ configure ZOOM_UART |
74 | 80 | ||
@@ -91,6 +97,12 @@ omap_uart_lsr: .word 0 | |||
91 | b 98f | 97 | b 98f |
92 | 44: mov \rp, #UART_OFFSET(OMAP4_UART4_BASE) | 98 | 44: mov \rp, #UART_OFFSET(OMAP4_UART4_BASE) |
93 | b 98f | 99 | b 98f |
100 | 81: mov \rp, #UART_OFFSET(TI816X_UART1_BASE) | ||
101 | b 98f | ||
102 | 82: mov \rp, #UART_OFFSET(TI816X_UART2_BASE) | ||
103 | b 98f | ||
104 | 83: mov \rp, #UART_OFFSET(TI816X_UART3_BASE) | ||
105 | b 98f | ||
94 | 95: ldr \rp, =ZOOM_UART_BASE | 106 | 95: ldr \rp, =ZOOM_UART_BASE |
95 | mrc p15, 0, \rv, c1, c0 | 107 | mrc p15, 0, \rv, c1, c0 |
96 | tst \rv, #1 @ MMU enabled? | 108 | tst \rv, #1 @ MMU enabled? |
diff --git a/arch/arm/mach-omap2/include/mach/entry-macro.S b/arch/arm/mach-omap2/include/mach/entry-macro.S index 81985a665cb3..a48690b90990 100644 --- a/arch/arm/mach-omap2/include/mach/entry-macro.S +++ b/arch/arm/mach-omap2/include/mach/entry-macro.S | |||
@@ -61,6 +61,14 @@ | |||
61 | bne 9998f | 61 | bne 9998f |
62 | ldr \irqnr, [\base, #0xd8] /* IRQ pending reg 3 */ | 62 | ldr \irqnr, [\base, #0xd8] /* IRQ pending reg 3 */ |
63 | cmp \irqnr, #0x0 | 63 | cmp \irqnr, #0x0 |
64 | bne 9998f | ||
65 | |||
66 | /* | ||
67 | * ti816x has additional IRQ pending register. Checking this | ||
68 | * register on omap2 & omap3 has no effect (read as 0). | ||
69 | */ | ||
70 | ldr \irqnr, [\base, #0xf8] /* IRQ pending reg 4 */ | ||
71 | cmp \irqnr, #0x0 | ||
64 | 9998: | 72 | 9998: |
65 | ldrne \irqnr, [\base, #INTCPS_SIR_IRQ_OFFSET] | 73 | ldrne \irqnr, [\base, #INTCPS_SIR_IRQ_OFFSET] |
66 | and \irqnr, \irqnr, #ACTIVEIRQ_MASK /* Clear spurious bits */ | 74 | and \irqnr, \irqnr, #ACTIVEIRQ_MASK /* Clear spurious bits */ |
@@ -133,6 +141,11 @@ | |||
133 | bne 9999f | 141 | bne 9999f |
134 | ldr \irqnr, [\base, #0xd8] /* IRQ pending reg 3 */ | 142 | ldr \irqnr, [\base, #0xd8] /* IRQ pending reg 3 */ |
135 | cmp \irqnr, #0x0 | 143 | cmp \irqnr, #0x0 |
144 | #ifdef CONFIG_SOC_OMAPTI816X | ||
145 | bne 9999f | ||
146 | ldr \irqnr, [\base, #0xf8] /* IRQ pending reg 4 */ | ||
147 | cmp \irqnr, #0x0 | ||
148 | #endif | ||
136 | 9999: | 149 | 9999: |
137 | ldrne \irqnr, [\base, #INTCPS_SIR_IRQ_OFFSET] | 150 | ldrne \irqnr, [\base, #INTCPS_SIR_IRQ_OFFSET] |
138 | and \irqnr, \irqnr, #ACTIVEIRQ_MASK /* Clear spurious bits */ | 151 | and \irqnr, \irqnr, #ACTIVEIRQ_MASK /* Clear spurious bits */ |
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c index c2032041d26f..b8b49e4ae928 100644 --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c | |||
@@ -66,7 +66,7 @@ static struct map_desc omap24xx_io_desc[] __initdata = { | |||
66 | }, | 66 | }, |
67 | }; | 67 | }; |
68 | 68 | ||
69 | #ifdef CONFIG_ARCH_OMAP2420 | 69 | #ifdef CONFIG_SOC_OMAP2420 |
70 | static struct map_desc omap242x_io_desc[] __initdata = { | 70 | static struct map_desc omap242x_io_desc[] __initdata = { |
71 | { | 71 | { |
72 | .virtual = DSP_MEM_2420_VIRT, | 72 | .virtual = DSP_MEM_2420_VIRT, |
@@ -90,7 +90,7 @@ static struct map_desc omap242x_io_desc[] __initdata = { | |||
90 | 90 | ||
91 | #endif | 91 | #endif |
92 | 92 | ||
93 | #ifdef CONFIG_ARCH_OMAP2430 | 93 | #ifdef CONFIG_SOC_OMAP2430 |
94 | static struct map_desc omap243x_io_desc[] __initdata = { | 94 | static struct map_desc omap243x_io_desc[] __initdata = { |
95 | { | 95 | { |
96 | .virtual = L4_WK_243X_VIRT, | 96 | .virtual = L4_WK_243X_VIRT, |
@@ -175,6 +175,18 @@ static struct map_desc omap34xx_io_desc[] __initdata = { | |||
175 | #endif | 175 | #endif |
176 | }; | 176 | }; |
177 | #endif | 177 | #endif |
178 | |||
179 | #ifdef CONFIG_SOC_OMAPTI816X | ||
180 | static struct map_desc omapti816x_io_desc[] __initdata = { | ||
181 | { | ||
182 | .virtual = L4_34XX_VIRT, | ||
183 | .pfn = __phys_to_pfn(L4_34XX_PHYS), | ||
184 | .length = L4_34XX_SIZE, | ||
185 | .type = MT_DEVICE | ||
186 | }, | ||
187 | }; | ||
188 | #endif | ||
189 | |||
178 | #ifdef CONFIG_ARCH_OMAP4 | 190 | #ifdef CONFIG_ARCH_OMAP4 |
179 | static struct map_desc omap44xx_io_desc[] __initdata = { | 191 | static struct map_desc omap44xx_io_desc[] __initdata = { |
180 | { | 192 | { |
@@ -241,7 +253,7 @@ static void __init _omap2_map_common_io(void) | |||
241 | omap_sram_init(); | 253 | omap_sram_init(); |
242 | } | 254 | } |
243 | 255 | ||
244 | #ifdef CONFIG_ARCH_OMAP2420 | 256 | #ifdef CONFIG_SOC_OMAP2420 |
245 | void __init omap242x_map_common_io(void) | 257 | void __init omap242x_map_common_io(void) |
246 | { | 258 | { |
247 | iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc)); | 259 | iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc)); |
@@ -250,7 +262,7 @@ void __init omap242x_map_common_io(void) | |||
250 | } | 262 | } |
251 | #endif | 263 | #endif |
252 | 264 | ||
253 | #ifdef CONFIG_ARCH_OMAP2430 | 265 | #ifdef CONFIG_SOC_OMAP2430 |
254 | void __init omap243x_map_common_io(void) | 266 | void __init omap243x_map_common_io(void) |
255 | { | 267 | { |
256 | iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc)); | 268 | iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc)); |
@@ -267,6 +279,14 @@ void __init omap34xx_map_common_io(void) | |||
267 | } | 279 | } |
268 | #endif | 280 | #endif |
269 | 281 | ||
282 | #ifdef CONFIG_SOC_OMAPTI816X | ||
283 | void __init omapti816x_map_common_io(void) | ||
284 | { | ||
285 | iotable_init(omapti816x_io_desc, ARRAY_SIZE(omapti816x_io_desc)); | ||
286 | _omap2_map_common_io(); | ||
287 | } | ||
288 | #endif | ||
289 | |||
270 | #ifdef CONFIG_ARCH_OMAP4 | 290 | #ifdef CONFIG_ARCH_OMAP4 |
271 | void __init omap44xx_map_common_io(void) | 291 | void __init omap44xx_map_common_io(void) |
272 | { | 292 | { |
@@ -398,11 +418,7 @@ void __init omap2_init_common_infrastructure(void) | |||
398 | void __init omap2_init_common_devices(struct omap_sdrc_params *sdrc_cs0, | 418 | void __init omap2_init_common_devices(struct omap_sdrc_params *sdrc_cs0, |
399 | struct omap_sdrc_params *sdrc_cs1) | 419 | struct omap_sdrc_params *sdrc_cs1) |
400 | { | 420 | { |
401 | omap_serial_early_init(); | 421 | if (cpu_is_omap24xx() || omap3_has_sdrc()) { |
402 | |||
403 | omap_hwmod_late_init(); | ||
404 | |||
405 | if (cpu_is_omap24xx() || cpu_is_omap34xx()) { | ||
406 | omap2_sdrc_init(sdrc_cs0, sdrc_cs1); | 422 | omap2_sdrc_init(sdrc_cs0, sdrc_cs1); |
407 | _omap2_init_reprogram_sdrc(); | 423 | _omap2_init_reprogram_sdrc(); |
408 | } | 424 | } |
diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c index 23049c487c47..bc524b94fd59 100644 --- a/arch/arm/mach-omap2/irq.c +++ b/arch/arm/mach-omap2/irq.c | |||
@@ -61,8 +61,6 @@ struct omap3_intc_regs { | |||
61 | u32 mir[INTCPS_NR_MIR_REGS]; | 61 | u32 mir[INTCPS_NR_MIR_REGS]; |
62 | }; | 62 | }; |
63 | 63 | ||
64 | static struct omap3_intc_regs intc_context[ARRAY_SIZE(irq_banks)]; | ||
65 | |||
66 | /* INTC bank register get/set */ | 64 | /* INTC bank register get/set */ |
67 | 65 | ||
68 | static void intc_bank_write_reg(u32 val, struct omap_irq_bank *bank, u16 reg) | 66 | static void intc_bank_write_reg(u32 val, struct omap_irq_bank *bank, u16 reg) |
@@ -110,7 +108,7 @@ static void omap_mask_irq(struct irq_data *d) | |||
110 | unsigned int irq = d->irq; | 108 | unsigned int irq = d->irq; |
111 | int offset = irq & (~(IRQ_BITS_PER_REG - 1)); | 109 | int offset = irq & (~(IRQ_BITS_PER_REG - 1)); |
112 | 110 | ||
113 | if (cpu_is_omap34xx()) { | 111 | if (cpu_is_omap34xx() && !cpu_is_ti816x()) { |
114 | int spurious = 0; | 112 | int spurious = 0; |
115 | 113 | ||
116 | /* | 114 | /* |
@@ -205,6 +203,9 @@ void __init omap_init_irq(void) | |||
205 | 203 | ||
206 | BUG_ON(!base); | 204 | BUG_ON(!base); |
207 | 205 | ||
206 | if (cpu_is_ti816x()) | ||
207 | bank->nr_irqs = 128; | ||
208 | |||
208 | /* Static mapping, never released */ | 209 | /* Static mapping, never released */ |
209 | bank->base_reg = ioremap(base, SZ_4K); | 210 | bank->base_reg = ioremap(base, SZ_4K); |
210 | if (!bank->base_reg) { | 211 | if (!bank->base_reg) { |
@@ -229,6 +230,8 @@ void __init omap_init_irq(void) | |||
229 | } | 230 | } |
230 | 231 | ||
231 | #ifdef CONFIG_ARCH_OMAP3 | 232 | #ifdef CONFIG_ARCH_OMAP3 |
233 | static struct omap3_intc_regs intc_context[ARRAY_SIZE(irq_banks)]; | ||
234 | |||
232 | void omap_intc_save_context(void) | 235 | void omap_intc_save_context(void) |
233 | { | 236 | { |
234 | int ind = 0, i = 0; | 237 | int ind = 0, i = 0; |
diff --git a/arch/arm/mach-omap2/mailbox.c b/arch/arm/mach-omap2/mailbox.c index 394413dc7deb..29b9dc3917af 100644 --- a/arch/arm/mach-omap2/mailbox.c +++ b/arch/arm/mach-omap2/mailbox.c | |||
@@ -310,7 +310,7 @@ struct omap_mbox mbox_dsp_info = { | |||
310 | struct omap_mbox *omap3_mboxes[] = { &mbox_dsp_info, NULL }; | 310 | struct omap_mbox *omap3_mboxes[] = { &mbox_dsp_info, NULL }; |
311 | #endif | 311 | #endif |
312 | 312 | ||
313 | #if defined(CONFIG_ARCH_OMAP2420) | 313 | #if defined(CONFIG_SOC_OMAP2420) |
314 | /* IVA */ | 314 | /* IVA */ |
315 | static struct omap_mbox2_priv omap2_mbox_iva_priv = { | 315 | static struct omap_mbox2_priv omap2_mbox_iva_priv = { |
316 | .tx_fifo = { | 316 | .tx_fifo = { |
diff --git a/arch/arm/mach-omap2/mcbsp.c b/arch/arm/mach-omap2/mcbsp.c index f9c9df5b5ff1..0526b758bdcc 100644 --- a/arch/arm/mach-omap2/mcbsp.c +++ b/arch/arm/mach-omap2/mcbsp.c | |||
@@ -104,7 +104,7 @@ EXPORT_SYMBOL(omap2_mcbsp_set_clks_src); | |||
104 | 104 | ||
105 | /* Platform data */ | 105 | /* Platform data */ |
106 | 106 | ||
107 | #ifdef CONFIG_ARCH_OMAP2420 | 107 | #ifdef CONFIG_SOC_OMAP2420 |
108 | static struct omap_mcbsp_platform_data omap2420_mcbsp_pdata[] = { | 108 | static struct omap_mcbsp_platform_data omap2420_mcbsp_pdata[] = { |
109 | { | 109 | { |
110 | .phys_base = OMAP24XX_MCBSP1_BASE, | 110 | .phys_base = OMAP24XX_MCBSP1_BASE, |
@@ -129,7 +129,7 @@ static struct omap_mcbsp_platform_data omap2420_mcbsp_pdata[] = { | |||
129 | #define OMAP2420_MCBSP_REG_NUM 0 | 129 | #define OMAP2420_MCBSP_REG_NUM 0 |
130 | #endif | 130 | #endif |
131 | 131 | ||
132 | #ifdef CONFIG_ARCH_OMAP2430 | 132 | #ifdef CONFIG_SOC_OMAP2430 |
133 | static struct omap_mcbsp_platform_data omap2430_mcbsp_pdata[] = { | 133 | static struct omap_mcbsp_platform_data omap2430_mcbsp_pdata[] = { |
134 | { | 134 | { |
135 | .phys_base = OMAP24XX_MCBSP1_BASE, | 135 | .phys_base = OMAP24XX_MCBSP1_BASE, |
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c index e282e35769fd..9e89a58711b7 100644 --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c | |||
@@ -1467,12 +1467,10 @@ static int __init _register(struct omap_hwmod *oh) | |||
1467 | return -EEXIST; | 1467 | return -EEXIST; |
1468 | 1468 | ||
1469 | ms_id = _find_mpu_port_index(oh); | 1469 | ms_id = _find_mpu_port_index(oh); |
1470 | if (!IS_ERR_VALUE(ms_id)) { | 1470 | if (!IS_ERR_VALUE(ms_id)) |
1471 | oh->_mpu_port_index = ms_id; | 1471 | oh->_mpu_port_index = ms_id; |
1472 | oh->_mpu_rt_va = _find_mpu_rt_base(oh, oh->_mpu_port_index); | 1472 | else |
1473 | } else { | ||
1474 | oh->_int_flags |= _HWMOD_NO_MPU_PORT; | 1473 | oh->_int_flags |= _HWMOD_NO_MPU_PORT; |
1475 | } | ||
1476 | 1474 | ||
1477 | list_add_tail(&oh->node, &omap_hwmod_list); | 1475 | list_add_tail(&oh->node, &omap_hwmod_list); |
1478 | 1476 | ||
@@ -1621,6 +1619,26 @@ int __init omap_hwmod_init(struct omap_hwmod **ohs) | |||
1621 | return 0; | 1619 | return 0; |
1622 | } | 1620 | } |
1623 | 1621 | ||
1622 | /* | ||
1623 | * _populate_mpu_rt_base - populate the virtual address for a hwmod | ||
1624 | * | ||
1625 | * Must be called only from omap_hwmod_late_init so ioremap works properly. | ||
1626 | * Assumes the caller takes care of locking if needed. | ||
1627 | * | ||
1628 | */ | ||
1629 | static int __init _populate_mpu_rt_base(struct omap_hwmod *oh, void *data) | ||
1630 | { | ||
1631 | if (oh->_int_flags & _HWMOD_NO_MPU_PORT) | ||
1632 | return 0; | ||
1633 | |||
1634 | oh->_mpu_rt_va = _find_mpu_rt_base(oh, oh->_mpu_port_index); | ||
1635 | if (!oh->_mpu_rt_va) | ||
1636 | pr_warning("omap_hwmod: %s found no _mpu_rt_va for %s\n", | ||
1637 | __func__, oh->name); | ||
1638 | |||
1639 | return 0; | ||
1640 | } | ||
1641 | |||
1624 | /** | 1642 | /** |
1625 | * omap_hwmod_late_init - do some post-clock framework initialization | 1643 | * omap_hwmod_late_init - do some post-clock framework initialization |
1626 | * | 1644 | * |
@@ -1628,10 +1646,12 @@ int __init omap_hwmod_init(struct omap_hwmod **ohs) | |||
1628 | * to struct clk pointers for each registered omap_hwmod. Also calls | 1646 | * to struct clk pointers for each registered omap_hwmod. Also calls |
1629 | * _setup() on each hwmod. Returns 0. | 1647 | * _setup() on each hwmod. Returns 0. |
1630 | */ | 1648 | */ |
1631 | int omap_hwmod_late_init(void) | 1649 | static int __init omap_hwmod_late_init(void) |
1632 | { | 1650 | { |
1633 | int r; | 1651 | int r; |
1634 | 1652 | ||
1653 | r = omap_hwmod_for_each(_populate_mpu_rt_base, NULL); | ||
1654 | |||
1635 | /* XXX check return value */ | 1655 | /* XXX check return value */ |
1636 | r = omap_hwmod_for_each(_init_clocks, NULL); | 1656 | r = omap_hwmod_for_each(_init_clocks, NULL); |
1637 | WARN(r, "omap_hwmod: omap_hwmod_late_init(): _init_clocks failed\n"); | 1657 | WARN(r, "omap_hwmod: omap_hwmod_late_init(): _init_clocks failed\n"); |
@@ -1644,6 +1664,7 @@ int omap_hwmod_late_init(void) | |||
1644 | 1664 | ||
1645 | return 0; | 1665 | return 0; |
1646 | } | 1666 | } |
1667 | core_initcall(omap_hwmod_late_init); | ||
1647 | 1668 | ||
1648 | /** | 1669 | /** |
1649 | * omap_hwmod_enable - enable an omap_hwmod | 1670 | * omap_hwmod_enable - enable an omap_hwmod |
diff --git a/arch/arm/mach-omap2/opp2xxx.h b/arch/arm/mach-omap2/opp2xxx.h index 38b730550506..8affc66a92c2 100644 --- a/arch/arm/mach-omap2/opp2xxx.h +++ b/arch/arm/mach-omap2/opp2xxx.h | |||
@@ -418,7 +418,7 @@ struct prcm_config { | |||
418 | 418 | ||
419 | extern const struct prcm_config omap2420_rate_table[]; | 419 | extern const struct prcm_config omap2420_rate_table[]; |
420 | 420 | ||
421 | #ifdef CONFIG_ARCH_OMAP2430 | 421 | #ifdef CONFIG_SOC_OMAP2430 |
422 | extern const struct prcm_config omap2430_rate_table[]; | 422 | extern const struct prcm_config omap2430_rate_table[]; |
423 | #else | 423 | #else |
424 | #define omap2430_rate_table NULL | 424 | #define omap2430_rate_table NULL |
diff --git a/arch/arm/mach-omap2/powerdomains2xxx_data.c b/arch/arm/mach-omap2/powerdomains2xxx_data.c index 9b1a33500577..78739e10f5b9 100644 --- a/arch/arm/mach-omap2/powerdomains2xxx_data.c +++ b/arch/arm/mach-omap2/powerdomains2xxx_data.c | |||
@@ -78,7 +78,7 @@ static struct powerdomain core_24xx_pwrdm = { | |||
78 | * 2430-specific powerdomains | 78 | * 2430-specific powerdomains |
79 | */ | 79 | */ |
80 | 80 | ||
81 | #ifdef CONFIG_ARCH_OMAP2430 | 81 | #ifdef CONFIG_SOC_OMAP2430 |
82 | 82 | ||
83 | /* XXX 2430 KILLDOMAINWKUP bit? No current users apparently */ | 83 | /* XXX 2430 KILLDOMAINWKUP bit? No current users apparently */ |
84 | 84 | ||
@@ -97,7 +97,7 @@ static struct powerdomain mdm_pwrdm = { | |||
97 | }, | 97 | }, |
98 | }; | 98 | }; |
99 | 99 | ||
100 | #endif /* CONFIG_ARCH_OMAP2430 */ | 100 | #endif /* CONFIG_SOC_OMAP2430 */ |
101 | 101 | ||
102 | /* As powerdomains are added or removed above, this list must also be changed */ | 102 | /* As powerdomains are added or removed above, this list must also be changed */ |
103 | static struct powerdomain *powerdomains_omap2xxx[] __initdata = { | 103 | static struct powerdomain *powerdomains_omap2xxx[] __initdata = { |
@@ -111,7 +111,7 @@ static struct powerdomain *powerdomains_omap2xxx[] __initdata = { | |||
111 | &core_24xx_pwrdm, | 111 | &core_24xx_pwrdm, |
112 | #endif | 112 | #endif |
113 | 113 | ||
114 | #ifdef CONFIG_ARCH_OMAP2430 | 114 | #ifdef CONFIG_SOC_OMAP2430 |
115 | &mdm_pwrdm, | 115 | &mdm_pwrdm, |
116 | #endif | 116 | #endif |
117 | NULL | 117 | NULL |
diff --git a/arch/arm/mach-omap2/prcm.c b/arch/arm/mach-omap2/prcm.c index 679bcd28576e..6be14389e4f3 100644 --- a/arch/arm/mach-omap2/prcm.c +++ b/arch/arm/mach-omap2/prcm.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <linux/io.h> | 24 | #include <linux/io.h> |
25 | #include <linux/delay.h> | 25 | #include <linux/delay.h> |
26 | 26 | ||
27 | #include <mach/system.h> | ||
27 | #include <plat/common.h> | 28 | #include <plat/common.h> |
28 | #include <plat/prcm.h> | 29 | #include <plat/prcm.h> |
29 | #include <plat/irqs.h> | 30 | #include <plat/irqs.h> |
@@ -57,7 +58,7 @@ u32 omap_prcm_get_reset_sources(void) | |||
57 | EXPORT_SYMBOL(omap_prcm_get_reset_sources); | 58 | EXPORT_SYMBOL(omap_prcm_get_reset_sources); |
58 | 59 | ||
59 | /* Resets clock rates and reboots the system. Only called from system.h */ | 60 | /* Resets clock rates and reboots the system. Only called from system.h */ |
60 | void omap_prcm_arch_reset(char mode, const char *cmd) | 61 | static void omap_prcm_arch_reset(char mode, const char *cmd) |
61 | { | 62 | { |
62 | s16 prcm_offs = 0; | 63 | s16 prcm_offs = 0; |
63 | 64 | ||
@@ -108,6 +109,8 @@ void omap_prcm_arch_reset(char mode, const char *cmd) | |||
108 | omap2_prm_read_mod_reg(prcm_offs, OMAP2_RM_RSTCTRL); /* OCP barrier */ | 109 | omap2_prm_read_mod_reg(prcm_offs, OMAP2_RM_RSTCTRL); /* OCP barrier */ |
109 | } | 110 | } |
110 | 111 | ||
112 | void (*arch_reset)(char, const char *) = omap_prcm_arch_reset; | ||
113 | |||
111 | /** | 114 | /** |
112 | * omap2_cm_wait_idlest - wait for IDLEST bit to indicate module readiness | 115 | * omap2_cm_wait_idlest - wait for IDLEST bit to indicate module readiness |
113 | * @reg: physical address of module IDLEST register | 116 | * @reg: physical address of module IDLEST register |
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c index 32e91a9c8b6b..47eef48b8830 100644 --- a/arch/arm/mach-omap2/serial.c +++ b/arch/arm/mach-omap2/serial.c | |||
@@ -486,7 +486,7 @@ static void omap_uart_idle_init(struct omap_uart_state *uart) | |||
486 | mod_timer(&uart->timer, jiffies + uart->timeout); | 486 | mod_timer(&uart->timer, jiffies + uart->timeout); |
487 | omap_uart_smart_idle_enable(uart, 0); | 487 | omap_uart_smart_idle_enable(uart, 0); |
488 | 488 | ||
489 | if (cpu_is_omap34xx()) { | 489 | if (cpu_is_omap34xx() && !cpu_is_ti816x()) { |
490 | u32 mod = (uart->num > 1) ? OMAP3430_PER_MOD : CORE_MOD; | 490 | u32 mod = (uart->num > 1) ? OMAP3430_PER_MOD : CORE_MOD; |
491 | u32 wk_mask = 0; | 491 | u32 wk_mask = 0; |
492 | u32 padconf = 0; | 492 | u32 padconf = 0; |
@@ -655,7 +655,7 @@ static void serial_out_override(struct uart_port *up, int offset, int value) | |||
655 | } | 655 | } |
656 | #endif | 656 | #endif |
657 | 657 | ||
658 | void __init omap_serial_early_init(void) | 658 | static int __init omap_serial_early_init(void) |
659 | { | 659 | { |
660 | int i = 0; | 660 | int i = 0; |
661 | 661 | ||
@@ -672,7 +672,7 @@ void __init omap_serial_early_init(void) | |||
672 | 672 | ||
673 | uart = kzalloc(sizeof(struct omap_uart_state), GFP_KERNEL); | 673 | uart = kzalloc(sizeof(struct omap_uart_state), GFP_KERNEL); |
674 | if (WARN_ON(!uart)) | 674 | if (WARN_ON(!uart)) |
675 | return; | 675 | return -ENODEV; |
676 | 676 | ||
677 | uart->oh = oh; | 677 | uart->oh = oh; |
678 | uart->num = i++; | 678 | uart->num = i++; |
@@ -691,7 +691,10 @@ void __init omap_serial_early_init(void) | |||
691 | */ | 691 | */ |
692 | uart->oh->flags |= HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET; | 692 | uart->oh->flags |= HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET; |
693 | } while (1); | 693 | } while (1); |
694 | |||
695 | return 0; | ||
694 | } | 696 | } |
697 | core_initcall(omap_serial_early_init); | ||
695 | 698 | ||
696 | /** | 699 | /** |
697 | * omap_serial_init_port() - initialize single serial port | 700 | * omap_serial_init_port() - initialize single serial port |
@@ -759,13 +762,13 @@ void __init omap_serial_init_port(struct omap_board_data *bdata) | |||
759 | p->private_data = uart; | 762 | p->private_data = uart; |
760 | 763 | ||
761 | /* | 764 | /* |
762 | * omap44xx: Never read empty UART fifo | 765 | * omap44xx, ti816x: Never read empty UART fifo |
763 | * omap3xxx: Never read empty UART fifo on UARTs | 766 | * omap3xxx: Never read empty UART fifo on UARTs |
764 | * with IP rev >=0x52 | 767 | * with IP rev >=0x52 |
765 | */ | 768 | */ |
766 | uart->regshift = p->regshift; | 769 | uart->regshift = p->regshift; |
767 | uart->membase = p->membase; | 770 | uart->membase = p->membase; |
768 | if (cpu_is_omap44xx()) | 771 | if (cpu_is_omap44xx() || cpu_is_ti816x()) |
769 | uart->errata |= UART_ERRATA_FIFO_FULL_ABORT; | 772 | uart->errata |= UART_ERRATA_FIFO_FULL_ABORT; |
770 | else if ((serial_read_reg(uart, UART_OMAP_MVER) & 0xFF) | 773 | else if ((serial_read_reg(uart, UART_OMAP_MVER) & 0xFF) |
771 | >= UART_OMAP_NO_EMPTY_FIFO_READ_IP_REV) | 774 | >= UART_OMAP_NO_EMPTY_FIFO_READ_IP_REV) |
@@ -847,7 +850,7 @@ void __init omap_serial_init_port(struct omap_board_data *bdata) | |||
847 | } | 850 | } |
848 | 851 | ||
849 | /* Enable the MDR1 errata for OMAP3 */ | 852 | /* Enable the MDR1 errata for OMAP3 */ |
850 | if (cpu_is_omap34xx()) | 853 | if (cpu_is_omap34xx() && !cpu_is_ti816x()) |
851 | uart->errata |= UART_ERRATA_i202_MDR1_ACCESS; | 854 | uart->errata |= UART_ERRATA_i202_MDR1_ACCESS; |
852 | } | 855 | } |
853 | 856 | ||
diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c index f04731820301..d9f10a31e604 100644 --- a/arch/arm/plat-omap/common.c +++ b/arch/arm/plat-omap/common.c | |||
@@ -24,10 +24,11 @@ | |||
24 | 24 | ||
25 | #define NO_LENGTH_CHECK 0xffffffff | 25 | #define NO_LENGTH_CHECK 0xffffffff |
26 | 26 | ||
27 | struct omap_board_config_kernel *omap_board_config; | 27 | struct omap_board_config_kernel *omap_board_config __initdata; |
28 | int omap_board_config_size; | 28 | int omap_board_config_size; |
29 | 29 | ||
30 | static const void *get_config(u16 tag, size_t len, int skip, size_t *len_out) | 30 | static const void *__init get_config(u16 tag, size_t len, |
31 | int skip, size_t *len_out) | ||
31 | { | 32 | { |
32 | struct omap_board_config_kernel *kinfo = NULL; | 33 | struct omap_board_config_kernel *kinfo = NULL; |
33 | int i; | 34 | int i; |
@@ -49,17 +50,15 @@ static const void *get_config(u16 tag, size_t len, int skip, size_t *len_out) | |||
49 | return kinfo->data; | 50 | return kinfo->data; |
50 | } | 51 | } |
51 | 52 | ||
52 | const void *__omap_get_config(u16 tag, size_t len, int nr) | 53 | const void *__init __omap_get_config(u16 tag, size_t len, int nr) |
53 | { | 54 | { |
54 | return get_config(tag, len, nr, NULL); | 55 | return get_config(tag, len, nr, NULL); |
55 | } | 56 | } |
56 | EXPORT_SYMBOL(__omap_get_config); | ||
57 | 57 | ||
58 | const void *omap_get_var_config(u16 tag, size_t *len) | 58 | const void *__init omap_get_var_config(u16 tag, size_t *len) |
59 | { | 59 | { |
60 | return get_config(tag, NO_LENGTH_CHECK, 0, len); | 60 | return get_config(tag, NO_LENGTH_CHECK, 0, len); |
61 | } | 61 | } |
62 | EXPORT_SYMBOL(omap_get_var_config); | ||
63 | 62 | ||
64 | void __init omap_reserve(void) | 63 | void __init omap_reserve(void) |
65 | { | 64 | { |
diff --git a/arch/arm/plat-omap/counter_32k.c b/arch/arm/plat-omap/counter_32k.c index 862dda95d61d..f7fed6080190 100644 --- a/arch/arm/plat-omap/counter_32k.c +++ b/arch/arm/plat-omap/counter_32k.c | |||
@@ -54,7 +54,7 @@ static cycle_t notrace omap16xx_32k_read(struct clocksource *cs) | |||
54 | #define omap16xx_32k_read NULL | 54 | #define omap16xx_32k_read NULL |
55 | #endif | 55 | #endif |
56 | 56 | ||
57 | #ifdef CONFIG_ARCH_OMAP2420 | 57 | #ifdef CONFIG_SOC_OMAP2420 |
58 | static cycle_t notrace omap2420_32k_read(struct clocksource *cs) | 58 | static cycle_t notrace omap2420_32k_read(struct clocksource *cs) |
59 | { | 59 | { |
60 | return omap_readl(OMAP2420_32KSYNCT_BASE + 0x10) - offset_32k; | 60 | return omap_readl(OMAP2420_32KSYNCT_BASE + 0x10) - offset_32k; |
@@ -63,7 +63,7 @@ static cycle_t notrace omap2420_32k_read(struct clocksource *cs) | |||
63 | #define omap2420_32k_read NULL | 63 | #define omap2420_32k_read NULL |
64 | #endif | 64 | #endif |
65 | 65 | ||
66 | #ifdef CONFIG_ARCH_OMAP2430 | 66 | #ifdef CONFIG_SOC_OMAP2430 |
67 | static cycle_t notrace omap2430_32k_read(struct clocksource *cs) | 67 | static cycle_t notrace omap2430_32k_read(struct clocksource *cs) |
68 | { | 68 | { |
69 | return omap_readl(OMAP2430_32KSYNCT_BASE + 0x10) - offset_32k; | 69 | return omap_readl(OMAP2430_32KSYNCT_BASE + 0x10) - offset_32k; |
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c index 85363084cc1a..2ec3b5d9f214 100644 --- a/arch/arm/plat-omap/dma.c +++ b/arch/arm/plat-omap/dma.c | |||
@@ -134,7 +134,7 @@ static inline void omap_enable_channel_irq(int lch); | |||
134 | 134 | ||
135 | #ifdef CONFIG_ARCH_OMAP15XX | 135 | #ifdef CONFIG_ARCH_OMAP15XX |
136 | /* Returns 1 if the DMA module is in OMAP1510-compatible mode, 0 otherwise */ | 136 | /* Returns 1 if the DMA module is in OMAP1510-compatible mode, 0 otherwise */ |
137 | int omap_dma_in_1510_mode(void) | 137 | static int omap_dma_in_1510_mode(void) |
138 | { | 138 | { |
139 | return enable_1510_mode; | 139 | return enable_1510_mode; |
140 | } | 140 | } |
diff --git a/arch/arm/plat-omap/i2c.c b/arch/arm/plat-omap/i2c.c index a4f8003de664..3341ca4703e9 100644 --- a/arch/arm/plat-omap/i2c.c +++ b/arch/arm/plat-omap/i2c.c | |||
@@ -112,6 +112,7 @@ static inline int omap1_i2c_add_bus(int bus_id) | |||
112 | } | 112 | } |
113 | 113 | ||
114 | 114 | ||
115 | #ifdef CONFIG_ARCH_OMAP2PLUS | ||
115 | /* | 116 | /* |
116 | * XXX This function is a temporary compatibility wrapper - only | 117 | * XXX This function is a temporary compatibility wrapper - only |
117 | * needed until the I2C driver can be converted to call | 118 | * needed until the I2C driver can be converted to call |
@@ -130,7 +131,6 @@ static struct omap_device_pm_latency omap_i2c_latency[] = { | |||
130 | }, | 131 | }, |
131 | }; | 132 | }; |
132 | 133 | ||
133 | #ifdef CONFIG_ARCH_OMAP2PLUS | ||
134 | static inline int omap2_i2c_add_bus(int bus_id) | 134 | static inline int omap2_i2c_add_bus(int bus_id) |
135 | { | 135 | { |
136 | int l; | 136 | int l; |
diff --git a/arch/arm/plat-omap/include/plat/board.h b/arch/arm/plat-omap/include/plat/board.h index 3cf4fa25ab3d..97126dfd2888 100644 --- a/arch/arm/plat-omap/include/plat/board.h +++ b/arch/arm/plat-omap/include/plat/board.h | |||
@@ -151,14 +151,14 @@ struct omap_board_config_kernel { | |||
151 | const void *data; | 151 | const void *data; |
152 | }; | 152 | }; |
153 | 153 | ||
154 | extern const void *__omap_get_config(u16 tag, size_t len, int nr); | 154 | extern const void *__init __omap_get_config(u16 tag, size_t len, int nr); |
155 | 155 | ||
156 | #define omap_get_config(tag, type) \ | 156 | #define omap_get_config(tag, type) \ |
157 | ((const type *) __omap_get_config((tag), sizeof(type), 0)) | 157 | ((const type *) __omap_get_config((tag), sizeof(type), 0)) |
158 | #define omap_get_nr_config(tag, type, nr) \ | 158 | #define omap_get_nr_config(tag, type, nr) \ |
159 | ((const type *) __omap_get_config((tag), sizeof(type), (nr))) | 159 | ((const type *) __omap_get_config((tag), sizeof(type), (nr))) |
160 | 160 | ||
161 | extern const void *omap_get_var_config(u16 tag, size_t *len); | 161 | extern const void *__init omap_get_var_config(u16 tag, size_t *len); |
162 | 162 | ||
163 | extern struct omap_board_config_kernel *omap_board_config; | 163 | extern struct omap_board_config_kernel *omap_board_config; |
164 | extern int omap_board_config_size; | 164 | extern int omap_board_config_size; |
diff --git a/arch/arm/plat-omap/include/plat/clkdev_omap.h b/arch/arm/plat-omap/include/plat/clkdev_omap.h index 256ab3f1ec8f..f1899a3e4174 100644 --- a/arch/arm/plat-omap/include/plat/clkdev_omap.h +++ b/arch/arm/plat-omap/include/plat/clkdev_omap.h | |||
@@ -38,6 +38,7 @@ struct omap_clk { | |||
38 | #define CK_3517 (1 << 9) | 38 | #define CK_3517 (1 << 9) |
39 | #define CK_36XX (1 << 10) /* 36xx/37xx-specific clocks */ | 39 | #define CK_36XX (1 << 10) /* 36xx/37xx-specific clocks */ |
40 | #define CK_443X (1 << 11) | 40 | #define CK_443X (1 << 11) |
41 | #define CK_TI816X (1 << 12) | ||
41 | 42 | ||
42 | 43 | ||
43 | #define CK_34XX (CK_3430ES1 | CK_3430ES2PLUS) | 44 | #define CK_34XX (CK_3430ES1 | CK_3430ES2PLUS) |
diff --git a/arch/arm/plat-omap/include/plat/clock.h b/arch/arm/plat-omap/include/plat/clock.h index 8eb0adab19ea..d43e6234dbbb 100644 --- a/arch/arm/plat-omap/include/plat/clock.h +++ b/arch/arm/plat-omap/include/plat/clock.h | |||
@@ -53,6 +53,7 @@ struct clkops { | |||
53 | #define RATE_IN_3430ES2PLUS (1 << 3) /* 3430 ES >= 2 rates only */ | 53 | #define RATE_IN_3430ES2PLUS (1 << 3) /* 3430 ES >= 2 rates only */ |
54 | #define RATE_IN_36XX (1 << 4) | 54 | #define RATE_IN_36XX (1 << 4) |
55 | #define RATE_IN_4430 (1 << 5) | 55 | #define RATE_IN_4430 (1 << 5) |
56 | #define RATE_IN_TI816X (1 << 6) | ||
56 | 57 | ||
57 | #define RATE_IN_24XX (RATE_IN_242X | RATE_IN_243X) | 58 | #define RATE_IN_24XX (RATE_IN_242X | RATE_IN_243X) |
58 | #define RATE_IN_34XX (RATE_IN_3430ES1 | RATE_IN_3430ES2PLUS) | 59 | #define RATE_IN_34XX (RATE_IN_3430ES1 | RATE_IN_3430ES2PLUS) |
diff --git a/arch/arm/plat-omap/include/plat/common.h b/arch/arm/plat-omap/include/plat/common.h index 29b2afb4288f..1dd97e7461c9 100644 --- a/arch/arm/plat-omap/include/plat/common.h +++ b/arch/arm/plat-omap/include/plat/common.h | |||
@@ -66,6 +66,7 @@ void omap2_set_globals_242x(void); | |||
66 | void omap2_set_globals_243x(void); | 66 | void omap2_set_globals_243x(void); |
67 | void omap2_set_globals_3xxx(void); | 67 | void omap2_set_globals_3xxx(void); |
68 | void omap2_set_globals_443x(void); | 68 | void omap2_set_globals_443x(void); |
69 | void omap2_set_globals_ti816x(void); | ||
69 | 70 | ||
70 | /* These get called from omap2_set_globals_xxxx(), do not call these */ | 71 | /* These get called from omap2_set_globals_xxxx(), do not call these */ |
71 | void omap2_set_globals_tap(struct omap_globals *); | 72 | void omap2_set_globals_tap(struct omap_globals *); |
diff --git a/arch/arm/plat-omap/include/plat/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h index 3fd8b4055727..be99438d385e 100644 --- a/arch/arm/plat-omap/include/plat/cpu.h +++ b/arch/arm/plat-omap/include/plat/cpu.h | |||
@@ -105,6 +105,12 @@ static inline int is_omap ##subclass (void) \ | |||
105 | return (GET_OMAP_SUBCLASS == (id)) ? 1 : 0; \ | 105 | return (GET_OMAP_SUBCLASS == (id)) ? 1 : 0; \ |
106 | } | 106 | } |
107 | 107 | ||
108 | #define IS_TI_SUBCLASS(subclass, id) \ | ||
109 | static inline int is_ti ##subclass (void) \ | ||
110 | { \ | ||
111 | return (GET_OMAP_SUBCLASS == (id)) ? 1 : 0; \ | ||
112 | } | ||
113 | |||
108 | IS_OMAP_CLASS(7xx, 0x07) | 114 | IS_OMAP_CLASS(7xx, 0x07) |
109 | IS_OMAP_CLASS(15xx, 0x15) | 115 | IS_OMAP_CLASS(15xx, 0x15) |
110 | IS_OMAP_CLASS(16xx, 0x16) | 116 | IS_OMAP_CLASS(16xx, 0x16) |
@@ -118,6 +124,8 @@ IS_OMAP_SUBCLASS(343x, 0x343) | |||
118 | IS_OMAP_SUBCLASS(363x, 0x363) | 124 | IS_OMAP_SUBCLASS(363x, 0x363) |
119 | IS_OMAP_SUBCLASS(443x, 0x443) | 125 | IS_OMAP_SUBCLASS(443x, 0x443) |
120 | 126 | ||
127 | IS_TI_SUBCLASS(816x, 0x816) | ||
128 | |||
121 | #define cpu_is_omap7xx() 0 | 129 | #define cpu_is_omap7xx() 0 |
122 | #define cpu_is_omap15xx() 0 | 130 | #define cpu_is_omap15xx() 0 |
123 | #define cpu_is_omap16xx() 0 | 131 | #define cpu_is_omap16xx() 0 |
@@ -126,6 +134,7 @@ IS_OMAP_SUBCLASS(443x, 0x443) | |||
126 | #define cpu_is_omap243x() 0 | 134 | #define cpu_is_omap243x() 0 |
127 | #define cpu_is_omap34xx() 0 | 135 | #define cpu_is_omap34xx() 0 |
128 | #define cpu_is_omap343x() 0 | 136 | #define cpu_is_omap343x() 0 |
137 | #define cpu_is_ti816x() 0 | ||
129 | #define cpu_is_omap44xx() 0 | 138 | #define cpu_is_omap44xx() 0 |
130 | #define cpu_is_omap443x() 0 | 139 | #define cpu_is_omap443x() 0 |
131 | 140 | ||
@@ -170,11 +179,11 @@ IS_OMAP_SUBCLASS(443x, 0x443) | |||
170 | # undef cpu_is_omap24xx | 179 | # undef cpu_is_omap24xx |
171 | # define cpu_is_omap24xx() is_omap24xx() | 180 | # define cpu_is_omap24xx() is_omap24xx() |
172 | # endif | 181 | # endif |
173 | # if defined (CONFIG_ARCH_OMAP2420) | 182 | # if defined (CONFIG_SOC_OMAP2420) |
174 | # undef cpu_is_omap242x | 183 | # undef cpu_is_omap242x |
175 | # define cpu_is_omap242x() is_omap242x() | 184 | # define cpu_is_omap242x() is_omap242x() |
176 | # endif | 185 | # endif |
177 | # if defined (CONFIG_ARCH_OMAP2430) | 186 | # if defined (CONFIG_SOC_OMAP2430) |
178 | # undef cpu_is_omap243x | 187 | # undef cpu_is_omap243x |
179 | # define cpu_is_omap243x() is_omap243x() | 188 | # define cpu_is_omap243x() is_omap243x() |
180 | # endif | 189 | # endif |
@@ -189,11 +198,11 @@ IS_OMAP_SUBCLASS(443x, 0x443) | |||
189 | # undef cpu_is_omap24xx | 198 | # undef cpu_is_omap24xx |
190 | # define cpu_is_omap24xx() 1 | 199 | # define cpu_is_omap24xx() 1 |
191 | # endif | 200 | # endif |
192 | # if defined(CONFIG_ARCH_OMAP2420) | 201 | # if defined(CONFIG_SOC_OMAP2420) |
193 | # undef cpu_is_omap242x | 202 | # undef cpu_is_omap242x |
194 | # define cpu_is_omap242x() 1 | 203 | # define cpu_is_omap242x() 1 |
195 | # endif | 204 | # endif |
196 | # if defined(CONFIG_ARCH_OMAP2430) | 205 | # if defined(CONFIG_SOC_OMAP2430) |
197 | # undef cpu_is_omap243x | 206 | # undef cpu_is_omap243x |
198 | # define cpu_is_omap243x() 1 | 207 | # define cpu_is_omap243x() 1 |
199 | # endif | 208 | # endif |
@@ -201,7 +210,7 @@ IS_OMAP_SUBCLASS(443x, 0x443) | |||
201 | # undef cpu_is_omap34xx | 210 | # undef cpu_is_omap34xx |
202 | # define cpu_is_omap34xx() 1 | 211 | # define cpu_is_omap34xx() 1 |
203 | # endif | 212 | # endif |
204 | # if defined(CONFIG_ARCH_OMAP3430) | 213 | # if defined(CONFIG_SOC_OMAP3430) |
205 | # undef cpu_is_omap343x | 214 | # undef cpu_is_omap343x |
206 | # define cpu_is_omap343x() 1 | 215 | # define cpu_is_omap343x() 1 |
207 | # endif | 216 | # endif |
@@ -330,6 +339,7 @@ IS_OMAP_TYPE(3517, 0x3517) | |||
330 | # undef cpu_is_omap3530 | 339 | # undef cpu_is_omap3530 |
331 | # undef cpu_is_omap3505 | 340 | # undef cpu_is_omap3505 |
332 | # undef cpu_is_omap3517 | 341 | # undef cpu_is_omap3517 |
342 | # undef cpu_is_ti816x | ||
333 | # define cpu_is_omap3430() is_omap3430() | 343 | # define cpu_is_omap3430() is_omap3430() |
334 | # define cpu_is_omap3503() (cpu_is_omap3430() && \ | 344 | # define cpu_is_omap3503() (cpu_is_omap3430() && \ |
335 | (!omap3_has_iva()) && \ | 345 | (!omap3_has_iva()) && \ |
@@ -345,6 +355,7 @@ IS_OMAP_TYPE(3517, 0x3517) | |||
345 | # define cpu_is_omap3517() is_omap3517() | 355 | # define cpu_is_omap3517() is_omap3517() |
346 | # undef cpu_is_omap3630 | 356 | # undef cpu_is_omap3630 |
347 | # define cpu_is_omap3630() is_omap363x() | 357 | # define cpu_is_omap3630() is_omap363x() |
358 | # define cpu_is_ti816x() is_ti816x() | ||
348 | #endif | 359 | #endif |
349 | 360 | ||
350 | # if defined(CONFIG_ARCH_OMAP4) | 361 | # if defined(CONFIG_ARCH_OMAP4) |
@@ -389,6 +400,10 @@ IS_OMAP_TYPE(3517, 0x3517) | |||
389 | #define OMAP3505_REV(v) (OMAP35XX_CLASS | (0x3505 << 16) | (v << 8)) | 400 | #define OMAP3505_REV(v) (OMAP35XX_CLASS | (0x3505 << 16) | (v << 8)) |
390 | #define OMAP3517_REV(v) (OMAP35XX_CLASS | (0x3517 << 16) | (v << 8)) | 401 | #define OMAP3517_REV(v) (OMAP35XX_CLASS | (0x3517 << 16) | (v << 8)) |
391 | 402 | ||
403 | #define TI816X_CLASS 0x81600034 | ||
404 | #define TI8168_REV_ES1_0 TI816X_CLASS | ||
405 | #define TI8168_REV_ES1_1 (TI816X_CLASS | (OMAP_REVBITS_01 << 8)) | ||
406 | |||
392 | #define OMAP443X_CLASS 0x44300044 | 407 | #define OMAP443X_CLASS 0x44300044 |
393 | #define OMAP4430_REV_ES1_0 OMAP443X_CLASS | 408 | #define OMAP4430_REV_ES1_0 OMAP443X_CLASS |
394 | #define OMAP4430_REV_ES2_0 0x44301044 | 409 | #define OMAP4430_REV_ES2_0 0x44301044 |
@@ -419,6 +434,7 @@ IS_OMAP_TYPE(3517, 0x3517) | |||
419 | #define CHIP_IS_OMAP3630ES1_1 (1 << 9) | 434 | #define CHIP_IS_OMAP3630ES1_1 (1 << 9) |
420 | #define CHIP_IS_OMAP3630ES1_2 (1 << 10) | 435 | #define CHIP_IS_OMAP3630ES1_2 (1 << 10) |
421 | #define CHIP_IS_OMAP4430ES2 (1 << 11) | 436 | #define CHIP_IS_OMAP4430ES2 (1 << 11) |
437 | #define CHIP_IS_TI816X (1 << 14) | ||
422 | 438 | ||
423 | #define CHIP_IS_OMAP24XX (CHIP_IS_OMAP2420 | CHIP_IS_OMAP2430) | 439 | #define CHIP_IS_OMAP24XX (CHIP_IS_OMAP2420 | CHIP_IS_OMAP2430) |
424 | 440 | ||
@@ -455,6 +471,7 @@ extern u32 omap3_features; | |||
455 | #define OMAP3_HAS_ISP BIT(4) | 471 | #define OMAP3_HAS_ISP BIT(4) |
456 | #define OMAP3_HAS_192MHZ_CLK BIT(5) | 472 | #define OMAP3_HAS_192MHZ_CLK BIT(5) |
457 | #define OMAP3_HAS_IO_WAKEUP BIT(6) | 473 | #define OMAP3_HAS_IO_WAKEUP BIT(6) |
474 | #define OMAP3_HAS_SDRC BIT(7) | ||
458 | 475 | ||
459 | #define OMAP3_HAS_FEATURE(feat,flag) \ | 476 | #define OMAP3_HAS_FEATURE(feat,flag) \ |
460 | static inline unsigned int omap3_has_ ##feat(void) \ | 477 | static inline unsigned int omap3_has_ ##feat(void) \ |
@@ -469,5 +486,6 @@ OMAP3_HAS_FEATURE(neon, NEON) | |||
469 | OMAP3_HAS_FEATURE(isp, ISP) | 486 | OMAP3_HAS_FEATURE(isp, ISP) |
470 | OMAP3_HAS_FEATURE(192mhz_clk, 192MHZ_CLK) | 487 | OMAP3_HAS_FEATURE(192mhz_clk, 192MHZ_CLK) |
471 | OMAP3_HAS_FEATURE(io_wakeup, IO_WAKEUP) | 488 | OMAP3_HAS_FEATURE(io_wakeup, IO_WAKEUP) |
489 | OMAP3_HAS_FEATURE(sdrc, SDRC) | ||
472 | 490 | ||
473 | #endif | 491 | #endif |
diff --git a/arch/arm/plat-omap/include/plat/fpga.h b/arch/arm/plat-omap/include/plat/fpga.h index ae39bcb3f5ba..bd3c6324ae1f 100644 --- a/arch/arm/plat-omap/include/plat/fpga.h +++ b/arch/arm/plat-omap/include/plat/fpga.h | |||
@@ -30,18 +30,18 @@ extern void omap1510_fpga_init_irq(void); | |||
30 | * --------------------------------------------------------------------------- | 30 | * --------------------------------------------------------------------------- |
31 | */ | 31 | */ |
32 | /* maps in the FPGA registers and the ETHR registers */ | 32 | /* maps in the FPGA registers and the ETHR registers */ |
33 | #define H2P2_DBG_FPGA_BASE IOMEM(0xE8000000) /* VA */ | 33 | #define H2P2_DBG_FPGA_BASE 0xE8000000 /* VA */ |
34 | #define H2P2_DBG_FPGA_SIZE SZ_4K /* SIZE */ | 34 | #define H2P2_DBG_FPGA_SIZE SZ_4K /* SIZE */ |
35 | #define H2P2_DBG_FPGA_START 0x04000000 /* PA */ | 35 | #define H2P2_DBG_FPGA_START 0x04000000 /* PA */ |
36 | 36 | ||
37 | #define H2P2_DBG_FPGA_ETHR_START (H2P2_DBG_FPGA_START + 0x300) | 37 | #define H2P2_DBG_FPGA_ETHR_START (H2P2_DBG_FPGA_START + 0x300) |
38 | #define H2P2_DBG_FPGA_FPGA_REV (H2P2_DBG_FPGA_BASE + 0x10) /* FPGA Revision */ | 38 | #define H2P2_DBG_FPGA_FPGA_REV IOMEM(H2P2_DBG_FPGA_BASE + 0x10) /* FPGA Revision */ |
39 | #define H2P2_DBG_FPGA_BOARD_REV (H2P2_DBG_FPGA_BASE + 0x12) /* Board Revision */ | 39 | #define H2P2_DBG_FPGA_BOARD_REV IOMEM(H2P2_DBG_FPGA_BASE + 0x12) /* Board Revision */ |
40 | #define H2P2_DBG_FPGA_GPIO (H2P2_DBG_FPGA_BASE + 0x14) /* GPIO outputs */ | 40 | #define H2P2_DBG_FPGA_GPIO IOMEM(H2P2_DBG_FPGA_BASE + 0x14) /* GPIO outputs */ |
41 | #define H2P2_DBG_FPGA_LEDS (H2P2_DBG_FPGA_BASE + 0x16) /* LEDs outputs */ | 41 | #define H2P2_DBG_FPGA_LEDS IOMEM(H2P2_DBG_FPGA_BASE + 0x16) /* LEDs outputs */ |
42 | #define H2P2_DBG_FPGA_MISC_INPUTS (H2P2_DBG_FPGA_BASE + 0x18) /* Misc inputs */ | 42 | #define H2P2_DBG_FPGA_MISC_INPUTS IOMEM(H2P2_DBG_FPGA_BASE + 0x18) /* Misc inputs */ |
43 | #define H2P2_DBG_FPGA_LAN_STATUS (H2P2_DBG_FPGA_BASE + 0x1A) /* LAN Status line */ | 43 | #define H2P2_DBG_FPGA_LAN_STATUS IOMEM(H2P2_DBG_FPGA_BASE + 0x1A) /* LAN Status line */ |
44 | #define H2P2_DBG_FPGA_LAN_RESET (H2P2_DBG_FPGA_BASE + 0x1C) /* LAN Reset line */ | 44 | #define H2P2_DBG_FPGA_LAN_RESET IOMEM(H2P2_DBG_FPGA_BASE + 0x1C) /* LAN Reset line */ |
45 | 45 | ||
46 | /* NOTE: most boards don't have a static mapping for the FPGA ... */ | 46 | /* NOTE: most boards don't have a static mapping for the FPGA ... */ |
47 | struct h2p2_dbg_fpga { | 47 | struct h2p2_dbg_fpga { |
@@ -81,55 +81,55 @@ struct h2p2_dbg_fpga { | |||
81 | * OMAP-1510 FPGA | 81 | * OMAP-1510 FPGA |
82 | * --------------------------------------------------------------------------- | 82 | * --------------------------------------------------------------------------- |
83 | */ | 83 | */ |
84 | #define OMAP1510_FPGA_BASE IOMEM(0xE8000000) /* VA */ | 84 | #define OMAP1510_FPGA_BASE 0xE8000000 /* VA */ |
85 | #define OMAP1510_FPGA_SIZE SZ_4K | 85 | #define OMAP1510_FPGA_SIZE SZ_4K |
86 | #define OMAP1510_FPGA_START 0x08000000 /* PA */ | 86 | #define OMAP1510_FPGA_START 0x08000000 /* PA */ |
87 | 87 | ||
88 | /* Revision */ | 88 | /* Revision */ |
89 | #define OMAP1510_FPGA_REV_LOW (OMAP1510_FPGA_BASE + 0x0) | 89 | #define OMAP1510_FPGA_REV_LOW IOMEM(OMAP1510_FPGA_BASE + 0x0) |
90 | #define OMAP1510_FPGA_REV_HIGH (OMAP1510_FPGA_BASE + 0x1) | 90 | #define OMAP1510_FPGA_REV_HIGH IOMEM(OMAP1510_FPGA_BASE + 0x1) |
91 | 91 | ||
92 | #define OMAP1510_FPGA_LCD_PANEL_CONTROL (OMAP1510_FPGA_BASE + 0x2) | 92 | #define OMAP1510_FPGA_LCD_PANEL_CONTROL IOMEM(OMAP1510_FPGA_BASE + 0x2) |
93 | #define OMAP1510_FPGA_LED_DIGIT (OMAP1510_FPGA_BASE + 0x3) | 93 | #define OMAP1510_FPGA_LED_DIGIT IOMEM(OMAP1510_FPGA_BASE + 0x3) |
94 | #define INNOVATOR_FPGA_HID_SPI (OMAP1510_FPGA_BASE + 0x4) | 94 | #define INNOVATOR_FPGA_HID_SPI IOMEM(OMAP1510_FPGA_BASE + 0x4) |
95 | #define OMAP1510_FPGA_POWER (OMAP1510_FPGA_BASE + 0x5) | 95 | #define OMAP1510_FPGA_POWER IOMEM(OMAP1510_FPGA_BASE + 0x5) |
96 | 96 | ||
97 | /* Interrupt status */ | 97 | /* Interrupt status */ |
98 | #define OMAP1510_FPGA_ISR_LO (OMAP1510_FPGA_BASE + 0x6) | 98 | #define OMAP1510_FPGA_ISR_LO IOMEM(OMAP1510_FPGA_BASE + 0x6) |
99 | #define OMAP1510_FPGA_ISR_HI (OMAP1510_FPGA_BASE + 0x7) | 99 | #define OMAP1510_FPGA_ISR_HI IOMEM(OMAP1510_FPGA_BASE + 0x7) |
100 | 100 | ||
101 | /* Interrupt mask */ | 101 | /* Interrupt mask */ |
102 | #define OMAP1510_FPGA_IMR_LO (OMAP1510_FPGA_BASE + 0x8) | 102 | #define OMAP1510_FPGA_IMR_LO IOMEM(OMAP1510_FPGA_BASE + 0x8) |
103 | #define OMAP1510_FPGA_IMR_HI (OMAP1510_FPGA_BASE + 0x9) | 103 | #define OMAP1510_FPGA_IMR_HI IOMEM(OMAP1510_FPGA_BASE + 0x9) |
104 | 104 | ||
105 | /* Reset registers */ | 105 | /* Reset registers */ |
106 | #define OMAP1510_FPGA_HOST_RESET (OMAP1510_FPGA_BASE + 0xa) | 106 | #define OMAP1510_FPGA_HOST_RESET IOMEM(OMAP1510_FPGA_BASE + 0xa) |
107 | #define OMAP1510_FPGA_RST (OMAP1510_FPGA_BASE + 0xb) | 107 | #define OMAP1510_FPGA_RST IOMEM(OMAP1510_FPGA_BASE + 0xb) |
108 | 108 | ||
109 | #define OMAP1510_FPGA_AUDIO (OMAP1510_FPGA_BASE + 0xc) | 109 | #define OMAP1510_FPGA_AUDIO IOMEM(OMAP1510_FPGA_BASE + 0xc) |
110 | #define OMAP1510_FPGA_DIP (OMAP1510_FPGA_BASE + 0xe) | 110 | #define OMAP1510_FPGA_DIP IOMEM(OMAP1510_FPGA_BASE + 0xe) |
111 | #define OMAP1510_FPGA_FPGA_IO (OMAP1510_FPGA_BASE + 0xf) | 111 | #define OMAP1510_FPGA_FPGA_IO IOMEM(OMAP1510_FPGA_BASE + 0xf) |
112 | #define OMAP1510_FPGA_UART1 (OMAP1510_FPGA_BASE + 0x14) | 112 | #define OMAP1510_FPGA_UART1 IOMEM(OMAP1510_FPGA_BASE + 0x14) |
113 | #define OMAP1510_FPGA_UART2 (OMAP1510_FPGA_BASE + 0x15) | 113 | #define OMAP1510_FPGA_UART2 IOMEM(OMAP1510_FPGA_BASE + 0x15) |
114 | #define OMAP1510_FPGA_OMAP1510_STATUS (OMAP1510_FPGA_BASE + 0x16) | 114 | #define OMAP1510_FPGA_OMAP1510_STATUS IOMEM(OMAP1510_FPGA_BASE + 0x16) |
115 | #define OMAP1510_FPGA_BOARD_REV (OMAP1510_FPGA_BASE + 0x18) | 115 | #define OMAP1510_FPGA_BOARD_REV IOMEM(OMAP1510_FPGA_BASE + 0x18) |
116 | #define OMAP1510P1_PPT_DATA (OMAP1510_FPGA_BASE + 0x100) | 116 | #define OMAP1510P1_PPT_DATA IOMEM(OMAP1510_FPGA_BASE + 0x100) |
117 | #define OMAP1510P1_PPT_STATUS (OMAP1510_FPGA_BASE + 0x101) | 117 | #define OMAP1510P1_PPT_STATUS IOMEM(OMAP1510_FPGA_BASE + 0x101) |
118 | #define OMAP1510P1_PPT_CONTROL (OMAP1510_FPGA_BASE + 0x102) | 118 | #define OMAP1510P1_PPT_CONTROL IOMEM(OMAP1510_FPGA_BASE + 0x102) |
119 | 119 | ||
120 | #define OMAP1510_FPGA_TOUCHSCREEN (OMAP1510_FPGA_BASE + 0x204) | 120 | #define OMAP1510_FPGA_TOUCHSCREEN IOMEM(OMAP1510_FPGA_BASE + 0x204) |
121 | 121 | ||
122 | #define INNOVATOR_FPGA_INFO (OMAP1510_FPGA_BASE + 0x205) | 122 | #define INNOVATOR_FPGA_INFO IOMEM(OMAP1510_FPGA_BASE + 0x205) |
123 | #define INNOVATOR_FPGA_LCD_BRIGHT_LO (OMAP1510_FPGA_BASE + 0x206) | 123 | #define INNOVATOR_FPGA_LCD_BRIGHT_LO IOMEM(OMAP1510_FPGA_BASE + 0x206) |
124 | #define INNOVATOR_FPGA_LCD_BRIGHT_HI (OMAP1510_FPGA_BASE + 0x207) | 124 | #define INNOVATOR_FPGA_LCD_BRIGHT_HI IOMEM(OMAP1510_FPGA_BASE + 0x207) |
125 | #define INNOVATOR_FPGA_LED_GRN_LO (OMAP1510_FPGA_BASE + 0x208) | 125 | #define INNOVATOR_FPGA_LED_GRN_LO IOMEM(OMAP1510_FPGA_BASE + 0x208) |
126 | #define INNOVATOR_FPGA_LED_GRN_HI (OMAP1510_FPGA_BASE + 0x209) | 126 | #define INNOVATOR_FPGA_LED_GRN_HI IOMEM(OMAP1510_FPGA_BASE + 0x209) |
127 | #define INNOVATOR_FPGA_LED_RED_LO (OMAP1510_FPGA_BASE + 0x20a) | 127 | #define INNOVATOR_FPGA_LED_RED_LO IOMEM(OMAP1510_FPGA_BASE + 0x20a) |
128 | #define INNOVATOR_FPGA_LED_RED_HI (OMAP1510_FPGA_BASE + 0x20b) | 128 | #define INNOVATOR_FPGA_LED_RED_HI IOMEM(OMAP1510_FPGA_BASE + 0x20b) |
129 | #define INNOVATOR_FPGA_CAM_USB_CONTROL (OMAP1510_FPGA_BASE + 0x20c) | 129 | #define INNOVATOR_FPGA_CAM_USB_CONTROL IOMEM(OMAP1510_FPGA_BASE + 0x20c) |
130 | #define INNOVATOR_FPGA_EXP_CONTROL (OMAP1510_FPGA_BASE + 0x20d) | 130 | #define INNOVATOR_FPGA_EXP_CONTROL IOMEM(OMAP1510_FPGA_BASE + 0x20d) |
131 | #define INNOVATOR_FPGA_ISR2 (OMAP1510_FPGA_BASE + 0x20e) | 131 | #define INNOVATOR_FPGA_ISR2 IOMEM(OMAP1510_FPGA_BASE + 0x20e) |
132 | #define INNOVATOR_FPGA_IMR2 (OMAP1510_FPGA_BASE + 0x210) | 132 | #define INNOVATOR_FPGA_IMR2 IOMEM(OMAP1510_FPGA_BASE + 0x210) |
133 | 133 | ||
134 | #define OMAP1510_FPGA_ETHR_START (OMAP1510_FPGA_START + 0x300) | 134 | #define OMAP1510_FPGA_ETHR_START (OMAP1510_FPGA_START + 0x300) |
135 | 135 | ||
diff --git a/arch/arm/plat-omap/include/plat/hardware.h b/arch/arm/plat-omap/include/plat/hardware.h index d5b26adfb890..e87efe1499b8 100644 --- a/arch/arm/plat-omap/include/plat/hardware.h +++ b/arch/arm/plat-omap/include/plat/hardware.h | |||
@@ -286,5 +286,6 @@ | |||
286 | #include <plat/omap24xx.h> | 286 | #include <plat/omap24xx.h> |
287 | #include <plat/omap34xx.h> | 287 | #include <plat/omap34xx.h> |
288 | #include <plat/omap44xx.h> | 288 | #include <plat/omap44xx.h> |
289 | #include <plat/ti816x.h> | ||
289 | 290 | ||
290 | #endif /* __ASM_ARCH_OMAP_HARDWARE_H */ | 291 | #endif /* __ASM_ARCH_OMAP_HARDWARE_H */ |
diff --git a/arch/arm/plat-omap/include/plat/io.h b/arch/arm/plat-omap/include/plat/io.h index ef4106c13183..d72ec85c97e6 100644 --- a/arch/arm/plat-omap/include/plat/io.h +++ b/arch/arm/plat-omap/include/plat/io.h | |||
@@ -259,7 +259,7 @@ struct omap_sdrc_params; | |||
259 | extern void omap1_map_common_io(void); | 259 | extern void omap1_map_common_io(void); |
260 | extern void omap1_init_common_hw(void); | 260 | extern void omap1_init_common_hw(void); |
261 | 261 | ||
262 | #ifdef CONFIG_ARCH_OMAP2420 | 262 | #ifdef CONFIG_SOC_OMAP2420 |
263 | extern void omap242x_map_common_io(void); | 263 | extern void omap242x_map_common_io(void); |
264 | #else | 264 | #else |
265 | static inline void omap242x_map_common_io(void) | 265 | static inline void omap242x_map_common_io(void) |
@@ -267,7 +267,7 @@ static inline void omap242x_map_common_io(void) | |||
267 | } | 267 | } |
268 | #endif | 268 | #endif |
269 | 269 | ||
270 | #ifdef CONFIG_ARCH_OMAP2430 | 270 | #ifdef CONFIG_SOC_OMAP2430 |
271 | extern void omap243x_map_common_io(void); | 271 | extern void omap243x_map_common_io(void); |
272 | #else | 272 | #else |
273 | static inline void omap243x_map_common_io(void) | 273 | static inline void omap243x_map_common_io(void) |
@@ -283,6 +283,14 @@ static inline void omap34xx_map_common_io(void) | |||
283 | } | 283 | } |
284 | #endif | 284 | #endif |
285 | 285 | ||
286 | #ifdef CONFIG_SOC_OMAPTI816X | ||
287 | extern void omapti816x_map_common_io(void); | ||
288 | #else | ||
289 | static inline void omapti816x_map_common_io(void) | ||
290 | { | ||
291 | } | ||
292 | #endif | ||
293 | |||
286 | #ifdef CONFIG_ARCH_OMAP4 | 294 | #ifdef CONFIG_ARCH_OMAP4 |
287 | extern void omap44xx_map_common_io(void); | 295 | extern void omap44xx_map_common_io(void); |
288 | #else | 296 | #else |
diff --git a/arch/arm/plat-omap/include/plat/mcbsp.h b/arch/arm/plat-omap/include/plat/mcbsp.h index b87d83ccd545..6ecf1051e5f4 100644 --- a/arch/arm/plat-omap/include/plat/mcbsp.h +++ b/arch/arm/plat-omap/include/plat/mcbsp.h | |||
@@ -106,13 +106,6 @@ static struct platform_device omap_mcbsp##port_nr = { \ | |||
106 | #define OMAP_MCBSP_REG_XCCR 0x00 | 106 | #define OMAP_MCBSP_REG_XCCR 0x00 |
107 | #define OMAP_MCBSP_REG_RCCR 0x00 | 107 | #define OMAP_MCBSP_REG_RCCR 0x00 |
108 | 108 | ||
109 | #define AUDIO_MCBSP_DATAWRITE (OMAP1510_MCBSP1_BASE + OMAP_MCBSP_REG_DXR1) | ||
110 | #define AUDIO_MCBSP_DATAREAD (OMAP1510_MCBSP1_BASE + OMAP_MCBSP_REG_DRR1) | ||
111 | |||
112 | #define AUDIO_MCBSP OMAP_MCBSP1 | ||
113 | #define AUDIO_DMA_TX OMAP_DMA_MCBSP1_TX | ||
114 | #define AUDIO_DMA_RX OMAP_DMA_MCBSP1_RX | ||
115 | |||
116 | #else | 109 | #else |
117 | 110 | ||
118 | #define OMAP_MCBSP_REG_DRR2 0x00 | 111 | #define OMAP_MCBSP_REG_DRR2 0x00 |
@@ -168,13 +161,6 @@ static struct platform_device omap_mcbsp##port_nr = { \ | |||
168 | #define OMAP_ST_REG_SFIRCR 0x28 | 161 | #define OMAP_ST_REG_SFIRCR 0x28 |
169 | #define OMAP_ST_REG_SSELCR 0x2C | 162 | #define OMAP_ST_REG_SSELCR 0x2C |
170 | 163 | ||
171 | #define AUDIO_MCBSP_DATAWRITE (OMAP24XX_MCBSP2_BASE + OMAP_MCBSP_REG_DXR1) | ||
172 | #define AUDIO_MCBSP_DATAREAD (OMAP24XX_MCBSP2_BASE + OMAP_MCBSP_REG_DRR1) | ||
173 | |||
174 | #define AUDIO_MCBSP OMAP_MCBSP2 | ||
175 | #define AUDIO_DMA_TX OMAP24XX_DMA_MCBSP2_TX | ||
176 | #define AUDIO_DMA_RX OMAP24XX_DMA_MCBSP2_RX | ||
177 | |||
178 | #endif | 164 | #endif |
179 | 165 | ||
180 | /************************** McBSP SPCR1 bit definitions ***********************/ | 166 | /************************** McBSP SPCR1 bit definitions ***********************/ |
diff --git a/arch/arm/plat-omap/include/plat/multi.h b/arch/arm/plat-omap/include/plat/multi.h index ffd909fa5287..999ffba2690c 100644 --- a/arch/arm/plat-omap/include/plat/multi.h +++ b/arch/arm/plat-omap/include/plat/multi.h | |||
@@ -66,7 +66,7 @@ | |||
66 | # error "OMAP1 and OMAP2PLUS can't be selected at the same time" | 66 | # error "OMAP1 and OMAP2PLUS can't be selected at the same time" |
67 | # endif | 67 | # endif |
68 | #endif | 68 | #endif |
69 | #ifdef CONFIG_ARCH_OMAP2420 | 69 | #ifdef CONFIG_SOC_OMAP2420 |
70 | # ifdef OMAP_NAME | 70 | # ifdef OMAP_NAME |
71 | # undef MULTI_OMAP2 | 71 | # undef MULTI_OMAP2 |
72 | # define MULTI_OMAP2 | 72 | # define MULTI_OMAP2 |
@@ -74,7 +74,7 @@ | |||
74 | # define OMAP_NAME omap2420 | 74 | # define OMAP_NAME omap2420 |
75 | # endif | 75 | # endif |
76 | #endif | 76 | #endif |
77 | #ifdef CONFIG_ARCH_OMAP2430 | 77 | #ifdef CONFIG_SOC_OMAP2430 |
78 | # ifdef OMAP_NAME | 78 | # ifdef OMAP_NAME |
79 | # undef MULTI_OMAP2 | 79 | # undef MULTI_OMAP2 |
80 | # define MULTI_OMAP2 | 80 | # define MULTI_OMAP2 |
diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h index 1eee85a8abb3..fedd82971c9e 100644 --- a/arch/arm/plat-omap/include/plat/omap_hwmod.h +++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h | |||
@@ -539,7 +539,6 @@ int omap_hwmod_init(struct omap_hwmod **ohs); | |||
539 | struct omap_hwmod *omap_hwmod_lookup(const char *name); | 539 | struct omap_hwmod *omap_hwmod_lookup(const char *name); |
540 | int omap_hwmod_for_each(int (*fn)(struct omap_hwmod *oh, void *data), | 540 | int omap_hwmod_for_each(int (*fn)(struct omap_hwmod *oh, void *data), |
541 | void *data); | 541 | void *data); |
542 | int omap_hwmod_late_init(void); | ||
543 | 542 | ||
544 | int omap_hwmod_enable(struct omap_hwmod *oh); | 543 | int omap_hwmod_enable(struct omap_hwmod *oh); |
545 | int _omap_hwmod_enable(struct omap_hwmod *oh); | 544 | int _omap_hwmod_enable(struct omap_hwmod *oh); |
diff --git a/arch/arm/plat-omap/include/plat/prcm.h b/arch/arm/plat-omap/include/plat/prcm.h index 2fdf8c80d390..267f43bb2a4e 100644 --- a/arch/arm/plat-omap/include/plat/prcm.h +++ b/arch/arm/plat-omap/include/plat/prcm.h | |||
@@ -28,7 +28,6 @@ | |||
28 | #define __ASM_ARM_ARCH_OMAP_PRCM_H | 28 | #define __ASM_ARM_ARCH_OMAP_PRCM_H |
29 | 29 | ||
30 | u32 omap_prcm_get_reset_sources(void); | 30 | u32 omap_prcm_get_reset_sources(void); |
31 | void omap_prcm_arch_reset(char mode, const char *cmd); | ||
32 | int omap2_cm_wait_idlest(void __iomem *reg, u32 mask, u8 idlest, | 31 | int omap2_cm_wait_idlest(void __iomem *reg, u32 mask, u8 idlest, |
33 | const char *name); | 32 | const char *name); |
34 | 33 | ||
diff --git a/arch/arm/plat-omap/include/plat/serial.h b/arch/arm/plat-omap/include/plat/serial.h index cec5d56db2eb..8061695aa523 100644 --- a/arch/arm/plat-omap/include/plat/serial.h +++ b/arch/arm/plat-omap/include/plat/serial.h | |||
@@ -51,6 +51,11 @@ | |||
51 | #define OMAP4_UART3_BASE 0x48020000 | 51 | #define OMAP4_UART3_BASE 0x48020000 |
52 | #define OMAP4_UART4_BASE 0x4806e000 | 52 | #define OMAP4_UART4_BASE 0x4806e000 |
53 | 53 | ||
54 | /* TI816X serial ports */ | ||
55 | #define TI816X_UART1_BASE 0x48020000 | ||
56 | #define TI816X_UART2_BASE 0x48022000 | ||
57 | #define TI816X_UART3_BASE 0x48024000 | ||
58 | |||
54 | /* External port on Zoom2/3 */ | 59 | /* External port on Zoom2/3 */ |
55 | #define ZOOM_UART_BASE 0x10000000 | 60 | #define ZOOM_UART_BASE 0x10000000 |
56 | #define ZOOM_UART_VIRT 0xfa400000 | 61 | #define ZOOM_UART_VIRT 0xfa400000 |
@@ -81,6 +86,9 @@ | |||
81 | #define OMAP4UART2 OMAP2UART2 | 86 | #define OMAP4UART2 OMAP2UART2 |
82 | #define OMAP4UART3 43 | 87 | #define OMAP4UART3 43 |
83 | #define OMAP4UART4 44 | 88 | #define OMAP4UART4 44 |
89 | #define TI816XUART1 81 | ||
90 | #define TI816XUART2 82 | ||
91 | #define TI816XUART3 83 | ||
84 | #define ZOOM_UART 95 /* Only on zoom2/3 */ | 92 | #define ZOOM_UART 95 /* Only on zoom2/3 */ |
85 | 93 | ||
86 | /* This is only used by 8250.c for omap1510 */ | 94 | /* This is only used by 8250.c for omap1510 */ |
@@ -96,7 +104,6 @@ | |||
96 | 104 | ||
97 | struct omap_board_data; | 105 | struct omap_board_data; |
98 | 106 | ||
99 | extern void __init omap_serial_early_init(void); | ||
100 | extern void omap_serial_init(void); | 107 | extern void omap_serial_init(void); |
101 | extern void omap_serial_init_port(struct omap_board_data *bdata); | 108 | extern void omap_serial_init_port(struct omap_board_data *bdata); |
102 | extern int omap_uart_can_sleep(void); | 109 | extern int omap_uart_can_sleep(void); |
diff --git a/arch/arm/plat-omap/include/plat/system.h b/arch/arm/plat-omap/include/plat/system.h index d0a119f735b4..c5fa9e929009 100644 --- a/arch/arm/plat-omap/include/plat/system.h +++ b/arch/arm/plat-omap/include/plat/system.h | |||
@@ -4,48 +4,14 @@ | |||
4 | */ | 4 | */ |
5 | #ifndef __ASM_ARCH_SYSTEM_H | 5 | #ifndef __ASM_ARCH_SYSTEM_H |
6 | #define __ASM_ARCH_SYSTEM_H | 6 | #define __ASM_ARCH_SYSTEM_H |
7 | #include <linux/clk.h> | ||
8 | 7 | ||
9 | #include <asm/mach-types.h> | 8 | #include <asm/proc-fns.h> |
10 | #include <mach/hardware.h> | ||
11 | |||
12 | #include <plat/prcm.h> | ||
13 | |||
14 | #ifndef CONFIG_MACH_VOICEBLUE | ||
15 | #define voiceblue_reset() do {} while (0) | ||
16 | #else | ||
17 | extern void voiceblue_reset(void); | ||
18 | #endif | ||
19 | 9 | ||
20 | static inline void arch_idle(void) | 10 | static inline void arch_idle(void) |
21 | { | 11 | { |
22 | cpu_do_idle(); | 12 | cpu_do_idle(); |
23 | } | 13 | } |
24 | 14 | ||
25 | static inline void omap1_arch_reset(char mode, const char *cmd) | 15 | extern void (*arch_reset)(char, const char *); |
26 | { | ||
27 | /* | ||
28 | * Workaround for 5912/1611b bug mentioned in sprz209d.pdf p. 28 | ||
29 | * "Global Software Reset Affects Traffic Controller Frequency". | ||
30 | */ | ||
31 | if (cpu_is_omap5912()) { | ||
32 | omap_writew(omap_readw(DPLL_CTL) & ~(1 << 4), | ||
33 | DPLL_CTL); | ||
34 | omap_writew(0x8, ARM_RSTCT1); | ||
35 | } | ||
36 | |||
37 | if (machine_is_voiceblue()) | ||
38 | voiceblue_reset(); | ||
39 | else | ||
40 | omap_writew(1, ARM_RSTCT1); | ||
41 | } | ||
42 | |||
43 | static inline void arch_reset(char mode, const char *cmd) | ||
44 | { | ||
45 | if (!cpu_class_is_omap2()) | ||
46 | omap1_arch_reset(mode, cmd); | ||
47 | else | ||
48 | omap_prcm_arch_reset(mode, cmd); | ||
49 | } | ||
50 | 16 | ||
51 | #endif | 17 | #endif |
diff --git a/arch/arm/plat-omap/include/plat/ti816x.h b/arch/arm/plat-omap/include/plat/ti816x.h new file mode 100644 index 000000000000..50510f5dda1e --- /dev/null +++ b/arch/arm/plat-omap/include/plat/ti816x.h | |||
@@ -0,0 +1,27 @@ | |||
1 | /* | ||
2 | * This file contains the address data for various TI816X modules. | ||
3 | * | ||
4 | * Copyright (C) 2010 Texas Instruments, Inc. - http://www.ti.com/ | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License as | ||
8 | * published by the Free Software Foundation version 2. | ||
9 | * | ||
10 | * This program is distributed "as is" WITHOUT ANY WARRANTY of any | ||
11 | * kind, whether express or implied; without even the implied warranty | ||
12 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | */ | ||
15 | |||
16 | #ifndef __ASM_ARCH_TI816X_H | ||
17 | #define __ASM_ARCH_TI816X_H | ||
18 | |||
19 | #define L4_SLOW_TI816X_BASE 0x48000000 | ||
20 | |||
21 | #define TI816X_SCM_BASE 0x48140000 | ||
22 | #define TI816X_CTRL_BASE TI816X_SCM_BASE | ||
23 | #define TI816X_PRCM_BASE 0x48180000 | ||
24 | |||
25 | #define TI816X_ARM_INTC_BASE 0x48200000 | ||
26 | |||
27 | #endif /* __ASM_ARCH_TI816X_H */ | ||
diff --git a/arch/arm/plat-omap/include/plat/uncompress.h b/arch/arm/plat-omap/include/plat/uncompress.h index ad98b85cae21..30b891c4a93f 100644 --- a/arch/arm/plat-omap/include/plat/uncompress.h +++ b/arch/arm/plat-omap/include/plat/uncompress.h | |||
@@ -93,6 +93,10 @@ static inline void flush(void) | |||
93 | #define DEBUG_LL_ZOOM(mach) \ | 93 | #define DEBUG_LL_ZOOM(mach) \ |
94 | _DEBUG_LL_ENTRY(mach, ZOOM_UART_BASE, ZOOM_PORT_SHIFT, ZOOM_UART) | 94 | _DEBUG_LL_ENTRY(mach, ZOOM_UART_BASE, ZOOM_PORT_SHIFT, ZOOM_UART) |
95 | 95 | ||
96 | #define DEBUG_LL_TI816X(p, mach) \ | ||
97 | _DEBUG_LL_ENTRY(mach, TI816X_UART##p##_BASE, OMAP_PORT_SHIFT, \ | ||
98 | TI816XUART##p) | ||
99 | |||
96 | static inline void __arch_decomp_setup(unsigned long arch_id) | 100 | static inline void __arch_decomp_setup(unsigned long arch_id) |
97 | { | 101 | { |
98 | int port = 0; | 102 | int port = 0; |
@@ -166,6 +170,9 @@ static inline void __arch_decomp_setup(unsigned long arch_id) | |||
166 | DEBUG_LL_ZOOM(omap_zoom2); | 170 | DEBUG_LL_ZOOM(omap_zoom2); |
167 | DEBUG_LL_ZOOM(omap_zoom3); | 171 | DEBUG_LL_ZOOM(omap_zoom3); |
168 | 172 | ||
173 | /* TI8168 base boards using UART3 */ | ||
174 | DEBUG_LL_TI816X(3, ti8168evm); | ||
175 | |||
169 | } while (0); | 176 | } while (0); |
170 | } | 177 | } |
171 | 178 | ||
diff --git a/arch/arm/plat-omap/io.c b/arch/arm/plat-omap/io.c index f1295fafcd31..f1ecfa9fc61d 100644 --- a/arch/arm/plat-omap/io.c +++ b/arch/arm/plat-omap/io.c | |||
@@ -85,7 +85,10 @@ void __iomem *omap_ioremap(unsigned long p, size_t size, unsigned int type) | |||
85 | } | 85 | } |
86 | #endif | 86 | #endif |
87 | #ifdef CONFIG_ARCH_OMAP3 | 87 | #ifdef CONFIG_ARCH_OMAP3 |
88 | if (cpu_is_omap34xx()) { | 88 | if (cpu_is_ti816x()) { |
89 | if (BETWEEN(p, L4_34XX_PHYS, L4_34XX_SIZE)) | ||
90 | return XLATE(p, L4_34XX_PHYS, L4_34XX_VIRT); | ||
91 | } else if (cpu_is_omap34xx()) { | ||
89 | if (BETWEEN(p, L3_34XX_PHYS, L3_34XX_SIZE)) | 92 | if (BETWEEN(p, L3_34XX_PHYS, L3_34XX_SIZE)) |
90 | return XLATE(p, L3_34XX_PHYS, L3_34XX_VIRT); | 93 | return XLATE(p, L3_34XX_PHYS, L3_34XX_VIRT); |
91 | if (BETWEEN(p, L4_34XX_PHYS, L4_34XX_SIZE)) | 94 | if (BETWEEN(p, L4_34XX_PHYS, L4_34XX_SIZE)) |
diff --git a/arch/arm/plat-omap/sram.c b/arch/arm/plat-omap/sram.c index e26e50487d60..aedcb3be4e66 100644 --- a/arch/arm/plat-omap/sram.c +++ b/arch/arm/plat-omap/sram.c | |||
@@ -312,7 +312,7 @@ u32 omap2_set_prcm(u32 dpll_ctrl_val, u32 sdrc_rfr_val, int bypass) | |||
312 | } | 312 | } |
313 | #endif | 313 | #endif |
314 | 314 | ||
315 | #ifdef CONFIG_ARCH_OMAP2420 | 315 | #ifdef CONFIG_SOC_OMAP2420 |
316 | static int __init omap242x_sram_init(void) | 316 | static int __init omap242x_sram_init(void) |
317 | { | 317 | { |
318 | _omap2_sram_ddr_init = omap_sram_push(omap242x_sram_ddr_init, | 318 | _omap2_sram_ddr_init = omap_sram_push(omap242x_sram_ddr_init, |
@@ -333,7 +333,7 @@ static inline int omap242x_sram_init(void) | |||
333 | } | 333 | } |
334 | #endif | 334 | #endif |
335 | 335 | ||
336 | #ifdef CONFIG_ARCH_OMAP2430 | 336 | #ifdef CONFIG_SOC_OMAP2430 |
337 | static int __init omap243x_sram_init(void) | 337 | static int __init omap243x_sram_init(void) |
338 | { | 338 | { |
339 | _omap2_sram_ddr_init = omap_sram_push(omap243x_sram_ddr_init, | 339 | _omap2_sram_ddr_init = omap_sram_push(omap243x_sram_ddr_init, |
diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig index afe8c6fa166a..54f91321749a 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig | |||
@@ -225,7 +225,7 @@ config MMC_OMAP | |||
225 | 225 | ||
226 | config MMC_OMAP_HS | 226 | config MMC_OMAP_HS |
227 | tristate "TI OMAP High Speed Multimedia Card Interface support" | 227 | tristate "TI OMAP High Speed Multimedia Card Interface support" |
228 | depends on ARCH_OMAP2430 || ARCH_OMAP3 || ARCH_OMAP4 | 228 | depends on SOC_OMAP2430 || ARCH_OMAP3 || ARCH_OMAP4 |
229 | help | 229 | help |
230 | This selects the TI OMAP High Speed Multimedia card Interface. | 230 | This selects the TI OMAP High Speed Multimedia card Interface. |
231 | If you have an OMAP2430 or OMAP3 board or OMAP4 board with a | 231 | If you have an OMAP2430 or OMAP3 board or OMAP4 board with a |
diff --git a/drivers/spi/omap2_mcspi.c b/drivers/spi/omap2_mcspi.c index abb1ffbf3d20..f076cc5c6fb0 100644 --- a/drivers/spi/omap2_mcspi.c +++ b/drivers/spi/omap2_mcspi.c | |||
@@ -1111,7 +1111,7 @@ static u8 __initdata spi2_txdma_id[] = { | |||
1111 | OMAP24XX_DMA_SPI2_TX1, | 1111 | OMAP24XX_DMA_SPI2_TX1, |
1112 | }; | 1112 | }; |
1113 | 1113 | ||
1114 | #if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3) \ | 1114 | #if defined(CONFIG_SOC_OMAP2430) || defined(CONFIG_ARCH_OMAP3) \ |
1115 | || defined(CONFIG_ARCH_OMAP4) | 1115 | || defined(CONFIG_ARCH_OMAP4) |
1116 | static u8 __initdata spi3_rxdma_id[] = { | 1116 | static u8 __initdata spi3_rxdma_id[] = { |
1117 | OMAP24XX_DMA_SPI3_RX0, | 1117 | OMAP24XX_DMA_SPI3_RX0, |
@@ -1154,7 +1154,7 @@ static int __init omap2_mcspi_probe(struct platform_device *pdev) | |||
1154 | txdma_id = spi2_txdma_id; | 1154 | txdma_id = spi2_txdma_id; |
1155 | num_chipselect = 2; | 1155 | num_chipselect = 2; |
1156 | break; | 1156 | break; |
1157 | #if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3) \ | 1157 | #if defined(CONFIG_SOC_OMAP2430) || defined(CONFIG_ARCH_OMAP3) \ |
1158 | || defined(CONFIG_ARCH_OMAP4) | 1158 | || defined(CONFIG_ARCH_OMAP4) |
1159 | case 3: | 1159 | case 3: |
1160 | rxdma_id = spi3_rxdma_id; | 1160 | rxdma_id = spi3_rxdma_id; |
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c index 54a8bd1047d6..538fafa05b46 100644 --- a/drivers/usb/musb/musb_core.c +++ b/drivers/usb/musb/musb_core.c | |||
@@ -1530,7 +1530,7 @@ static int __init musb_core_init(u16 musb_type, struct musb *musb) | |||
1530 | 1530 | ||
1531 | /*-------------------------------------------------------------------------*/ | 1531 | /*-------------------------------------------------------------------------*/ |
1532 | 1532 | ||
1533 | #if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3430) || \ | 1533 | #if defined(CONFIG_SOC_OMAP2430) || defined(CONFIG_SOC_OMAP3430) || \ |
1534 | defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_ARCH_U8500) || \ | 1534 | defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_ARCH_U8500) || \ |
1535 | defined(CONFIG_ARCH_U5500) | 1535 | defined(CONFIG_ARCH_U5500) |
1536 | 1536 | ||
diff --git a/drivers/usb/musb/musb_core.h b/drivers/usb/musb/musb_core.h index d74a8113ae74..07075c39a3d5 100644 --- a/drivers/usb/musb/musb_core.h +++ b/drivers/usb/musb/musb_core.h | |||
@@ -212,8 +212,8 @@ enum musb_g_ep0_state { | |||
212 | * directly with the "flat" model, or after setting up an index register. | 212 | * directly with the "flat" model, or after setting up an index register. |
213 | */ | 213 | */ |
214 | 214 | ||
215 | #if defined(CONFIG_ARCH_DAVINCI) || defined(CONFIG_ARCH_OMAP2430) \ | 215 | #if defined(CONFIG_ARCH_DAVINCI) || defined(CONFIG_SOC_OMAP2430) \ |
216 | || defined(CONFIG_ARCH_OMAP3430) || defined(CONFIG_BLACKFIN) \ | 216 | || defined(CONFIG_SOC_OMAP3430) || defined(CONFIG_BLACKFIN) \ |
217 | || defined(CONFIG_ARCH_OMAP4) | 217 | || defined(CONFIG_ARCH_OMAP4) |
218 | /* REVISIT indexed access seemed to | 218 | /* REVISIT indexed access seemed to |
219 | * misbehave (on DaVinci) for at least peripheral IN ... | 219 | * misbehave (on DaVinci) for at least peripheral IN ... |
@@ -358,7 +358,7 @@ struct musb_csr_regs { | |||
358 | 358 | ||
359 | struct musb_context_registers { | 359 | struct musb_context_registers { |
360 | 360 | ||
361 | #if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3) || \ | 361 | #if defined(CONFIG_SOC_OMAP2430) || defined(CONFIG_ARCH_OMAP3) || \ |
362 | defined(CONFIG_ARCH_OMAP4) | 362 | defined(CONFIG_ARCH_OMAP4) |
363 | u32 otg_sysconfig, otg_forcestandby; | 363 | u32 otg_sysconfig, otg_forcestandby; |
364 | #endif | 364 | #endif |
diff --git a/drivers/usb/musb/musbhsdma.h b/drivers/usb/musb/musbhsdma.h index 21056c924c74..320fd4afb93f 100644 --- a/drivers/usb/musb/musbhsdma.h +++ b/drivers/usb/musb/musbhsdma.h | |||
@@ -31,7 +31,7 @@ | |||
31 | * | 31 | * |
32 | */ | 32 | */ |
33 | 33 | ||
34 | #if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3430) | 34 | #if defined(CONFIG_SOC_OMAP2430) || defined(CONFIG_SOC_OMAP3430) |
35 | #include "omap2430.h" | 35 | #include "omap2430.h" |
36 | #endif | 36 | #endif |
37 | 37 | ||
diff --git a/drivers/usb/otg/isp1301_omap.c b/drivers/usb/otg/isp1301_omap.c index e00fa1b22ecd..8c6fdef61d1c 100644 --- a/drivers/usb/otg/isp1301_omap.c +++ b/drivers/usb/otg/isp1301_omap.c | |||
@@ -1510,7 +1510,7 @@ isp1301_start_hnp(struct otg_transceiver *dev) | |||
1510 | 1510 | ||
1511 | /*-------------------------------------------------------------------------*/ | 1511 | /*-------------------------------------------------------------------------*/ |
1512 | 1512 | ||
1513 | static int __init | 1513 | static int __devinit |
1514 | isp1301_probe(struct i2c_client *i2c, const struct i2c_device_id *id) | 1514 | isp1301_probe(struct i2c_client *i2c, const struct i2c_device_id *id) |
1515 | { | 1515 | { |
1516 | int status; | 1516 | int status; |
diff --git a/drivers/w1/masters/Kconfig b/drivers/w1/masters/Kconfig index 80b3b123dd7f..7c608c5ccf84 100644 --- a/drivers/w1/masters/Kconfig +++ b/drivers/w1/masters/Kconfig | |||
@@ -60,7 +60,7 @@ config W1_MASTER_GPIO | |||
60 | 60 | ||
61 | config HDQ_MASTER_OMAP | 61 | config HDQ_MASTER_OMAP |
62 | tristate "OMAP HDQ driver" | 62 | tristate "OMAP HDQ driver" |
63 | depends on ARCH_OMAP2430 || ARCH_OMAP3 | 63 | depends on SOC_OMAP2430 || ARCH_OMAP3 |
64 | help | 64 | help |
65 | Say Y here if you want support for the 1-wire or HDQ Interface | 65 | Say Y here if you want support for the 1-wire or HDQ Interface |
66 | on an OMAP processor. | 66 | on an OMAP processor. |
diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c index d203f4da18a0..ede6afde7d2f 100644 --- a/sound/soc/omap/omap-mcbsp.c +++ b/sound/soc/omap/omap-mcbsp.c | |||
@@ -92,7 +92,7 @@ static const unsigned long omap1_mcbsp_port[][2] = {}; | |||
92 | static const int omap24xx_dma_reqs[][2] = { | 92 | static const int omap24xx_dma_reqs[][2] = { |
93 | { OMAP24XX_DMA_MCBSP1_TX, OMAP24XX_DMA_MCBSP1_RX }, | 93 | { OMAP24XX_DMA_MCBSP1_TX, OMAP24XX_DMA_MCBSP1_RX }, |
94 | { OMAP24XX_DMA_MCBSP2_TX, OMAP24XX_DMA_MCBSP2_RX }, | 94 | { OMAP24XX_DMA_MCBSP2_TX, OMAP24XX_DMA_MCBSP2_RX }, |
95 | #if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3) | 95 | #if defined(CONFIG_SOC_OMAP2430) || defined(CONFIG_ARCH_OMAP3) |
96 | { OMAP24XX_DMA_MCBSP3_TX, OMAP24XX_DMA_MCBSP3_RX }, | 96 | { OMAP24XX_DMA_MCBSP3_TX, OMAP24XX_DMA_MCBSP3_RX }, |
97 | { OMAP24XX_DMA_MCBSP4_TX, OMAP24XX_DMA_MCBSP4_RX }, | 97 | { OMAP24XX_DMA_MCBSP4_TX, OMAP24XX_DMA_MCBSP4_RX }, |
98 | { OMAP24XX_DMA_MCBSP5_TX, OMAP24XX_DMA_MCBSP5_RX }, | 98 | { OMAP24XX_DMA_MCBSP5_TX, OMAP24XX_DMA_MCBSP5_RX }, |
@@ -113,7 +113,7 @@ static const int omap44xx_dma_reqs[][2] = { | |||
113 | static const int omap44xx_dma_reqs[][2] = {}; | 113 | static const int omap44xx_dma_reqs[][2] = {}; |
114 | #endif | 114 | #endif |
115 | 115 | ||
116 | #if defined(CONFIG_ARCH_OMAP2420) | 116 | #if defined(CONFIG_SOC_OMAP2420) |
117 | static const unsigned long omap2420_mcbsp_port[][2] = { | 117 | static const unsigned long omap2420_mcbsp_port[][2] = { |
118 | { OMAP24XX_MCBSP1_BASE + OMAP_MCBSP_REG_DXR1, | 118 | { OMAP24XX_MCBSP1_BASE + OMAP_MCBSP_REG_DXR1, |
119 | OMAP24XX_MCBSP1_BASE + OMAP_MCBSP_REG_DRR1 }, | 119 | OMAP24XX_MCBSP1_BASE + OMAP_MCBSP_REG_DRR1 }, |
@@ -124,7 +124,7 @@ static const unsigned long omap2420_mcbsp_port[][2] = { | |||
124 | static const unsigned long omap2420_mcbsp_port[][2] = {}; | 124 | static const unsigned long omap2420_mcbsp_port[][2] = {}; |
125 | #endif | 125 | #endif |
126 | 126 | ||
127 | #if defined(CONFIG_ARCH_OMAP2430) | 127 | #if defined(CONFIG_SOC_OMAP2430) |
128 | static const unsigned long omap2430_mcbsp_port[][2] = { | 128 | static const unsigned long omap2430_mcbsp_port[][2] = { |
129 | { OMAP24XX_MCBSP1_BASE + OMAP_MCBSP_REG_DXR, | 129 | { OMAP24XX_MCBSP1_BASE + OMAP_MCBSP_REG_DXR, |
130 | OMAP24XX_MCBSP1_BASE + OMAP_MCBSP_REG_DRR }, | 130 | OMAP24XX_MCBSP1_BASE + OMAP_MCBSP_REG_DRR }, |
diff --git a/sound/soc/omap/omap-mcbsp.h b/sound/soc/omap/omap-mcbsp.h index 110c106611d3..37dc7211ed3f 100644 --- a/sound/soc/omap/omap-mcbsp.h +++ b/sound/soc/omap/omap-mcbsp.h | |||
@@ -43,7 +43,7 @@ enum omap_mcbsp_div { | |||
43 | OMAP_MCBSP_CLKGDV, /* Sample rate generator divider */ | 43 | OMAP_MCBSP_CLKGDV, /* Sample rate generator divider */ |
44 | }; | 44 | }; |
45 | 45 | ||
46 | #if defined(CONFIG_ARCH_OMAP2420) | 46 | #if defined(CONFIG_SOC_OMAP2420) |
47 | #define NUM_LINKS 2 | 47 | #define NUM_LINKS 2 |
48 | #endif | 48 | #endif |
49 | #if defined(CONFIG_ARCH_OMAP15XX) || defined(CONFIG_ARCH_OMAP16XX) | 49 | #if defined(CONFIG_ARCH_OMAP15XX) || defined(CONFIG_ARCH_OMAP16XX) |
@@ -54,7 +54,7 @@ enum omap_mcbsp_div { | |||
54 | #undef NUM_LINKS | 54 | #undef NUM_LINKS |
55 | #define NUM_LINKS 4 | 55 | #define NUM_LINKS 4 |
56 | #endif | 56 | #endif |
57 | #if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3) | 57 | #if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_SOC_OMAP2430) |
58 | #undef NUM_LINKS | 58 | #undef NUM_LINKS |
59 | #define NUM_LINKS 5 | 59 | #define NUM_LINKS 5 |
60 | #endif | 60 | #endif |