• Home
  • Raw
  • Download

Lines Matching refs:ssp

63 	struct mxs_ssp			ssp;  member
79 struct mxs_ssp *ssp = &host->ssp; in mxs_mmc_get_cd() local
90 !(readl(ssp->base + HW_SSP_STATUS(ssp)) & in mxs_mmc_get_cd()
101 struct mxs_ssp *ssp = &host->ssp; in mxs_mmc_reset() local
105 ret = stmp_reset_block(ssp->base); in mxs_mmc_reset()
123 ssp->base + HW_SSP_TIMING(ssp)); in mxs_mmc_reset()
130 writel(ctrl0, ssp->base + HW_SSP_CTRL0); in mxs_mmc_reset()
131 writel(ctrl1, ssp->base + HW_SSP_CTRL1(ssp)); in mxs_mmc_reset()
143 struct mxs_ssp *ssp = &host->ssp; in mxs_mmc_request_done() local
147 cmd->resp[3] = readl(ssp->base + HW_SSP_SDRESP0(ssp)); in mxs_mmc_request_done()
148 cmd->resp[2] = readl(ssp->base + HW_SSP_SDRESP1(ssp)); in mxs_mmc_request_done()
149 cmd->resp[1] = readl(ssp->base + HW_SSP_SDRESP2(ssp)); in mxs_mmc_request_done()
150 cmd->resp[0] = readl(ssp->base + HW_SSP_SDRESP3(ssp)); in mxs_mmc_request_done()
152 cmd->resp[0] = readl(ssp->base + HW_SSP_SDRESP0(ssp)); in mxs_mmc_request_done()
158 data->sg_len, ssp->dma_dir); in mxs_mmc_request_done()
191 struct mxs_ssp *ssp = &host->ssp; in mxs_mmc_irq_handler() local
196 stat = readl(ssp->base + HW_SSP_CTRL1(ssp)); in mxs_mmc_irq_handler()
198 ssp->base + HW_SSP_CTRL1(ssp) + STMP_OFFSET_REG_CLR); in mxs_mmc_irq_handler()
227 struct mxs_ssp *ssp = &host->ssp; in mxs_mmc_prep_dma() local
236 data->sg_len, ssp->dma_dir); in mxs_mmc_prep_dma()
241 sgl = (struct scatterlist *) ssp->ssp_pio_words; in mxs_mmc_prep_dma()
245 desc = dmaengine_prep_slave_sg(ssp->dmach, in mxs_mmc_prep_dma()
246 sgl, sg_len, ssp->slave_dirn, flags); in mxs_mmc_prep_dma()
253 data->sg_len, ssp->dma_dir); in mxs_mmc_prep_dma()
261 struct mxs_ssp *ssp = &host->ssp; in mxs_mmc_bc() local
275 ssp->ssp_pio_words[0] = ctrl0; in mxs_mmc_bc()
276 ssp->ssp_pio_words[1] = cmd0; in mxs_mmc_bc()
277 ssp->ssp_pio_words[2] = cmd1; in mxs_mmc_bc()
278 ssp->dma_dir = DMA_NONE; in mxs_mmc_bc()
279 ssp->slave_dirn = DMA_TRANS_NONE; in mxs_mmc_bc()
285 dma_async_issue_pending(ssp->dmach); in mxs_mmc_bc()
295 struct mxs_ssp *ssp = &host->ssp; in mxs_mmc_ac() local
320 ssp->ssp_pio_words[0] = ctrl0; in mxs_mmc_ac()
321 ssp->ssp_pio_words[1] = cmd0; in mxs_mmc_ac()
322 ssp->ssp_pio_words[2] = cmd1; in mxs_mmc_ac()
323 ssp->dma_dir = DMA_NONE; in mxs_mmc_ac()
324 ssp->slave_dirn = DMA_TRANS_NONE; in mxs_mmc_ac()
330 dma_async_issue_pending(ssp->dmach); in mxs_mmc_ac()
368 struct mxs_ssp *ssp = &host->ssp; in mxs_mmc_adtc() local
412 if (ssp_is_old(ssp)) { in mxs_mmc_adtc()
417 writel(data_size, ssp->base + HW_SSP_XFER_SIZE); in mxs_mmc_adtc()
420 ssp->base + HW_SSP_BLOCK_SIZE); in mxs_mmc_adtc()
434 timeout = mxs_ns_to_ssp_ticks(ssp->clk_rate, data->timeout_ns); in mxs_mmc_adtc()
435 val = readl(ssp->base + HW_SSP_TIMING(ssp)); in mxs_mmc_adtc()
438 writel(val, ssp->base + HW_SSP_TIMING(ssp)); in mxs_mmc_adtc()
441 ssp->ssp_pio_words[0] = ctrl0; in mxs_mmc_adtc()
442 ssp->ssp_pio_words[1] = cmd0; in mxs_mmc_adtc()
443 ssp->ssp_pio_words[2] = cmd1; in mxs_mmc_adtc()
444 ssp->dma_dir = DMA_NONE; in mxs_mmc_adtc()
445 ssp->slave_dirn = DMA_TRANS_NONE; in mxs_mmc_adtc()
453 ssp->dma_dir = dma_data_dir; in mxs_mmc_adtc()
454 ssp->slave_dirn = slave_dirn; in mxs_mmc_adtc()
460 dma_async_issue_pending(ssp->dmach); in mxs_mmc_adtc()
513 mxs_ssp_set_clk_rate(&host->ssp, ios->clock); in mxs_mmc_set_ios()
519 struct mxs_ssp *ssp = &host->ssp; in mxs_mmc_enable_sdio_irq() local
528 ssp->base + HW_SSP_CTRL0 + STMP_OFFSET_REG_SET); in mxs_mmc_enable_sdio_irq()
530 ssp->base + HW_SSP_CTRL1(ssp) + STMP_OFFSET_REG_SET); in mxs_mmc_enable_sdio_irq()
533 ssp->base + HW_SSP_CTRL0 + STMP_OFFSET_REG_CLR); in mxs_mmc_enable_sdio_irq()
535 ssp->base + HW_SSP_CTRL1(ssp) + STMP_OFFSET_REG_CLR); in mxs_mmc_enable_sdio_irq()
540 if (enable && readl(ssp->base + HW_SSP_STATUS(ssp)) & in mxs_mmc_enable_sdio_irq()
584 struct mxs_ssp *ssp; in mxs_mmc_probe() local
595 ssp = &host->ssp; in mxs_mmc_probe()
596 ssp->dev = &pdev->dev; in mxs_mmc_probe()
598 ssp->base = devm_ioremap_resource(&pdev->dev, iores); in mxs_mmc_probe()
599 if (IS_ERR(ssp->base)) { in mxs_mmc_probe()
600 ret = PTR_ERR(ssp->base); in mxs_mmc_probe()
604 ssp->devid = (enum mxs_ssp_id) of_id->data; in mxs_mmc_probe()
619 ssp->clk = devm_clk_get(&pdev->dev, NULL); in mxs_mmc_probe()
620 if (IS_ERR(ssp->clk)) { in mxs_mmc_probe()
621 ret = PTR_ERR(ssp->clk); in mxs_mmc_probe()
624 ret = clk_prepare_enable(ssp->clk); in mxs_mmc_probe()
634 ssp->dmach = dma_request_slave_channel(&pdev->dev, "rx-tx"); in mxs_mmc_probe()
635 if (!ssp->dmach) { in mxs_mmc_probe()
660 mmc->max_blk_count = (ssp_is_old(ssp)) ? 0xff : 0xffffff; in mxs_mmc_probe()
661 mmc->max_req_size = (ssp_is_old(ssp)) ? 0xffff : 0xffffffff; in mxs_mmc_probe()
662 mmc->max_seg_size = dma_get_max_seg_size(ssp->dmach->device->dev); in mxs_mmc_probe()
682 dma_release_channel(ssp->dmach); in mxs_mmc_probe()
684 clk_disable_unprepare(ssp->clk); in mxs_mmc_probe()
694 struct mxs_ssp *ssp = &host->ssp; in mxs_mmc_remove() local
698 if (ssp->dmach) in mxs_mmc_remove()
699 dma_release_channel(ssp->dmach); in mxs_mmc_remove()
701 clk_disable_unprepare(ssp->clk); in mxs_mmc_remove()
713 struct mxs_ssp *ssp = &host->ssp; in mxs_mmc_suspend() local
715 clk_disable_unprepare(ssp->clk); in mxs_mmc_suspend()
723 struct mxs_ssp *ssp = &host->ssp; in mxs_mmc_resume() local
725 return clk_prepare_enable(ssp->clk); in mxs_mmc_resume()