aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap2/board-am3517evm.c')
-rw-r--r--arch/arm/mach-omap2/board-am3517evm.c42
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
336static struct panel_generic_dpi_data dvi_panel = { 339static 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 = {
342static struct omap_dss_device am3517_evm_dvi_device = { 344static 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 */
365static void __init am3517_evm_init_early(void)
366{
367 omap2_init_common_infrastructure();
368 omap2_init_common_devices(NULL, NULL);
369}
370 367
371static struct omap_musb_board_data musb_board_data = { 368static 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)
460static struct omap_board_config_kernel am3517_evm_config[] __initdata = { 457static struct omap_board_config_kernel am3517_evm_config[] __initdata = {
461}; 458};
462 459
460static 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
463static void __init am3517_evm_init(void) 477static 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
492MACHINE_START(OMAP3517EVM, "OMAP3517/AM3517 EVM") 510MACHINE_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,
500MACHINE_END 520MACHINE_END