SDMMC: add the capabilities and ocr_avail of RK-host

This commit is contained in:
xbw
2014-03-18 13:40:08 +08:00
parent 90352e934a
commit 67991892da
3 changed files with 20 additions and 5 deletions

View File

@@ -2405,8 +2405,14 @@ static int dw_mci_init_slot(struct dw_mci *host, unsigned int id)
mmc->restrict_caps |= RESTRICT_CARD_TYPE_EMMC;
if (host->pdata->get_ocr)
mmc->ocr_avail = host->pdata->get_ocr(id);
else
mmc->ocr_avail = host->pdata->get_ocr(id);
else{
//mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34;
mmc->ocr_avail = MMC_VDD_27_28|MMC_VDD_28_29|MMC_VDD_29_30|MMC_VDD_30_31
| MMC_VDD_31_32|MMC_VDD_32_33 | MMC_VDD_33_34 | MMC_VDD_34_35| MMC_VDD_35_36;
mmc->ocr_avail |= MMC_VDD_26_27 |MMC_VDD_25_26 |MMC_VDD_24_25 |MMC_VDD_23_24
|MMC_VDD_22_23 |MMC_VDD_21_22 |MMC_VDD_20_21 |MMC_VDD_165_195;
}
/*
@@ -2449,6 +2455,16 @@ static int dw_mci_init_slot(struct dw_mci *host, unsigned int id)
mmc->caps |= MMC_CAP_8_BIT_DATA;
case 4:
mmc->caps |= MMC_CAP_4_BIT_DATA;
}
if (of_find_property(host->dev->of_node, "cap-power-off-card", NULL))
mmc->caps |= MMC_CAP_POWER_OFF_CARD;
if (of_find_property(host->dev->of_node, "cap-sdio-irq", NULL))
mmc->caps |= MMC_CAP_SDIO_IRQ;
if (of_find_property(host->dev->of_node, "full-pwr-cycle", NULL))
mmc->caps2 |= MMC_CAP2_FULL_PWR_CYCLE;
if (of_find_property(host->dev->of_node, "keep-power-in-suspend", NULL))
mmc->pm_caps |= MMC_PM_KEEP_POWER;
if (of_find_property(host->dev->of_node, "enable-sdio-wakeup", NULL))
mmc->pm_caps |= MMC_PM_WAKE_SDIO_IRQ;
if (host->pdata->blk_settings) {

View File

@@ -34,7 +34,7 @@ void rockchip_mmc_of_probe(struct device_node *np,struct rk_sdmmc_of *rk_mmc_pro
of_property_read_u32(np, "mmc,int", &rk_mmc_property->mmc_int_type);
of_property_read_u32(np, "mmc,emmc_is_selected", &rk_mmc_property->emmc_is_selected);
of_property_read_u32_array(np, "mmc,use_dma", rk_mmc_property->mmc_dma_is_used,2);
/*
if((&rk_mmc_property->mmc_dma_is_used[0] == MMC_USE_DMA))
{
if(rk_mmc_property->mmc_dma_is_used[1] == 0)
@@ -50,7 +50,7 @@ void rockchip_mmc_of_probe(struct device_node *np,struct rk_sdmmc_of *rk_mmc_pro
}else{
mmc_debug(MMC_DBG_WARN,"Device Tree configure mmc drivers to use pio!\n");
}
*/
rockchip_mmc_of_dump(rk_mmc_property);
return ;

View File

@@ -12,7 +12,6 @@
#ifndef __RK_SDMMC_OF_H
#define __RK_SDMMC_OF_H
#include <dt-bindings/mmc/rockchip-sdmmc.h>
#include <linux/of_gpio.h>
#include <linux/of_i2c.h>
#include <linux/types.h>