Lines Matching defs:ssc

11  * Based on at91-ssc.c by
25 #include <linux/atmel-ssc.h>
147 ssc_sr = (unsigned long)ssc_readl(ssc_p->ssc->regs, SR)
148 & (unsigned long)ssc_readl(ssc_p->ssc->regs, IMR);
195 struct ssc_device *ssc = ssc_p->ssc;
215 && ssc->clk_from_rk_pin)
225 && !ssc->clk_from_rk_pin)
279 ssc_readl(ssc_p->ssc->regs, SR));
283 ret = clk_enable(ssc_p->ssc->clk);
287 ssc_p->mck_rate = clk_get_rate(ssc_p->ssc->clk);
291 ssc_writel(ssc_p->ssc->regs, CR, SSC_BIT(CR_SWRST));
313 dma_params->ssc = ssc_p->ssc;
348 dma_params->ssc = NULL;
358 free_irq(ssc_p->ssc->irq, ssc_p);
363 ssc_writel(ssc_p->ssc->regs, CR, SSC_BIT(CR_SWRST));
371 clk_disable(ssc_p->ssc->clk);
464 struct ssc_device *ssc = ssc_p->ssc;
626 rcmr |= SSC_BF(RCMR_CKS, ssc->clk_from_rk_pin ?
630 tcmr |= SSC_BF(TCMR_CKS, ssc->clk_from_rk_pin ?
660 if (fslen_ext && !ssc->pdata->has_fslen_ext) {
671 if (!ssc_p->ssc->pdata->use_dma) {
672 ssc_writel(ssc_p->ssc->regs, PDC_RPR, 0);
673 ssc_writel(ssc_p->ssc->regs, PDC_RCR, 0);
674 ssc_writel(ssc_p->ssc->regs, PDC_RNPR, 0);
675 ssc_writel(ssc_p->ssc->regs, PDC_RNCR, 0);
677 ssc_writel(ssc_p->ssc->regs, PDC_TPR, 0);
678 ssc_writel(ssc_p->ssc->regs, PDC_TCR, 0);
679 ssc_writel(ssc_p->ssc->regs, PDC_TNPR, 0);
680 ssc_writel(ssc_p->ssc->regs, PDC_TNCR, 0);
683 ret = request_irq(ssc_p->ssc->irq, atmel_ssc_interrupt, 0,
689 clk_disable(ssc_p->ssc->clk);
697 ssc_writel(ssc_p->ssc->regs, CMR, cmr_div);
700 ssc_writel(ssc_p->ssc->regs, RCMR, rcmr);
701 ssc_writel(ssc_p->ssc->regs, RFMR, rfmr);
704 ssc_writel(ssc_p->ssc->regs, TCMR, tcmr);
705 ssc_writel(ssc_p->ssc->regs, TFMR, tfmr);
727 ssc_writel(ssc_p->ssc->regs, CR, dma_params->mask->ssc_disable);
728 ssc_writel(ssc_p->ssc->regs, IDR, dma_params->mask->ssc_error);
732 ssc_readl(ssc_p->ssc->regs, SR));
755 ssc_writel(ssc_p->ssc->regs, CR, dma_params->mask->ssc_enable);
758 ssc_writel(ssc_p->ssc->regs, CR, dma_params->mask->ssc_disable);
777 ssc_p->ssc_state.ssc_sr = ssc_readl(ssc_p->ssc->regs, SR);
778 ssc_writel(ssc_p->ssc->regs, CR, SSC_BIT(CR_TXDIS) | SSC_BIT(CR_RXDIS));
781 ssc_p->ssc_state.ssc_imr = ssc_readl(ssc_p->ssc->regs, IMR);
782 ssc_writel(ssc_p->ssc->regs, IDR, ssc_p->ssc_state.ssc_imr);
784 ssc_p->ssc_state.ssc_cmr = ssc_readl(ssc_p->ssc->regs, CMR);
785 ssc_p->ssc_state.ssc_rcmr = ssc_readl(ssc_p->ssc->regs, RCMR);
786 ssc_p->ssc_state.ssc_rfmr = ssc_readl(ssc_p->ssc->regs, RFMR);
787 ssc_p->ssc_state.ssc_tcmr = ssc_readl(ssc_p->ssc->regs, TCMR);
788 ssc_p->ssc_state.ssc_tfmr = ssc_readl(ssc_p->ssc->regs, TFMR);
805 ssc_writel(ssc_p->ssc->regs, TFMR, ssc_p->ssc_state.ssc_tfmr);
806 ssc_writel(ssc_p->ssc->regs, TCMR, ssc_p->ssc_state.ssc_tcmr);
807 ssc_writel(ssc_p->ssc->regs, RFMR, ssc_p->ssc_state.ssc_rfmr);
808 ssc_writel(ssc_p->ssc->regs, RCMR, ssc_p->ssc_state.ssc_rcmr);
809 ssc_writel(ssc_p->ssc->regs, CMR, ssc_p->ssc_state.ssc_cmr);
812 ssc_writel(ssc_p->ssc->regs, IER, ssc_p->ssc_state.ssc_imr);
820 ssc_writel(ssc_p->ssc->regs, CR, cr);
861 .name = "atmel-ssc",
868 struct ssc_device *ssc = dev_get_drvdata(dev);
878 if (ssc->pdata->use_dma)
897 struct ssc_device *ssc;
901 ssc = ssc_request(ssc_id);
902 if (IS_ERR(ssc)) {
904 PTR_ERR(ssc));
905 return PTR_ERR(ssc);
907 ssc_info[ssc_id].ssc = ssc;
910 ret = asoc_ssc_init(&ssc->pdev->dev);
918 struct ssc_device *ssc = ssc_info[ssc_id].ssc;
920 ssc_free(ssc);