Beispiel #1
0
int __init vision_init_mmc(unsigned int sys_rev)
{
	uint32_t id;
	wifi_status_cb = NULL;
	/*sdslot_vreg_enabled = 0;*/

	printk(KERN_INFO "vision: %s\n", __func__);
	/* SDC2: MoviNAND */
	/*
	register_msm_irq_mask(INT_SDC2_0);
	register_msm_irq_mask(INT_SDC2_1);
	*/
	config_gpio_table(movinand_on_gpio_table,
			  ARRAY_SIZE(movinand_on_gpio_table));
#if 0
	msm_add_sdcc(2, &vision_movinand_data, 0, 0);
#endif

	/* initial WIFI_SHUTDOWN# */
	id = PCOM_GPIO_CFG(VISION_GPIO_WIFI_SHUTDOWN_N, 0, GPIO_OUTPUT, GPIO_NO_PULL, GPIO_2MA),
	msm_proc_comm(PCOM_RPC_GPIO_TLMM_CONFIG_EX, &id, 0);
	gpio_set_value(VISION_GPIO_WIFI_SHUTDOWN_N, 0);

	msm_add_sdcc(3, &vision_wifi_data);

#if 0
	register_msm_irq_mask(INT_SDC4_0);
	register_msm_irq_mask(INT_SDC4_1);
#endif

#if 0
	if (opt_disable_sdcard) {
		printk(KERN_INFO "vision: SD-Card interface disabled\n");
		goto done;
	}

	vreg_sdslot = vreg_get(0, "gp10");
	if (IS_ERR(vreg_sdslot))
		return PTR_ERR(vreg_sdslot);

	set_irq_wake(MSM_GPIO_TO_INT(VISION_SDMC_CD_N_TO_SYS), 1);

	msm_add_sdcc(4, &vision_sdslot_data,
			MSM_GPIO_TO_INT(VISION_SDMC_CD_N_TO_SYS),
			IORESOURCE_IRQ_LOWEDGE | IORESOURCE_IRQ_HIGHEDGE);
done:
#endif

	/* reset eMMC for write protection test */
	gpio_set_value(VISION_GPIO_EMMC_RST, 0);	/* this should not work!!! */
	udelay(100);
	gpio_set_value(VISION_GPIO_EMMC_RST, 1);

	return 0;
}
int __init mecha_init_mmc(unsigned int sys_rev)
{
	uint32_t id;
	wifi_status_cb = NULL;
	/*sdslot_vreg_enabled = 0;*/

	printk(KERN_INFO "mecha: %s\n", __func__);
	/* SDC1: MoviNAND */
#if 0
	register_msm_irq_mask(INT_SDC1_0);
	register_msm_irq_mask(INT_SDC1_1);
	config_gpio_table(movinand_on_gpio_table,
			  ARRAY_SIZE(movinand_on_gpio_table));
	msm_add_sdcc(1, &mecha_movinand_data, 0, 0);

	/* SDC2: SVLTE (MDM9K) */
	config_gpio_table(svlte_on_gpio_table,
			  ARRAY_SIZE(svlte_on_gpio_table));
	msm_add_sdcc(2, &mecha_svlte_data, 0, 0);
#endif

	/* SDC3: WIFI */
	/* initial WIFI_SHUTDOWN# */
	id = PCOM_GPIO_CFG(MECHA_GPIO_WIFI_SHUTDOWN_N, 0, GPIO_OUTPUT, GPIO_NO_PULL, GPIO_2MA),
	msm_proc_comm(PCOM_RPC_GPIO_TLMM_CONFIG_EX, &id, 0);
	gpio_set_value(MECHA_GPIO_WIFI_SHUTDOWN_N, 0);
	msm_add_sdcc(3, &mecha_wifi_data);

#if 0
	/* SDC4: SD */
	register_msm_irq_mask(INT_SDC4_0);
	register_msm_irq_mask(INT_SDC4_1);
	if (opt_disable_sdcard) {
		printk(KERN_INFO "mecha: SD-Card interface disabled\n");
		goto done;
	}

	vreg_sdslot = vreg_get(0, "gp10");
	if (IS_ERR(vreg_sdslot))
		return PTR_ERR(vreg_sdslot);

	msm_add_sdcc(4, &mecha_sdslot_data, 0, 0);
done:
#endif

	/* reset eMMC for write protection test */
	gpio_set_value(MECHA_GPIO_EMMC_RST, 0);	/* this should not work!!! */
	udelay(100);
	gpio_set_value(MECHA_GPIO_EMMC_RST, 1);

	return 0;
}
Beispiel #3
0
int __init saga_init_mmc(unsigned int sys_rev)
{
    uint32_t id;
    wifi_status_cb = NULL;
    sdslot_vreg_enabled = 0;

    printk(KERN_INFO "saga: %s\n", __func__);
    /* SDC2: MoviNAND */
    register_msm_irq_mask(INT_SDC2_0);
    register_msm_irq_mask(INT_SDC2_1);
    config_gpio_table(movinand_on_gpio_table,
                      ARRAY_SIZE(movinand_on_gpio_table));
    msm_add_sdcc(2, &saga_movinand_data, 0, 0);

    /* initial WIFI_SHUTDOWN# */
    id = PCOM_GPIO_CFG(SAGA_GPIO_WIFI_SHUTDOWN_N, 0, GPIO_OUTPUT,
                       GPIO_NO_PULL, GPIO_2MA),
         msm_proc_comm(PCOM_RPC_GPIO_TLMM_CONFIG_EX, &id, 0);
    gpio_set_value(SAGA_GPIO_WIFI_SHUTDOWN_N, 0);

    msm_add_sdcc(3, &saga_wifi_data, 0, 0);

    register_msm_irq_mask(INT_SDC4_0);
    register_msm_irq_mask(INT_SDC4_1);
    /* SDCC4: SD card */
    if (opt_disable_sdcard) {
        printk(KERN_INFO "saga: SD-Card interface disabled\n");
        goto done;
    }

    vreg_sdslot = vreg_get(0, "gp10");
    if (IS_ERR(vreg_sdslot))
        return PTR_ERR(vreg_sdslot);

    set_irq_wake(MSM_GPIO_TO_INT(SAGA_SDMC_CD_N_SYS), 1);

    msm_add_sdcc(4, &saga_sdslot_data,
                 MSM_GPIO_TO_INT(SAGA_SDMC_CD_N_SYS),
                 IORESOURCE_IRQ_LOWEDGE | IORESOURCE_IRQ_HIGHEDGE);

done:

    return 0;
}
int __init chacha_init_mmc(unsigned int sys_rev)
{

    uint32_t id;
    sdslot_vreg_enabled = 0;


    /* initial WIFI_SHUTDOWN */
    id = PCOM_GPIO_CFG(CHACHA_GPIO_WIFI_EN, 0, GPIO_OUTPUT, GPIO_NO_PULL, GPIO_2MA),
    msm_proc_comm(PCOM_RPC_GPIO_TLMM_CONFIG_EX, &id, 0);
    gpio_set_value(CHACHA_GPIO_WIFI_EN, 0);

    wifi_status_cb = NULL;

    printk(KERN_INFO "%s\n", __func__);

    msm_add_sdcc(1, &chacha_wifi_data, 0, 0);

    register_msm_irq_mask(INT_SDC2_0);
    register_msm_irq_mask(INT_SDC2_1);
    if (opt_disable_sdcard) {
        printk(KERN_INFO "chacha: SD-Card interface disabled\n");
        goto done;
    }

    vreg_sdslot = vreg_get(0, "gp6");
    if (IS_ERR(vreg_sdslot))
        return PTR_ERR(vreg_sdslot);

    set_irq_wake(MSM_GPIO_TO_INT(CHACHA_GPIO_SDMC_CD_N), 1);

    msm_add_sdcc(2, &chacha_sdslot_data, MSM_GPIO_TO_INT(CHACHA_GPIO_SDMC_CD_N),
                 IORESOURCE_IRQ_LOWEDGE | IORESOURCE_IRQ_HIGHEDGE);
done:
    return 0;
}