Lines Matching refs:ssc

163 	ssc_sr = (unsigned long)ssc_readl(ssc_p->ssc->regs, SR)  in atmel_ssc_interrupt()
164 & (unsigned long)ssc_readl(ssc_p->ssc->regs, IMR); in atmel_ssc_interrupt()
211 struct ssc_device *ssc = ssc_p->ssc; in atmel_ssc_hw_rule_rate() local
231 && ssc->clk_from_rk_pin) in atmel_ssc_hw_rule_rate()
241 && !ssc->clk_from_rk_pin) in atmel_ssc_hw_rule_rate()
294 ssc_readl(ssc_p->ssc->regs, SR)); in atmel_ssc_startup()
298 clk_enable(ssc_p->ssc->clk); in atmel_ssc_startup()
299 ssc_p->mck_rate = clk_get_rate(ssc_p->ssc->clk); in atmel_ssc_startup()
302 ssc_writel(ssc_p->ssc->regs, CR, SSC_BIT(CR_SWRST)); in atmel_ssc_startup()
324 dma_params->ssc = ssc_p->ssc; in atmel_ssc_startup()
361 dma_params->ssc = NULL; in atmel_ssc_shutdown()
372 free_irq(ssc_p->ssc->irq, ssc_p); in atmel_ssc_shutdown()
377 ssc_writel(ssc_p->ssc->regs, CR, SSC_BIT(CR_SWRST)); in atmel_ssc_shutdown()
385 clk_disable(ssc_p->ssc->clk); in atmel_ssc_shutdown()
450 struct ssc_device *ssc = ssc_p->ssc; in atmel_ssc_hw_params() local
511 if (bits > 16 && !ssc->pdata->has_fslen_ext) { in atmel_ssc_hw_params()
562 | SSC_BF(RCMR_CKS, ssc->clk_from_rk_pin ? in atmel_ssc_hw_params()
578 | SSC_BF(TCMR_CKS, ssc->clk_from_rk_pin ? in atmel_ssc_hw_params()
593 if (bits > 16 && !ssc->pdata->has_fslen_ext) { in atmel_ssc_hw_params()
608 | SSC_BF(RCMR_CKS, ssc->clk_from_rk_pin ? in atmel_ssc_hw_params()
625 | SSC_BF(TCMR_CKS, ssc->clk_from_rk_pin ? in atmel_ssc_hw_params()
692 | SSC_BF(RCMR_CKS, ssc->clk_from_rk_pin ? in atmel_ssc_hw_params()
708 | SSC_BF(RCMR_CKS, ssc->clk_from_rk_pin ? in atmel_ssc_hw_params()
731 if (!ssc_p->ssc->pdata->use_dma) { in atmel_ssc_hw_params()
732 ssc_writel(ssc_p->ssc->regs, PDC_RPR, 0); in atmel_ssc_hw_params()
733 ssc_writel(ssc_p->ssc->regs, PDC_RCR, 0); in atmel_ssc_hw_params()
734 ssc_writel(ssc_p->ssc->regs, PDC_RNPR, 0); in atmel_ssc_hw_params()
735 ssc_writel(ssc_p->ssc->regs, PDC_RNCR, 0); in atmel_ssc_hw_params()
737 ssc_writel(ssc_p->ssc->regs, PDC_TPR, 0); in atmel_ssc_hw_params()
738 ssc_writel(ssc_p->ssc->regs, PDC_TCR, 0); in atmel_ssc_hw_params()
739 ssc_writel(ssc_p->ssc->regs, PDC_TNPR, 0); in atmel_ssc_hw_params()
740 ssc_writel(ssc_p->ssc->regs, PDC_TNCR, 0); in atmel_ssc_hw_params()
743 ret = request_irq(ssc_p->ssc->irq, atmel_ssc_interrupt, 0, in atmel_ssc_hw_params()
749 clk_disable(ssc_p->ssc->clk); in atmel_ssc_hw_params()
757 ssc_writel(ssc_p->ssc->regs, CMR, ssc_p->cmr_div); in atmel_ssc_hw_params()
760 ssc_writel(ssc_p->ssc->regs, RCMR, rcmr); in atmel_ssc_hw_params()
761 ssc_writel(ssc_p->ssc->regs, RFMR, rfmr); in atmel_ssc_hw_params()
764 ssc_writel(ssc_p->ssc->regs, TCMR, tcmr); in atmel_ssc_hw_params()
765 ssc_writel(ssc_p->ssc->regs, TFMR, tfmr); in atmel_ssc_hw_params()
786 ssc_writel(ssc_p->ssc->regs, CR, dma_params->mask->ssc_disable); in atmel_ssc_prepare()
787 ssc_writel(ssc_p->ssc->regs, IDR, dma_params->mask->ssc_error); in atmel_ssc_prepare()
791 ssc_readl(ssc_p->ssc->regs, SR)); in atmel_ssc_prepare()
813 ssc_writel(ssc_p->ssc->regs, CR, dma_params->mask->ssc_enable); in atmel_ssc_trigger()
816 ssc_writel(ssc_p->ssc->regs, CR, dma_params->mask->ssc_disable); in atmel_ssc_trigger()
834 ssc_p->ssc_state.ssc_sr = ssc_readl(ssc_p->ssc->regs, SR); in atmel_ssc_suspend()
835 ssc_writel(ssc_p->ssc->regs, CR, SSC_BIT(CR_TXDIS) | SSC_BIT(CR_RXDIS)); in atmel_ssc_suspend()
838 ssc_p->ssc_state.ssc_imr = ssc_readl(ssc_p->ssc->regs, IMR); in atmel_ssc_suspend()
839 ssc_writel(ssc_p->ssc->regs, IDR, ssc_p->ssc_state.ssc_imr); in atmel_ssc_suspend()
841 ssc_p->ssc_state.ssc_cmr = ssc_readl(ssc_p->ssc->regs, CMR); in atmel_ssc_suspend()
842 ssc_p->ssc_state.ssc_rcmr = ssc_readl(ssc_p->ssc->regs, RCMR); in atmel_ssc_suspend()
843 ssc_p->ssc_state.ssc_rfmr = ssc_readl(ssc_p->ssc->regs, RFMR); in atmel_ssc_suspend()
844 ssc_p->ssc_state.ssc_tcmr = ssc_readl(ssc_p->ssc->regs, TCMR); in atmel_ssc_suspend()
845 ssc_p->ssc_state.ssc_tfmr = ssc_readl(ssc_p->ssc->regs, TFMR); in atmel_ssc_suspend()
863 ssc_writel(ssc_p->ssc->regs, TFMR, ssc_p->ssc_state.ssc_tfmr); in atmel_ssc_resume()
864 ssc_writel(ssc_p->ssc->regs, TCMR, ssc_p->ssc_state.ssc_tcmr); in atmel_ssc_resume()
865 ssc_writel(ssc_p->ssc->regs, RFMR, ssc_p->ssc_state.ssc_rfmr); in atmel_ssc_resume()
866 ssc_writel(ssc_p->ssc->regs, RCMR, ssc_p->ssc_state.ssc_rcmr); in atmel_ssc_resume()
867 ssc_writel(ssc_p->ssc->regs, CMR, ssc_p->ssc_state.ssc_cmr); in atmel_ssc_resume()
870 ssc_writel(ssc_p->ssc->regs, IER, ssc_p->ssc_state.ssc_imr); in atmel_ssc_resume()
878 ssc_writel(ssc_p->ssc->regs, CR, cr); in atmel_ssc_resume()
927 struct ssc_device *ssc = platform_get_drvdata(pdev); in asoc_ssc_init() local
937 if (ssc->pdata->use_dma) in asoc_ssc_init()
958 struct ssc_device *ssc = platform_get_drvdata(pdev); in asoc_ssc_exit() local
960 if (ssc->pdata->use_dma) in asoc_ssc_exit()
973 struct ssc_device *ssc; in atmel_ssc_set_audio() local
977 ssc = ssc_request(ssc_id); in atmel_ssc_set_audio()
978 if (IS_ERR(ssc)) { in atmel_ssc_set_audio()
980 PTR_ERR(ssc)); in atmel_ssc_set_audio()
981 return PTR_ERR(ssc); in atmel_ssc_set_audio()
983 ssc_info[ssc_id].ssc = ssc; in atmel_ssc_set_audio()
986 ret = asoc_ssc_init(&ssc->pdev->dev); in atmel_ssc_set_audio()
994 struct ssc_device *ssc = ssc_info[ssc_id].ssc; in atmel_ssc_put_audio() local
996 asoc_ssc_exit(&ssc->pdev->dev); in atmel_ssc_put_audio()
997 ssc_free(ssc); in atmel_ssc_put_audio()