Lines Matching +full:i2s +full:- +full:regs

1 // SPDX-License-Identifier: GPL-2.0+
3 // ALSA Soc Audio Layer - S3C2412 I2S driver
9 // Copyright (c) 2007, 2004-2005 Simtec Electronics
23 #include "regs-i2s-v2.h"
24 #include "s3c2412-i2s.h"
26 #include <linux/platform_data/asoc-s3c.h>
56 s3c2412_i2s.iis_cclk = devm_clk_get(dai->dev, "i2sclk"); in s3c2412_i2s_probe()
90 struct s3c_i2sv2_info *i2s = snd_soc_dai_get_drvdata(cpu_dai); in s3c2412_i2s_hw_params() local
95 iismod = readl(i2s->regs + S3C2412_IISMOD); in s3c2412_i2s_hw_params()
107 writel(iismod, i2s->regs + S3C2412_IISMOD); in s3c2412_i2s_hw_params()
116 struct s3c_i2sv2_info *i2s = snd_soc_component_get_drvdata(component); in s3c2412_i2s_suspend() local
119 if (component->active) { in s3c2412_i2s_suspend()
120 i2s->suspend_iismod = readl(i2s->regs + S3C2412_IISMOD); in s3c2412_i2s_suspend()
121 i2s->suspend_iiscon = readl(i2s->regs + S3C2412_IISCON); in s3c2412_i2s_suspend()
122 i2s->suspend_iispsr = readl(i2s->regs + S3C2412_IISPSR); in s3c2412_i2s_suspend()
126 iismod = readl(i2s->regs + S3C2412_IISMOD); in s3c2412_i2s_suspend()
143 struct s3c_i2sv2_info *i2s = snd_soc_component_get_drvdata(component); in s3c2412_i2s_resume() local
146 component->active, i2s->suspend_iismod, i2s->suspend_iiscon); in s3c2412_i2s_resume()
148 if (component->active) { in s3c2412_i2s_resume()
149 writel(i2s->suspend_iiscon, i2s->regs + S3C2412_IISCON); in s3c2412_i2s_resume()
150 writel(i2s->suspend_iismod, i2s->regs + S3C2412_IISMOD); in s3c2412_i2s_resume()
151 writel(i2s->suspend_iispsr, i2s->regs + S3C2412_IISPSR); in s3c2412_i2s_resume()
154 i2s->regs + S3C2412_IISFIC); in s3c2412_i2s_resume()
157 writel(0x0, i2s->regs + S3C2412_IISFIC); in s3c2412_i2s_resume()
195 .name = "s3c2412-i2s",
204 struct s3c_audio_pdata *pdata = dev_get_platdata(&pdev->dev); in s3c2412_iis_dev_probe()
207 dev_err(&pdev->dev, "missing platform data"); in s3c2412_iis_dev_probe()
208 return -ENXIO; in s3c2412_iis_dev_probe()
212 s3c2412_i2s.regs = devm_ioremap_resource(&pdev->dev, res); in s3c2412_iis_dev_probe()
213 if (IS_ERR(s3c2412_i2s.regs)) in s3c2412_iis_dev_probe()
214 return PTR_ERR(s3c2412_i2s.regs); in s3c2412_iis_dev_probe()
216 s3c2412_i2s_pcm_stereo_out.addr = res->start + S3C2412_IISTXD; in s3c2412_iis_dev_probe()
217 s3c2412_i2s_pcm_stereo_out.filter_data = pdata->dma_playback; in s3c2412_iis_dev_probe()
218 s3c2412_i2s_pcm_stereo_in.addr = res->start + S3C2412_IISRXD; in s3c2412_iis_dev_probe()
219 s3c2412_i2s_pcm_stereo_in.filter_data = pdata->dma_capture; in s3c2412_iis_dev_probe()
221 ret = samsung_asoc_dma_platform_register(&pdev->dev, in s3c2412_iis_dev_probe()
222 pdata->dma_filter, in s3c2412_iis_dev_probe()
229 ret = s3c_i2sv2_register_component(&pdev->dev, -1, in s3c2412_iis_dev_probe()
241 .name = "s3c2412-iis",
249 MODULE_DESCRIPTION("S3C2412 I2S SoC Interface");
251 MODULE_ALIAS("platform:s3c2412-iis");