Lines Matching refs:nuc900_audio
30 struct nuc900_audio *nuc900_ac97_data;
35 struct nuc900_audio *nuc900_audio = nuc900_ac97_data; in nuc900_checkready() local
37 if (!(AUDIO_READ(nuc900_audio->mmio + ACTL_ACIS0) & CODEC_READY)) in nuc900_checkready()
47 struct nuc900_audio *nuc900_audio = nuc900_ac97_data; in nuc900_ac97_read() local
54 dev_err(nuc900_audio->dev, "AC97 codec is not ready\n"); in nuc900_ac97_read()
59 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACOS1, R_WB | reg); in nuc900_ac97_read()
62 val = AUDIO_READ(nuc900_audio->mmio + ACTL_ACOS0); in nuc900_ac97_read()
64 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACOS0, val); in nuc900_ac97_read()
69 while (!(AUDIO_READ(nuc900_audio->mmio + ACTL_ACCON) & AC_R_FINISH) in nuc900_ac97_read()
74 dev_err(nuc900_audio->dev, "AC97 read register time out !\n"); in nuc900_ac97_read()
79 val = AUDIO_READ(nuc900_audio->mmio + ACTL_ACOS0) ; in nuc900_ac97_read()
81 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACOS0, val); in nuc900_ac97_read()
83 if (AUDIO_READ(nuc900_audio->mmio + ACTL_ACIS1) >> 2 != reg) { in nuc900_ac97_read()
84 dev_err(nuc900_audio->dev, in nuc900_ac97_read()
89 val = (AUDIO_READ(nuc900_audio->mmio + ACTL_ACIS2) & 0xFFFF); in nuc900_ac97_read()
100 struct nuc900_audio *nuc900_audio = nuc900_ac97_data; in nuc900_ac97_write() local
107 dev_err(nuc900_audio->dev, "AC97 codec is not ready\n"); in nuc900_ac97_write()
110 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACOS1, reg); in nuc900_ac97_write()
113 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACOS2, val); in nuc900_ac97_write()
116 tmp = AUDIO_READ(nuc900_audio->mmio + ACTL_ACOS0); in nuc900_ac97_write()
118 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACOS0, tmp); in nuc900_ac97_write()
123 while ((AUDIO_READ(nuc900_audio->mmio + ACTL_ACCON) & AC_W_FINISH) in nuc900_ac97_write()
128 dev_err(nuc900_audio->dev, "AC97 write register time out !\n"); in nuc900_ac97_write()
130 tmp = AUDIO_READ(nuc900_audio->mmio + ACTL_ACOS0); in nuc900_ac97_write()
132 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACOS0, tmp); in nuc900_ac97_write()
140 struct nuc900_audio *nuc900_audio = nuc900_ac97_data; in nuc900_ac97_warm_reset() local
146 val = AUDIO_READ(nuc900_audio->mmio + ACTL_ACCON); in nuc900_ac97_warm_reset()
148 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACCON, val); in nuc900_ac97_warm_reset()
154 dev_err(nuc900_audio->dev, "AC97 codec is not ready\n"); in nuc900_ac97_warm_reset()
161 struct nuc900_audio *nuc900_audio = nuc900_ac97_data; in nuc900_ac97_cold_reset() local
167 val = AUDIO_READ(nuc900_audio->mmio + ACTL_RESET); in nuc900_ac97_cold_reset()
169 AUDIO_WRITE(nuc900_audio->mmio + ACTL_RESET, val); in nuc900_ac97_cold_reset()
171 val = AUDIO_READ(nuc900_audio->mmio + ACTL_RESET); in nuc900_ac97_cold_reset()
173 AUDIO_WRITE(nuc900_audio->mmio + ACTL_RESET, val); in nuc900_ac97_cold_reset()
177 val = AUDIO_READ(nuc900_audio->mmio + ACTL_RESET); in nuc900_ac97_cold_reset()
179 AUDIO_WRITE(nuc900_audio->mmio + ACTL_RESET, val); in nuc900_ac97_cold_reset()
181 val = AUDIO_READ(nuc900_audio->mmio + ACTL_RESET); in nuc900_ac97_cold_reset()
183 AUDIO_WRITE(nuc900_audio->mmio + ACTL_RESET, val); in nuc900_ac97_cold_reset()
186 val = AUDIO_READ(nuc900_audio->mmio + ACTL_ACCON); in nuc900_ac97_cold_reset()
188 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACCON, val); in nuc900_ac97_cold_reset()
190 val = AUDIO_READ(nuc900_audio->mmio + ACTL_ACCON); in nuc900_ac97_cold_reset()
192 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACCON, val); in nuc900_ac97_cold_reset()
211 struct nuc900_audio *nuc900_audio = nuc900_ac97_data; in nuc900_ac97_trigger() local
220 val = AUDIO_READ(nuc900_audio->mmio + ACTL_RESET); in nuc900_ac97_trigger()
222 tmp = AUDIO_READ(nuc900_audio->mmio + ACTL_ACOS0); in nuc900_ac97_trigger()
224 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACOS0, tmp); in nuc900_ac97_trigger()
226 tmp = AUDIO_READ(nuc900_audio->mmio + ACTL_PSR); in nuc900_ac97_trigger()
228 AUDIO_WRITE(nuc900_audio->mmio + ACTL_PSR, tmp); in nuc900_ac97_trigger()
231 tmp = AUDIO_READ(nuc900_audio->mmio + ACTL_RSR); in nuc900_ac97_trigger()
234 AUDIO_WRITE(nuc900_audio->mmio + ACTL_RSR, tmp); in nuc900_ac97_trigger()
238 AUDIO_WRITE(nuc900_audio->mmio + ACTL_RESET, val); in nuc900_ac97_trigger()
243 val = AUDIO_READ(nuc900_audio->mmio + ACTL_RESET); in nuc900_ac97_trigger()
245 tmp = AUDIO_READ(nuc900_audio->mmio + ACTL_ACOS0); in nuc900_ac97_trigger()
247 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACOS0, tmp); in nuc900_ac97_trigger()
249 AUDIO_WRITE(nuc900_audio->mmio + ACTL_PSR, RESET_PRSR); in nuc900_ac97_trigger()
252 AUDIO_WRITE(nuc900_audio->mmio + ACTL_RSR, RESET_PRSR); in nuc900_ac97_trigger()
256 AUDIO_WRITE(nuc900_audio->mmio + ACTL_RESET, val); in nuc900_ac97_trigger()
268 struct nuc900_audio *nuc900_audio = nuc900_ac97_data; in nuc900_ac97_probe() local
274 clk_enable(nuc900_audio->clk); in nuc900_ac97_probe()
277 val = AUDIO_READ(nuc900_audio->mmio + ACTL_CON); in nuc900_ac97_probe()
279 AUDIO_WRITE(nuc900_audio->mmio + ACTL_CON, val); in nuc900_ac97_probe()
288 struct nuc900_audio *nuc900_audio = nuc900_ac97_data; in nuc900_ac97_remove() local
290 clk_disable(nuc900_audio->clk); in nuc900_ac97_remove()
323 struct nuc900_audio *nuc900_audio; in nuc900_ac97_drvprobe() local
329 nuc900_audio = devm_kzalloc(&pdev->dev, sizeof(struct nuc900_audio), in nuc900_ac97_drvprobe()
331 if (!nuc900_audio) in nuc900_ac97_drvprobe()
334 spin_lock_init(&nuc900_audio->lock); in nuc900_ac97_drvprobe()
336 nuc900_audio->res = platform_get_resource(pdev, IORESOURCE_MEM, 0); in nuc900_ac97_drvprobe()
337 nuc900_audio->mmio = devm_ioremap_resource(&pdev->dev, in nuc900_ac97_drvprobe()
338 nuc900_audio->res); in nuc900_ac97_drvprobe()
339 if (IS_ERR(nuc900_audio->mmio)) in nuc900_ac97_drvprobe()
340 return PTR_ERR(nuc900_audio->mmio); in nuc900_ac97_drvprobe()
342 nuc900_audio->clk = devm_clk_get(&pdev->dev, NULL); in nuc900_ac97_drvprobe()
343 if (IS_ERR(nuc900_audio->clk)) { in nuc900_ac97_drvprobe()
344 ret = PTR_ERR(nuc900_audio->clk); in nuc900_ac97_drvprobe()
348 nuc900_audio->irq_num = platform_get_irq(pdev, 0); in nuc900_ac97_drvprobe()
349 if (!nuc900_audio->irq_num) { in nuc900_ac97_drvprobe()
354 nuc900_ac97_data = nuc900_audio; in nuc900_ac97_drvprobe()
366 mfp_set_groupg(nuc900_audio->dev, NULL); in nuc900_ac97_drvprobe()