Lines Matching refs:ssp

59 	struct mxs_ssp		ssp;
68 struct mxs_ssp *ssp = &spi->ssp;
77 mxs_ssp_set_clk_rate(ssp, hz);
80 * ssp->clk_rate. Otherwise we would set the rate every transfer
91 ssp->base + HW_SSP_CTRL0 + STMP_OFFSET_REG_SET);
97 ssp->base + HW_SSP_CTRL1(ssp));
99 writel(0x0, ssp->base + HW_SSP_CMD0);
100 writel(0x0, ssp->base + HW_SSP_CMD1);
128 struct mxs_ssp *ssp = &spi->ssp;
132 reg = readl_relaxed(ssp->base + offset);
155 struct mxs_ssp *ssp = dev_id;
157 dev_err(ssp->dev, "%s[%i] CTRL1=%08x STATUS=%08x\n",
159 readl(ssp->base + HW_SSP_CTRL1(ssp)),
160 readl(ssp->base + HW_SSP_STATUS(ssp)));
168 struct mxs_ssp *ssp = &spi->ssp;
192 ctrl0 = readl(ssp->base + HW_SSP_CTRL0);
212 if (ssp->devid == IMX23_SSP) {
234 ret = dma_map_sg(ssp->dev, &dma_xfer[sg_count].sg, 1,
241 desc = dmaengine_prep_slave_sg(ssp->dmach,
243 (ssp->devid == IMX23_SSP) ? 1 : 4,
247 dev_err(ssp->dev,
253 desc = dmaengine_prep_slave_sg(ssp->dmach,
259 dev_err(ssp->dev,
275 dma_async_issue_pending(ssp->dmach);
279 dev_err(ssp->dev, "DMA transfer timeout\n");
281 dmaengine_terminate_all(ssp->dmach);
290 dma_unmap_sg(ssp->dev, &dma_xfer[sg_count].sg, 1,
303 struct mxs_ssp *ssp = &spi->ssp;
306 ssp->base + HW_SSP_CTRL0 + STMP_OFFSET_REG_CLR);
311 ssp->base + HW_SSP_CTRL0 + STMP_OFFSET_REG_SET);
313 if (ssp->devid == IMX23_SSP) {
315 ssp->base + HW_SSP_CTRL0 + STMP_OFFSET_REG_CLR);
317 ssp->base + HW_SSP_CTRL0 + STMP_OFFSET_REG_SET);
319 writel(1, ssp->base + HW_SSP_XFER_SIZE);
324 ssp->base + HW_SSP_CTRL0 + STMP_OFFSET_REG_CLR);
327 ssp->base + HW_SSP_CTRL0 + STMP_OFFSET_REG_SET);
330 ssp->base + HW_SSP_CTRL0 + STMP_OFFSET_REG_SET);
336 writel(*buf, ssp->base + HW_SSP_DATA(ssp));
339 ssp->base + HW_SSP_CTRL0 + STMP_OFFSET_REG_SET);
342 if (mxs_ssp_wait(spi, HW_SSP_STATUS(ssp),
346 *buf = (readl(ssp->base + HW_SSP_DATA(ssp)) & 0xff);
365 struct mxs_ssp *ssp = &spi->ssp;
372 ssp->base + HW_SSP_CTRL0 + STMP_OFFSET_REG_CLR);
374 ssp->base + HW_SSP_CTRL0 + STMP_OFFSET_REG_SET);
399 ssp->base + HW_SSP_CTRL1(ssp) +
412 ssp->base + HW_SSP_CTRL1(ssp) +
428 stmp_reset_block(ssp->base);
445 struct mxs_ssp *ssp = &spi->ssp;
448 clk_disable_unprepare(ssp->clk);
452 int ret2 = clk_prepare_enable(ssp->clk);
466 struct mxs_ssp *ssp = &spi->ssp;
473 ret = clk_prepare_enable(ssp->clk);
534 struct mxs_ssp *ssp;
580 ssp = &spi->ssp;
581 ssp->dev = &pdev->dev;
582 ssp->clk = clk;
583 ssp->base = base;
584 ssp->devid = devid;
589 dev_name(&pdev->dev), ssp);
593 ssp->dmach = dma_request_chan(&pdev->dev, "rx-tx");
594 if (IS_ERR(ssp->dmach)) {
595 dev_err(ssp->dev, "Failed to request DMA\n");
596 ret = PTR_ERR(ssp->dmach);
600 pm_runtime_enable(ssp->dev);
601 if (!pm_runtime_enabled(ssp->dev)) {
602 ret = mxs_spi_runtime_resume(ssp->dev);
604 dev_err(ssp->dev, "runtime resume failed\n");
609 ret = pm_runtime_resume_and_get(ssp->dev);
611 dev_err(ssp->dev, "runtime_get_sync failed\n");
615 clk_set_rate(ssp->clk, clk_freq);
617 ret = stmp_reset_block(ssp->base);
627 pm_runtime_put(ssp->dev);
632 pm_runtime_put(ssp->dev);
634 pm_runtime_disable(ssp->dev);
636 dma_release_channel(ssp->dmach);
646 struct mxs_ssp *ssp;
650 ssp = &spi->ssp;
656 dma_release_channel(ssp->dmach);