1.to support eMMC.

2.Resolve conflicts pin used to wifi-sdio-det.
3.Resolve the clock conflict between sd and sdio.
This commit is contained in:
xbw
2014-03-11 10:01:46 +08:00
parent 3ec8c040a9
commit 7dcb2b4f0a
9 changed files with 42 additions and 22 deletions

View File

@@ -196,10 +196,6 @@ struct mmc_supply {
struct regulator *vqmmc; /* Optional Vccq supply */
};
#define HOST_IS_EMMC(host) (host->unused)
#define SDMMC_SUPPORT_EMMC(host) (host->rk_sdmmc_emmc_used)
struct mmc_host {
struct device *parent;
struct device class_dev;
@@ -289,6 +285,11 @@ struct mmc_host {
#define MMC_CAP2_SANITIZE (1 << 15) /* Support Sanitize */
mmc_pm_flag_t pm_caps; /* supported pm features */
u32 cardtype_restrict; /*restrict the SDMMC controller to support card type;1--SD card; 2--sdio; 4--eMMC */
#define RESTRICT_CARD_TYPE_SD (1 << 0) /*noted by XBW, Rockchip Co.Ld*/
#define RESTRICT_CARD_TYPE_SDIO (1 << 1)
#define RESTRICT_CARD_TYPE_EMMC (1 << 2)
#ifdef CONFIG_MMC_CLKGATE
int clk_requests; /* internal reference counter */
@@ -310,8 +311,6 @@ struct mmc_host {
unsigned int max_blk_size; /* maximum size of one mmc block */
unsigned int max_blk_count; /* maximum number of blocks in one req */
unsigned int max_discard_to; /* max. discard timeout in ms */
unsigned short rk_sdmmc_emmc_used; //rk29_sdmmc driver support emmc
int host_dev_id;
/* private data */
spinlock_t lock; /* lock for claim and bus ops */

View File

@@ -418,12 +418,4 @@ struct _mmc_csd {
#define MMC_SWITCH_MODE_CLEAR_BITS 0x02 /* Clear bits which are 1 in value */
#define MMC_SWITCH_MODE_WRITE_BYTE 0x03 /* Set target to value */
#define FOD_FREQ (300000) // in the identify stage, unit: hz, max is 400Khz, // the least frequency is FREQ_HCLK_MAX/8
#define SD_FPP_FREQ (24000000) // normal sd freq, 25Mhz
#define SDHC_FPP_FREQ (49500000) // SDHC in the highspeed. unit is hz, max is 50Mhz.
#define MMC_FPP_FREQ (19000000) // MMC freq, unit is hz, max is 20MHz
#define MMCHS_26_FPP_FREQ (24500000) // highspeed mode support 26M HS-MMC, unit is hz, max is 26Mhz,
#define MMCHS_52_FPP_FREQ (51500000) // highspeed support 52M HS-MMC, unit is hz, max is 52Mhz,
#endif /* LINUX_MMC_MMC_H */

View File

@@ -239,6 +239,7 @@ struct dw_mci_board {
u32 caps; /* Capabilities */
u32 caps2; /* More capabilities */
u32 pm_caps; /* PM capabilities */
u32 cardtype_restrict; /*restrict the SDMMC controller to support card type;1--SD card; 2--sdio; 4--eMMC */
/*
* Override fifo depth. If 0, autodetect it from the FIFOTH register,
* but note that this may not be reliable after a bootloader has used