static void rk29_sdmmc_start_command(struct rk29_sdmmc *host,
struct mmc_command *cmd, u32 cmd_flags)
{
- int tmo = 50;
+ int tmo = 5000;
host->cmd = cmd;
dev_vdbg(&host->pdev->dev,
"start cmd:%d ARGR=0x%08x CMDR=0x%08x\n",
/* wait until CIU accepts the command */
while (--tmo && (rk29_sdmmc_read(host->regs, SDMMC_CMD) & SDMMC_CMD_START))
cpu_relax();
+ if(!tmo){
+ printk("Enter:%s %d start tmo err!!\n",__FUNCTION__,__LINE__);
+ }
}
static void send_stop_cmd(struct rk29_sdmmc *host, struct mmc_data *data)
platform_set_drvdata(pdev, host);
mmc->ops = &rk29_sdmmc_ops[pdev->id];
mmc->f_min = host->bus_hz/510;
- mmc->f_max = host->bus_hz/2; //2; ///20; //max f is clock to mmc_clk/2
+ mmc->f_max = host->bus_hz/4; //2; ///20; //max f is clock to mmc_clk/2
mmc->ocr_avail = pdata->host_ocr_avail;
mmc->caps = pdata->host_caps;
mmc->max_phys_segs = 64;