OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /test_project
    from Rev 75 to Rev 76
    Reverse comparison

Rev 75 → Rev 76

/trunk/linux_sd_driver/drivers/mmc/host/mmc_ocores.c
58,6 → 58,7
unsigned int normal_int_status;
unsigned int error_int_status;
} registers;
int clock;
};
 
struct ocores_host *oc_host;
130,19 → 131,7
printk(KERN_ALERT "%s: cmd_command = %08x\n", __FUNCTION__, cmd_command);
oc_host=host;
//XXX:Remove after uppdated bitfil with Timeout
/*if (cmd->opcode == 8 || cmd->opcode == 5 )
{
host->mrq->cmd->error = -ETIMEDOUT;
mmc_request_done(host->mmc, host->mrq);
}
else
{
CMD_IRQ_ON (host,(ECC|EEI));
writel(cmd_command, host->base + SD_COMMAND);
wmb();
writel(cmd_arg, host->base + SD_ARG);
}*/
CMD_IRQ_ON (host,(ECC|EEI));
writel(cmd_command, host->base + SD_COMMAND);
wmb();
201,7 → 190,7
struct ocores_host *host = mmc_priv(mmc);
int clk_div, cmd_timeout;
/* struct ocores_host *host = mmc_priv(mmc); */
 
printk(KERN_ALERT "%s: clock = 0x%08x\n", __FUNCTION__, ios->clock);
printk(KERN_ALERT "%s: vdd = 0x%04x\n", __FUNCTION__, ios->vdd);
printk(KERN_ALERT "%s: bus_mode = 0x%02x\n", __FUNCTION__, ios->bus_mode);
214,8 → 203,9
if (ios->clock == 0) {
//ocores_mci_write (host, SD_SOFTWARE_RST, SD_DISABLE);
}
else
{
else if (ios->clock != host->clock)
{
host->clock = ios->clock;
writel(SD_DISABLE, host->base + SD_SOFTWARE_RST);
clk_div = ((SYS_CLK / ios->clock)-2 )/ 2;
cmd_timeout = ((SYS_CLK/ios->clock) * 512);
229,7 → 219,7
 
writel(SD_ENABLE, host->base + SD_SOFTWARE_RST);
}
 
}
 
 
275,7 → 265,8
struct ocores_host *host = NULL;
struct resource *r;
int ret;
 
printk(KERN_ALERT "%s: enter\n", __FUNCTION__);
 
r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
309,6 → 300,10
mmc->max_phys_segs = mmc->max_hw_segs;
 
host = mmc_priv(mmc);
/*XXX: */
host->clock = 0;
host->mmc = mmc;
host->cmdat = 0;
host->registers.normal_int_status =0;
397,6 → 392,8
host->mrq->cmd->error = -EILSEQ;
break;
}
mmc_request_done(host->mmc, host->mrq);
}
else
{
404,13 → 401,12
{
printk(KERN_ALERT "Long Response, Word Cnt %d, RESP * = %08x\n ",host->word_cnt,readl(host->base + SD_RESP1));
if (host->mrq->cmd->opcode == 2){
host->mrq->cmd->resp[3] = readl(host->base + SD_RESP1);
host->mrq->cmd->resp[2] = 0xaaaaaaaa;
host->mrq->cmd->resp[1] = 0xbbbbbbbb;
host->mrq->cmd->resp[0] = 0;
mmc_request_done(host->mmc, host->mrq);
if (host->mrq->cmd->opcode == 2) {
host->mrq->cmd->resp[3] = readl(host->base + SD_RESP1);
host->mrq->cmd->resp[2] = 0xaaaaaaaa;
host->mrq->cmd->resp[1] = 0xbbbbbbbb;
host->mrq->cmd->resp[0] = 0;
mmc_request_done(host->mmc, host->mrq);
}
else {
host->word_cnt+=1;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.