diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-am3517evm.c')
-rw-r--r-- | arch/arm/mach-omap2/board-am3517evm.c | 42 |
1 files changed, 31 insertions, 11 deletions
diff --git a/arch/arm/mach-omap2/board-am3517evm.c b/arch/arm/mach-omap2/board-am3517evm.c index f3006c304150..4b1cfe32e6ba 100644 --- a/arch/arm/mach-omap2/board-am3517evm.c +++ b/arch/arm/mach-omap2/board-am3517evm.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <linux/i2c/pca953x.h> | 24 | #include <linux/i2c/pca953x.h> |
25 | #include <linux/can/platform/ti_hecc.h> | 25 | #include <linux/can/platform/ti_hecc.h> |
26 | #include <linux/davinci_emac.h> | 26 | #include <linux/davinci_emac.h> |
27 | #include <linux/mmc/host.h> | ||
27 | 28 | ||
28 | #include <mach/hardware.h> | 29 | #include <mach/hardware.h> |
29 | #include <mach/am35xx.h> | 30 | #include <mach/am35xx.h> |
@@ -32,13 +33,15 @@ | |||
32 | #include <asm/mach/map.h> | 33 | #include <asm/mach/map.h> |
33 | 34 | ||
34 | #include <plat/board.h> | 35 | #include <plat/board.h> |
35 | #include <plat/common.h> | 36 | #include "common.h" |
36 | #include <plat/usb.h> | 37 | #include <plat/usb.h> |
37 | #include <video/omapdss.h> | 38 | #include <video/omapdss.h> |
38 | #include <video/omap-panel-generic-dpi.h> | 39 | #include <video/omap-panel-generic-dpi.h> |
40 | #include <video/omap-panel-dvi.h> | ||
39 | 41 | ||
40 | #include "mux.h" | 42 | #include "mux.h" |
41 | #include "control.h" | 43 | #include "control.h" |
44 | #include "hsmmc.h" | ||
42 | 45 | ||
43 | #define AM35XX_EVM_MDIO_FREQUENCY (1000000) | 46 | #define AM35XX_EVM_MDIO_FREQUENCY (1000000) |
44 | 47 | ||
@@ -333,8 +336,7 @@ static void am3517_evm_panel_disable_dvi(struct omap_dss_device *dssdev) | |||
333 | dvi_enabled = 0; | 336 | dvi_enabled = 0; |
334 | } | 337 | } |
335 | 338 | ||
336 | static struct panel_generic_dpi_data dvi_panel = { | 339 | static struct panel_dvi_platform_data dvi_panel = { |
337 | .name = "generic", | ||
338 | .platform_enable = am3517_evm_panel_enable_dvi, | 340 | .platform_enable = am3517_evm_panel_enable_dvi, |
339 | .platform_disable = am3517_evm_panel_disable_dvi, | 341 | .platform_disable = am3517_evm_panel_disable_dvi, |
340 | }; | 342 | }; |
@@ -342,7 +344,7 @@ static struct panel_generic_dpi_data dvi_panel = { | |||
342 | static struct omap_dss_device am3517_evm_dvi_device = { | 344 | static struct omap_dss_device am3517_evm_dvi_device = { |
343 | .type = OMAP_DISPLAY_TYPE_DPI, | 345 | .type = OMAP_DISPLAY_TYPE_DPI, |
344 | .name = "dvi", | 346 | .name = "dvi", |
345 | .driver_name = "generic_dpi_panel", | 347 | .driver_name = "dvi", |
346 | .data = &dvi_panel, | 348 | .data = &dvi_panel, |
347 | .phy.dpi.data_lines = 24, | 349 | .phy.dpi.data_lines = 24, |
348 | }; | 350 | }; |
@@ -362,11 +364,6 @@ static struct omap_dss_board_info am3517_evm_dss_data = { | |||
362 | /* | 364 | /* |
363 | * Board initialization | 365 | * Board initialization |
364 | */ | 366 | */ |
365 | static void __init am3517_evm_init_early(void) | ||
366 | { | ||
367 | omap2_init_common_infrastructure(); | ||
368 | omap2_init_common_devices(NULL, NULL); | ||
369 | } | ||
370 | 367 | ||
371 | static struct omap_musb_board_data musb_board_data = { | 368 | static struct omap_musb_board_data musb_board_data = { |
372 | .interface_type = MUSB_INTERFACE_ULPI, | 369 | .interface_type = MUSB_INTERFACE_ULPI, |
@@ -460,6 +457,23 @@ static void am3517_evm_hecc_init(struct ti_hecc_platform_data *pdata) | |||
460 | static struct omap_board_config_kernel am3517_evm_config[] __initdata = { | 457 | static struct omap_board_config_kernel am3517_evm_config[] __initdata = { |
461 | }; | 458 | }; |
462 | 459 | ||
460 | static struct omap2_hsmmc_info mmc[] = { | ||
461 | { | ||
462 | .mmc = 1, | ||
463 | .caps = MMC_CAP_4_BIT_DATA, | ||
464 | .gpio_cd = 127, | ||
465 | .gpio_wp = 126, | ||
466 | }, | ||
467 | { | ||
468 | .mmc = 2, | ||
469 | .caps = MMC_CAP_4_BIT_DATA, | ||
470 | .gpio_cd = 128, | ||
471 | .gpio_wp = 129, | ||
472 | }, | ||
473 | {} /* Terminator */ | ||
474 | }; | ||
475 | |||
476 | |||
463 | static void __init am3517_evm_init(void) | 477 | static void __init am3517_evm_init(void) |
464 | { | 478 | { |
465 | omap_board_config = am3517_evm_config; | 479 | omap_board_config = am3517_evm_config; |
@@ -469,6 +483,7 @@ static void __init am3517_evm_init(void) | |||
469 | am3517_evm_i2c_init(); | 483 | am3517_evm_i2c_init(); |
470 | omap_display_init(&am3517_evm_dss_data); | 484 | omap_display_init(&am3517_evm_dss_data); |
471 | omap_serial_init(); | 485 | omap_serial_init(); |
486 | omap_sdrc_init(NULL, NULL); | ||
472 | 487 | ||
473 | /* Configure GPIO for EHCI port */ | 488 | /* Configure GPIO for EHCI port */ |
474 | omap_mux_init_gpio(57, OMAP_PIN_OUTPUT); | 489 | omap_mux_init_gpio(57, OMAP_PIN_OUTPUT); |
@@ -487,14 +502,19 @@ static void __init am3517_evm_init(void) | |||
487 | 502 | ||
488 | /* MUSB */ | 503 | /* MUSB */ |
489 | am3517_evm_musb_init(); | 504 | am3517_evm_musb_init(); |
505 | |||
506 | /* MMC init function */ | ||
507 | omap2_hsmmc_init(mmc); | ||
490 | } | 508 | } |
491 | 509 | ||
492 | MACHINE_START(OMAP3517EVM, "OMAP3517/AM3517 EVM") | 510 | MACHINE_START(OMAP3517EVM, "OMAP3517/AM3517 EVM") |
493 | .boot_params = 0x80000100, | 511 | .atag_offset = 0x100, |
494 | .reserve = omap_reserve, | 512 | .reserve = omap_reserve, |
495 | .map_io = omap3_map_io, | 513 | .map_io = omap3_map_io, |
496 | .init_early = am3517_evm_init_early, | 514 | .init_early = am35xx_init_early, |
497 | .init_irq = omap3_init_irq, | 515 | .init_irq = omap3_init_irq, |
516 | .handle_irq = omap3_intc_handle_irq, | ||
498 | .init_machine = am3517_evm_init, | 517 | .init_machine = am3517_evm_init, |
499 | .timer = &omap3_timer, | 518 | .timer = &omap3_timer, |
519 | .restart = omap_prcm_restart, | ||
500 | MACHINE_END | 520 | MACHINE_END |