15 #include <linux/module.h>
26 (SND_SOC_DAIDIR_PLAYBACK | SND_SOC_DAIDIR_CAPTURE)
29 SNDRV_PCM_RATE_8000_48000
32 #define AC97_FMTS SNDRV_PCM_FMTBIT_S16_BE
34 #define AC97_FMTS SNDRV_PCM_FMTBIT_S16_LE
48 static unsigned short txx9aclc_ac97_read(
struct snd_ac97 *ac97,
57 reg |= ac97->
num << 7;
81 static void txx9aclc_ac97_write(
struct snd_ac97 *ac97,
unsigned short reg,
93 "ac97 write timeout (reg %#x)\n", reg);
98 static void txx9aclc_ac97_cold_reset(
struct snd_ac97 *ac97)
113 dev_err(&ac97->
dev,
"primary codec is not ready "
123 .read = txx9aclc_ac97_read,
124 .write = txx9aclc_ac97_write,
125 .reset = txx9aclc_ac97_cold_reset,
141 txx9aclc_drvdata = snd_soc_dai_get_drvdata(dai);
151 txx9aclc_drvdata =
NULL;
157 .probe = txx9aclc_ac97_probe,
158 .remove = txx9aclc_ac97_remove,
188 dev_name(&pdev->
dev)))
194 platform_set_drvdata(pdev, drvdata);
197 r->
start >= TXX9_DIRECTMAP_BASE &&
198 r->
start < TXX9_DIRECTMAP_BASE + 0x400000)
199 drvdata->
physbase |= 0xf00000000ull;
203 err = devm_request_irq(&pdev->
dev, irq, txx9aclc_ac97_irq,
204 0, dev_name(&pdev->
dev), drvdata);
218 .probe = txx9aclc_ac97_dev_probe,
221 .name =
"txx9aclc-ac97",