|
@@ -136,14 +136,14 @@ static void mxcmci_softreset(struct mxcmci_host *host)
|
|
|
int i;
|
|
|
|
|
|
/* reset sequence */
|
|
|
- writew(STR_STP_CLK_RESET, &host->base->str_stp_clk);
|
|
|
- writew(STR_STP_CLK_RESET | STR_STP_CLK_START_CLK,
|
|
|
+ writel(STR_STP_CLK_RESET, &host->base->str_stp_clk);
|
|
|
+ writel(STR_STP_CLK_RESET | STR_STP_CLK_START_CLK,
|
|
|
&host->base->str_stp_clk);
|
|
|
|
|
|
for (i = 0; i < 8; i++)
|
|
|
- writew(STR_STP_CLK_START_CLK, &host->base->str_stp_clk);
|
|
|
+ writel(STR_STP_CLK_START_CLK, &host->base->str_stp_clk);
|
|
|
|
|
|
- writew(0xff, &host->base->res_to);
|
|
|
+ writel(0xff, &host->base->res_to);
|
|
|
}
|
|
|
|
|
|
static void mxcmci_setup_data(struct mxcmci_host *host, struct mmc_data *data)
|
|
@@ -154,8 +154,8 @@ static void mxcmci_setup_data(struct mxcmci_host *host, struct mmc_data *data)
|
|
|
|
|
|
host->data = data;
|
|
|
|
|
|
- writew(nob, &host->base->nob);
|
|
|
- writew(blksz, &host->base->blk_len);
|
|
|
+ writel(nob, &host->base->nob);
|
|
|
+ writel(blksz, &host->base->blk_len);
|
|
|
host->datasize = datasize;
|
|
|
}
|
|
|
|
|
@@ -185,9 +185,9 @@ static int mxcmci_start_cmd(struct mxcmci_host *host, struct mmc_cmd *cmd,
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
|
|
|
- writew(cmd->cmdidx, &host->base->cmd);
|
|
|
+ writel(cmd->cmdidx, &host->base->cmd);
|
|
|
writel(cmd->cmdarg, &host->base->arg);
|
|
|
- writew(cmdat, &host->base->cmd_dat_cont);
|
|
|
+ writel(cmdat, &host->base->cmd_dat_cont);
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -247,14 +247,14 @@ static int mxcmci_read_response(struct mxcmci_host *host, unsigned int stat)
|
|
|
if (cmd->resp_type & MMC_RSP_PRESENT) {
|
|
|
if (cmd->resp_type & MMC_RSP_136) {
|
|
|
for (i = 0; i < 4; i++) {
|
|
|
- a = readw(&host->base->res_fifo);
|
|
|
- b = readw(&host->base->res_fifo);
|
|
|
+ a = readl(&host->base->res_fifo) & 0xFFFF;
|
|
|
+ b = readl(&host->base->res_fifo) & 0xFFFF;
|
|
|
resp[i] = a << 16 | b;
|
|
|
}
|
|
|
} else {
|
|
|
- a = readw(&host->base->res_fifo);
|
|
|
- b = readw(&host->base->res_fifo);
|
|
|
- c = readw(&host->base->res_fifo);
|
|
|
+ a = readl(&host->base->res_fifo) & 0xFFFF;
|
|
|
+ b = readl(&host->base->res_fifo) & 0xFFFF;
|
|
|
+ c = readl(&host->base->res_fifo) & 0xFFFF;
|
|
|
resp[0] = a << 24 | b << 8 | c >> 8;
|
|
|
}
|
|
|
}
|
|
@@ -445,7 +445,7 @@ static void mxcmci_set_clk_rate(struct mxcmci_host *host, unsigned int clk_ios)
|
|
|
prescaler <<= 1;
|
|
|
}
|
|
|
|
|
|
- writew((prescaler << 4) | divider, &host->base->clk_rate);
|
|
|
+ writel((prescaler << 4) | divider, &host->base->clk_rate);
|
|
|
}
|
|
|
|
|
|
static void mxcmci_set_ios(struct mmc *mmc)
|
|
@@ -458,9 +458,9 @@ static void mxcmci_set_ios(struct mmc *mmc)
|
|
|
|
|
|
if (mmc->clock) {
|
|
|
mxcmci_set_clk_rate(host, mmc->clock);
|
|
|
- writew(STR_STP_CLK_START_CLK, &host->base->str_stp_clk);
|
|
|
+ writel(STR_STP_CLK_START_CLK, &host->base->str_stp_clk);
|
|
|
} else {
|
|
|
- writew(STR_STP_CLK_STOP_CLK, &host->base->str_stp_clk);
|
|
|
+ writel(STR_STP_CLK_STOP_CLK, &host->base->str_stp_clk);
|
|
|
}
|
|
|
|
|
|
host->clock = mmc->clock;
|
|
@@ -472,7 +472,7 @@ static int mxcmci_init(struct mmc *mmc)
|
|
|
|
|
|
mxcmci_softreset(host);
|
|
|
|
|
|
- host->rev_no = readw(&host->base->rev_no);
|
|
|
+ host->rev_no = readl(&host->base->rev_no);
|
|
|
if (host->rev_no != 0x400) {
|
|
|
printf("wrong rev.no. 0x%08x. aborting.\n",
|
|
|
host->rev_no);
|
|
@@ -480,7 +480,7 @@ static int mxcmci_init(struct mmc *mmc)
|
|
|
}
|
|
|
|
|
|
/* recommended in data sheet */
|
|
|
- writew(0x2db4, &host->base->read_to);
|
|
|
+ writel(0x2db4, &host->base->read_to);
|
|
|
|
|
|
writel(0, &host->base->int_cntr);
|
|
|
|