diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-omap3evm.c')
-rw-r--r-- | arch/arm/mach-omap2/board-omap3evm.c | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c index 003fe34c9343..6b77ad95981d 100644 --- a/arch/arm/mach-omap2/board-omap3evm.c +++ b/arch/arm/mach-omap2/board-omap3evm.c | |||
@@ -317,6 +317,7 @@ static struct omap2_hsmmc_info mmc[] = { | |||
317 | .caps = MMC_CAP_4_BIT_DATA, | 317 | .caps = MMC_CAP_4_BIT_DATA, |
318 | .gpio_cd = -EINVAL, | 318 | .gpio_cd = -EINVAL, |
319 | .gpio_wp = 63, | 319 | .gpio_wp = 63, |
320 | .deferred = true, | ||
320 | }, | 321 | }, |
321 | #ifdef CONFIG_WL12XX_PLATFORM_DATA | 322 | #ifdef CONFIG_WL12XX_PLATFORM_DATA |
322 | { | 323 | { |
@@ -361,9 +362,8 @@ static int omap3evm_twl_gpio_setup(struct device *dev, | |||
361 | int r, lcd_bl_en; | 362 | int r, lcd_bl_en; |
362 | 363 | ||
363 | /* gpio + 0 is "mmc0_cd" (input/IRQ) */ | 364 | /* gpio + 0 is "mmc0_cd" (input/IRQ) */ |
364 | omap_mux_init_gpio(63, OMAP_PIN_INPUT); | ||
365 | mmc[0].gpio_cd = gpio + 0; | 365 | mmc[0].gpio_cd = gpio + 0; |
366 | omap2_hsmmc_init(mmc); | 366 | omap_hsmmc_late_init(mmc); |
367 | 367 | ||
368 | /* | 368 | /* |
369 | * Most GPIOs are for USB OTG. Some are mostly sent to | 369 | * Most GPIOs are for USB OTG. Some are mostly sent to |
@@ -617,6 +617,21 @@ static struct gpio omap3_evm_ehci_gpios[] __initdata = { | |||
617 | { OMAP3_EVM_EHCI_SELECT, GPIOF_OUT_INIT_LOW, "select EHCI port" }, | 617 | { OMAP3_EVM_EHCI_SELECT, GPIOF_OUT_INIT_LOW, "select EHCI port" }, |
618 | }; | 618 | }; |
619 | 619 | ||
620 | static void __init omap3_evm_wl12xx_init(void) | ||
621 | { | ||
622 | #ifdef CONFIG_WL12XX_PLATFORM_DATA | ||
623 | int ret; | ||
624 | |||
625 | /* WL12xx WLAN Init */ | ||
626 | ret = wl12xx_set_platform_data(&omap3evm_wlan_data); | ||
627 | if (ret) | ||
628 | pr_err("error setting wl12xx data: %d\n", ret); | ||
629 | ret = platform_device_register(&omap3evm_wlan_regulator); | ||
630 | if (ret) | ||
631 | pr_err("error registering wl12xx device: %d\n", ret); | ||
632 | #endif | ||
633 | } | ||
634 | |||
620 | static void __init omap3_evm_init(void) | 635 | static void __init omap3_evm_init(void) |
621 | { | 636 | { |
622 | omap3_evm_get_revision(); | 637 | omap3_evm_get_revision(); |
@@ -629,6 +644,9 @@ static void __init omap3_evm_init(void) | |||
629 | omap_board_config = omap3_evm_config; | 644 | omap_board_config = omap3_evm_config; |
630 | omap_board_config_size = ARRAY_SIZE(omap3_evm_config); | 645 | omap_board_config_size = ARRAY_SIZE(omap3_evm_config); |
631 | 646 | ||
647 | omap_mux_init_gpio(63, OMAP_PIN_INPUT); | ||
648 | omap_hsmmc_init(mmc); | ||
649 | |||
632 | omap3_evm_i2c_init(); | 650 | omap3_evm_i2c_init(); |
633 | 651 | ||
634 | omap_display_init(&omap3_evm_dss_data); | 652 | omap_display_init(&omap3_evm_dss_data); |
@@ -665,13 +683,7 @@ static void __init omap3_evm_init(void) | |||
665 | omap_ads7846_init(1, OMAP3_EVM_TS_GPIO, 310, NULL); | 683 | omap_ads7846_init(1, OMAP3_EVM_TS_GPIO, 310, NULL); |
666 | omap3evm_init_smsc911x(); | 684 | omap3evm_init_smsc911x(); |
667 | omap3_evm_display_init(); | 685 | omap3_evm_display_init(); |
668 | 686 | omap3_evm_wl12xx_init(); | |
669 | #ifdef CONFIG_WL12XX_PLATFORM_DATA | ||
670 | /* WL12xx WLAN Init */ | ||
671 | if (wl12xx_set_platform_data(&omap3evm_wlan_data)) | ||
672 | pr_err("error setting wl12xx data\n"); | ||
673 | platform_device_register(&omap3evm_wlan_regulator); | ||
674 | #endif | ||
675 | } | 687 | } |
676 | 688 | ||
677 | MACHINE_START(OMAP3EVM, "OMAP3 EVM") | 689 | MACHINE_START(OMAP3EVM, "OMAP3 EVM") |