Lines Matching refs: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);
776 ssc_p->ssc_state.ssc_sr = ssc_readl(ssc_p->ssc->regs, SR);
777 ssc_writel(ssc_p->ssc->regs, CR, SSC_BIT(CR_TXDIS) | SSC_BIT(CR_RXDIS));
780 ssc_p->ssc_state.ssc_imr = ssc_readl(ssc_p->ssc->regs, IMR);
781 ssc_writel(ssc_p->ssc->regs, IDR, ssc_p->ssc_state.ssc_imr);
783 ssc_p->ssc_state.ssc_cmr = ssc_readl(ssc_p->ssc->regs, CMR);
784 ssc_p->ssc_state.ssc_rcmr = ssc_readl(ssc_p->ssc->regs, RCMR);
785 ssc_p->ssc_state.ssc_rfmr = ssc_readl(ssc_p->ssc->regs, RFMR);
786 ssc_p->ssc_state.ssc_tcmr = ssc_readl(ssc_p->ssc->regs, TCMR);
787 ssc_p->ssc_state.ssc_tfmr = ssc_readl(ssc_p->ssc->regs, TFMR);
804 ssc_writel(ssc_p->ssc->regs, TFMR, ssc_p->ssc_state.ssc_tfmr);
805 ssc_writel(ssc_p->ssc->regs, TCMR, ssc_p->ssc_state.ssc_tcmr);
806 ssc_writel(ssc_p->ssc->regs, RFMR, ssc_p->ssc_state.ssc_rfmr);
807 ssc_writel(ssc_p->ssc->regs, RCMR, ssc_p->ssc_state.ssc_rcmr);
808 ssc_writel(ssc_p->ssc->regs, CMR, ssc_p->ssc_state.ssc_cmr);
811 ssc_writel(ssc_p->ssc->regs, IER, ssc_p->ssc_state.ssc_imr);
819 ssc_writel(ssc_p->ssc->regs, CR, cr);
856 .name = "atmel-ssc",
864 struct ssc_device *ssc = dev_get_drvdata(dev);
874 if (ssc->pdata->use_dma)
893 struct ssc_device *ssc;
896 ssc = ssc_request(ssc_id);
897 if (IS_ERR(ssc)) {
899 PTR_ERR(ssc));
900 return PTR_ERR(ssc);
902 ssc_info[ssc_id].ssc = ssc;
905 return asoc_ssc_init(&ssc->pdev->dev);
911 struct ssc_device *ssc = ssc_info[ssc_id].ssc;
913 ssc_free(ssc);