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