diff options
Diffstat (limited to 'arch/arm/mach-omap1/board-perseus2.c')
-rw-r--r-- | arch/arm/mach-omap1/board-perseus2.c | 75 |
1 files changed, 36 insertions, 39 deletions
diff --git a/arch/arm/mach-omap1/board-perseus2.c b/arch/arm/mach-omap1/board-perseus2.c index 67acd4142639..6ed649b8b8d3 100644 --- a/arch/arm/mach-omap1/board-perseus2.c +++ b/arch/arm/mach-omap1/board-perseus2.c | |||
@@ -265,6 +265,39 @@ static void __init perseus2_init_smc91x(void) | |||
265 | 265 | ||
266 | static void __init omap_perseus2_init(void) | 266 | static void __init omap_perseus2_init(void) |
267 | { | 267 | { |
268 | /* Early, board-dependent init */ | ||
269 | |||
270 | /* | ||
271 | * Hold GSM Reset until needed | ||
272 | */ | ||
273 | omap_writew(omap_readw(OMAP7XX_DSP_M_CTL) & ~1, OMAP7XX_DSP_M_CTL); | ||
274 | |||
275 | /* | ||
276 | * UARTs -> done automagically by 8250 driver | ||
277 | */ | ||
278 | |||
279 | /* | ||
280 | * CSx timings, GPIO Mux ... setup | ||
281 | */ | ||
282 | |||
283 | /* Flash: CS0 timings setup */ | ||
284 | omap_writel(0x0000fff3, OMAP7XX_FLASH_CFG_0); | ||
285 | omap_writel(0x00000088, OMAP7XX_FLASH_ACFG_0); | ||
286 | |||
287 | /* | ||
288 | * Ethernet support through the debug board | ||
289 | * CS1 timings setup | ||
290 | */ | ||
291 | omap_writel(0x0000fff3, OMAP7XX_FLASH_CFG_1); | ||
292 | omap_writel(0x00000000, OMAP7XX_FLASH_ACFG_1); | ||
293 | |||
294 | /* | ||
295 | * Configure MPU_EXT_NIRQ IO in IO_CONF9 register, | ||
296 | * It is used as the Ethernet controller interrupt | ||
297 | */ | ||
298 | omap_writel(omap_readl(OMAP7XX_IO_CONF_9) & 0x1FFFFFFF, | ||
299 | OMAP7XX_IO_CONF_9); | ||
300 | |||
268 | perseus2_init_smc91x(); | 301 | perseus2_init_smc91x(); |
269 | 302 | ||
270 | if (gpio_request(P2_NAND_RB_GPIO_PIN, "NAND ready") < 0) | 303 | if (gpio_request(P2_NAND_RB_GPIO_PIN, "NAND ready") < 0) |
@@ -294,11 +327,6 @@ static void __init omap_perseus2_init(void) | |||
294 | omap_register_i2c_bus(1, 100, NULL, 0); | 327 | omap_register_i2c_bus(1, 100, NULL, 0); |
295 | } | 328 | } |
296 | 329 | ||
297 | static void __init omap_perseus2_init_irq(void) | ||
298 | { | ||
299 | omap1_init_common_hw(); | ||
300 | omap1_init_irq(); | ||
301 | } | ||
302 | /* Only FPGA needs to be mapped here. All others are done with ioremap */ | 330 | /* Only FPGA needs to be mapped here. All others are done with ioremap */ |
303 | static struct map_desc omap_perseus2_io_desc[] __initdata = { | 331 | static struct map_desc omap_perseus2_io_desc[] __initdata = { |
304 | { | 332 | { |
@@ -311,49 +339,18 @@ static struct map_desc omap_perseus2_io_desc[] __initdata = { | |||
311 | 339 | ||
312 | static void __init omap_perseus2_map_io(void) | 340 | static void __init omap_perseus2_map_io(void) |
313 | { | 341 | { |
314 | omap1_map_common_io(); | 342 | omap7xx_map_io(); |
315 | iotable_init(omap_perseus2_io_desc, | 343 | iotable_init(omap_perseus2_io_desc, |
316 | ARRAY_SIZE(omap_perseus2_io_desc)); | 344 | ARRAY_SIZE(omap_perseus2_io_desc)); |
317 | |||
318 | /* Early, board-dependent init */ | ||
319 | |||
320 | /* | ||
321 | * Hold GSM Reset until needed | ||
322 | */ | ||
323 | omap_writew(omap_readw(OMAP7XX_DSP_M_CTL) & ~1, OMAP7XX_DSP_M_CTL); | ||
324 | |||
325 | /* | ||
326 | * UARTs -> done automagically by 8250 driver | ||
327 | */ | ||
328 | |||
329 | /* | ||
330 | * CSx timings, GPIO Mux ... setup | ||
331 | */ | ||
332 | |||
333 | /* Flash: CS0 timings setup */ | ||
334 | omap_writel(0x0000fff3, OMAP7XX_FLASH_CFG_0); | ||
335 | omap_writel(0x00000088, OMAP7XX_FLASH_ACFG_0); | ||
336 | |||
337 | /* | ||
338 | * Ethernet support through the debug board | ||
339 | * CS1 timings setup | ||
340 | */ | ||
341 | omap_writel(0x0000fff3, OMAP7XX_FLASH_CFG_1); | ||
342 | omap_writel(0x00000000, OMAP7XX_FLASH_ACFG_1); | ||
343 | |||
344 | /* | ||
345 | * Configure MPU_EXT_NIRQ IO in IO_CONF9 register, | ||
346 | * It is used as the Ethernet controller interrupt | ||
347 | */ | ||
348 | omap_writel(omap_readl(OMAP7XX_IO_CONF_9) & 0x1FFFFFFF, OMAP7XX_IO_CONF_9); | ||
349 | } | 345 | } |
350 | 346 | ||
351 | MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2") | 347 | MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2") |
352 | /* Maintainer: Kevin Hilman <kjh@hilman.org> */ | 348 | /* Maintainer: Kevin Hilman <kjh@hilman.org> */ |
353 | .boot_params = 0x10000100, | 349 | .boot_params = 0x10000100, |
354 | .map_io = omap_perseus2_map_io, | 350 | .map_io = omap_perseus2_map_io, |
351 | .init_early = omap1_init_early, | ||
355 | .reserve = omap_reserve, | 352 | .reserve = omap_reserve, |
356 | .init_irq = omap_perseus2_init_irq, | 353 | .init_irq = omap1_init_irq, |
357 | .init_machine = omap_perseus2_init, | 354 | .init_machine = omap_perseus2_init, |
358 | .timer = &omap1_timer, | 355 | .timer = &omap1_timer, |
359 | MACHINE_END | 356 | MACHINE_END |