Lines Matching refs:sdmmc_base
190 void __iomem *sdmmc_base; member
216 u32 reg_tmp = readb(priv->sdmmc_base + SDMMC_BUSMODE); in wmt_set_sd_power()
223 writeb(reg_tmp, priv->sdmmc_base + SDMMC_BUSMODE); in wmt_set_sd_power()
239 tmp_resp = readb(priv->sdmmc_base + SDMMC_RSP); in wmt_mci_read_response()
241 tmp_resp = readb(priv->sdmmc_base + SDMMC_RSP + in wmt_mci_read_response()
253 reg_tmp = readb(priv->sdmmc_base + SDMMC_CTLR); in wmt_mci_start_command()
254 writeb(reg_tmp | CTLR_CMD_START, priv->sdmmc_base + SDMMC_CTLR); in wmt_mci_start_command()
266 writeb(command, priv->sdmmc_base + SDMMC_CMD); in wmt_mci_send_command()
267 writel(arg, priv->sdmmc_base + SDMMC_ARG); in wmt_mci_send_command()
268 writeb(rsptype, priv->sdmmc_base + SDMMC_RSPTYPE); in wmt_mci_send_command()
271 reg_tmp = readb(priv->sdmmc_base + SDMMC_CTLR); in wmt_mci_send_command()
272 writeb(reg_tmp | CTLR_FIFO_RESET, priv->sdmmc_base + SDMMC_CTLR); in wmt_mci_send_command()
278 writeb(0xFF, priv->sdmmc_base + SDMMC_STS0); in wmt_mci_send_command()
279 writeb(0xFF, priv->sdmmc_base + SDMMC_STS1); in wmt_mci_send_command()
280 writeb(0xFF, priv->sdmmc_base + SDMMC_STS2); in wmt_mci_send_command()
281 writeb(0xFF, priv->sdmmc_base + SDMMC_STS3); in wmt_mci_send_command()
284 reg_tmp = readb(priv->sdmmc_base + SDMMC_CTLR); in wmt_mci_send_command()
286 priv->sdmmc_base + SDMMC_CTLR); in wmt_mci_send_command()
293 writel(DMA_ISR_INT_STS, priv->sdmmc_base + SDDMA_ISR); in wmt_mci_disable_dma()
294 writel(0, priv->sdmmc_base + SDDMA_IER); in wmt_mci_disable_dma()
344 status = readl(priv->sdmmc_base + SDDMA_CCR) & 0x0F; in wmt_mci_dma_isr()
384 status0 = readb(priv->sdmmc_base + SDMMC_STS0); in wmt_mci_regular_isr()
385 status1 = readb(priv->sdmmc_base + SDMMC_STS1); in wmt_mci_regular_isr()
386 status2 = readb(priv->sdmmc_base + SDMMC_STS2); in wmt_mci_regular_isr()
389 reg_tmp = readb(priv->sdmmc_base + SDMMC_INTMASK0); in wmt_mci_regular_isr()
400 writeb(STS0_DEVICE_INS, priv->sdmmc_base + SDMMC_STS0); in wmt_mci_regular_isr()
458 writeb(status0, priv->sdmmc_base + SDMMC_STS0); in wmt_mci_regular_isr()
459 writeb(status1, priv->sdmmc_base + SDMMC_STS1); in wmt_mci_regular_isr()
460 writeb(status2, priv->sdmmc_base + SDMMC_STS2); in wmt_mci_regular_isr()
473 reg_tmp = readb(priv->sdmmc_base + SDMMC_BUSMODE); in wmt_reset_hardware()
474 writeb(reg_tmp | BM_SOFT_RESET, priv->sdmmc_base + SDMMC_BUSMODE); in wmt_reset_hardware()
477 reg_tmp = readb(priv->sdmmc_base + SDMMC_CTLR); in wmt_reset_hardware()
478 writeb(reg_tmp | CTLR_FIFO_RESET, priv->sdmmc_base + SDMMC_CTLR); in wmt_reset_hardware()
481 writew(BLKL_INT_ENABLE | BLKL_GPI_CD, priv->sdmmc_base + SDMMC_BLKLEN); in wmt_reset_hardware()
484 writeb(0xFF, priv->sdmmc_base + SDMMC_STS0); in wmt_reset_hardware()
485 writeb(0xFF, priv->sdmmc_base + SDMMC_STS1); in wmt_reset_hardware()
488 writeb(INT0_CD_INT_EN | INT0_DI_INT_EN, priv->sdmmc_base + in wmt_reset_hardware()
491 INT1_CMD_RES_TOUT_INT_EN, priv->sdmmc_base + SDMMC_INTMASK1); in wmt_reset_hardware()
494 writew(8191, priv->sdmmc_base + SDMMC_DMATIMEOUT); in wmt_reset_hardware()
497 reg_tmp = readb(priv->sdmmc_base + SDMMC_STS2); in wmt_reset_hardware()
498 writeb(reg_tmp | STS2_DIS_FORCECLK, priv->sdmmc_base + SDMMC_STS2); in wmt_reset_hardware()
510 writel(DMA_GCR_SOFT_RESET, priv->sdmmc_base + SDDMA_GCR); in wmt_dma_init()
511 writel(DMA_GCR_DMA_EN, priv->sdmmc_base + SDDMA_GCR); in wmt_dma_init()
512 if ((readl(priv->sdmmc_base + SDDMA_GCR) & DMA_GCR_DMA_EN) != 0) in wmt_dma_init()
536 writel(DMA_IER_INT_EN, priv->sdmmc_base + SDDMA_IER); in wmt_dma_config()
539 writel(descaddr, priv->sdmmc_base + SDDMA_DESPR); in wmt_dma_config()
541 writel(0x00, priv->sdmmc_base + SDDMA_CCR); in wmt_dma_config()
544 reg_tmp = readl(priv->sdmmc_base + SDDMA_CCR); in wmt_dma_config()
545 writel(reg_tmp & DMA_CCR_IF_TO_PERIPHERAL, priv->sdmmc_base + in wmt_dma_config()
548 reg_tmp = readl(priv->sdmmc_base + SDDMA_CCR); in wmt_dma_config()
549 writel(reg_tmp | DMA_CCR_PERIPHERAL_TO_IF, priv->sdmmc_base + in wmt_dma_config()
558 reg_tmp = readl(priv->sdmmc_base + SDDMA_CCR); in wmt_dma_start()
559 writel(reg_tmp | DMA_CCR_RUN, priv->sdmmc_base + SDDMA_CCR); in wmt_dma_start()
613 reg_tmp = readw(priv->sdmmc_base + SDMMC_BLKLEN); in wmt_mci_request()
615 priv->sdmmc_base + SDMMC_BLKLEN); in wmt_mci_request()
618 writew(req->data->blocks, priv->sdmmc_base + SDMMC_BLKCNT); in wmt_mci_request()
691 busmode = readb(priv->sdmmc_base + SDMMC_BUSMODE); in wmt_mci_set_ios()
692 extctrl = readb(priv->sdmmc_base + SDMMC_EXTCTRL); in wmt_mci_set_ios()
709 writeb(busmode, priv->sdmmc_base + SDMMC_BUSMODE); in wmt_mci_set_ios()
710 writeb(extctrl, priv->sdmmc_base + SDMMC_EXTCTRL); in wmt_mci_set_ios()
717 return !(readb(priv->sdmmc_base + SDMMC_STS0) & STS0_WRITE_PROTECT); in wmt_mci_get_ro()
723 u32 cd = (readb(priv->sdmmc_base + SDMMC_STS0) & STS0_CD_GPI) >> 3; in wmt_mci_get_cd()
816 priv->sdmmc_base = of_iomap(np, 0); in wmt_mci_probe()
817 if (!priv->sdmmc_base) { in wmt_mci_probe()
873 iounmap(priv->sdmmc_base); in wmt_mci_probe()
891 reg_tmp = readb(priv->sdmmc_base + SDMMC_BUSMODE); in wmt_mci_remove()
892 writel(reg_tmp | BM_SOFT_RESET, priv->sdmmc_base + SDMMC_BUSMODE); in wmt_mci_remove()
893 reg_tmp = readw(priv->sdmmc_base + SDMMC_BLKLEN); in wmt_mci_remove()
894 writew(reg_tmp & ~(0xA000), priv->sdmmc_base + SDMMC_BLKLEN); in wmt_mci_remove()
895 writeb(0xFF, priv->sdmmc_base + SDMMC_STS0); in wmt_mci_remove()
896 writeb(0xFF, priv->sdmmc_base + SDMMC_STS1); in wmt_mci_remove()
907 iounmap(priv->sdmmc_base); in wmt_mci_remove()
934 reg_tmp = readb(priv->sdmmc_base + SDMMC_BUSMODE); in wmt_mci_suspend()
935 writeb(reg_tmp | BM_SOFT_RESET, priv->sdmmc_base + in wmt_mci_suspend()
938 reg_tmp = readw(priv->sdmmc_base + SDMMC_BLKLEN); in wmt_mci_suspend()
939 writew(reg_tmp & 0x5FFF, priv->sdmmc_base + SDMMC_BLKLEN); in wmt_mci_suspend()
941 writeb(0xFF, priv->sdmmc_base + SDMMC_STS0); in wmt_mci_suspend()
942 writeb(0xFF, priv->sdmmc_base + SDMMC_STS1); in wmt_mci_suspend()
959 reg_tmp = readb(priv->sdmmc_base + SDMMC_BUSMODE); in wmt_mci_resume()
960 writeb(reg_tmp | BM_SOFT_RESET, priv->sdmmc_base + in wmt_mci_resume()
963 reg_tmp = readw(priv->sdmmc_base + SDMMC_BLKLEN); in wmt_mci_resume()
965 priv->sdmmc_base + SDMMC_BLKLEN); in wmt_mci_resume()
967 reg_tmp = readb(priv->sdmmc_base + SDMMC_INTMASK0); in wmt_mci_resume()
968 writeb(reg_tmp | INT0_DI_INT_EN, priv->sdmmc_base + in wmt_mci_resume()