]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/arm/mach-omap2/board-omap3beagle.c
Merge tag 'cleanup-initcall' of git://git.kernel.org/pub/scm/linux/kernel/git/arm...
[karo-tx-linux.git] / arch / arm / mach-omap2 / board-omap3beagle.c
index 8ede8d20d7b2fdfdca378afa75c5ba9ef112db93..79c6909eeb785ef24d71be68f076034c0cd476df 100644 (file)
@@ -83,11 +83,13 @@ static struct {
        int usb_pwr_level;
        int reset_gpio;
        int usr_button_gpio;
+       int mmc_caps;
 } beagle_config = {
        .mmc1_gpio_wp = -EINVAL,
        .usb_pwr_level = GPIOF_OUT_INIT_LOW,
        .reset_gpio = 129,
        .usr_button_gpio = 4,
+       .mmc_caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
 };
 
 static struct gpio omap3_beagle_rev_gpios[] __initdata = {
@@ -145,10 +147,12 @@ static void __init omap3_beagle_init_rev(void)
                printk(KERN_INFO "OMAP3 Beagle Rev: xM Ax/Bx\n");
                omap3_beagle_version = OMAP3BEAGLE_BOARD_XM;
                beagle_config.usb_pwr_level = GPIOF_OUT_INIT_HIGH;
+               beagle_config.mmc_caps &= ~MMC_CAP_8_BIT_DATA;
                break;
        case 2:
                printk(KERN_INFO "OMAP3 Beagle Rev: xM C\n");
                omap3_beagle_version = OMAP3BEAGLE_BOARD_XMC;
+               beagle_config.mmc_caps &= ~MMC_CAP_8_BIT_DATA;
                break;
        default:
                printk(KERN_INFO "OMAP3 Beagle Rev: unknown %hd\n", beagle_rev);
@@ -225,7 +229,7 @@ static struct omap_dss_board_info beagle_dss_data = {
 static struct omap2_hsmmc_info mmc[] = {
        {
                .mmc            = 1,
-               .caps           = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
+               .caps           = MMC_CAP_4_BIT_DATA,
                .gpio_wp        = -EINVAL,
                .deferred       = true,
        },
@@ -497,6 +501,7 @@ static void __init omap3_beagle_init(void)
 
        if (beagle_config.mmc1_gpio_wp != -EINVAL)
                omap_mux_init_gpio(beagle_config.mmc1_gpio_wp, OMAP_PIN_INPUT);
+       mmc[0].caps = beagle_config.mmc_caps;
        omap_hsmmc_init(mmc);
 
        omap3_beagle_i2c_init();
@@ -538,6 +543,7 @@ MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
        .init_irq       = omap3_init_irq,
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = omap3_beagle_init,
+       .init_late      = omap3_init_late,
        .timer          = &omap3_secure_timer,
        .restart        = omap_prcm_restart,
 MACHINE_END