sound: ASoC: Blackfin: AC97 Blackfin CPU DAI driver
[linux-2.6.git] / sound / soc / blackfin / bf5xx-ac97.h
blob3f77cc558dc03fe4a4847096f5bc07f8152dd7d6
1 /*
2 * linux/sound/arm/bf5xx-ac97.h
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
9 #ifndef _BF5XX_AC97_H
10 #define _BF5XX_AC97_H
12 extern struct snd_ac97_bus_ops bf5xx_ac97_ops;
13 extern struct snd_ac97 *ac97;
14 /* Frame format in memory, only support stereo currently */
15 struct ac97_frame {
16 u16 ac97_tag; /* slot 0 */
17 u16 ac97_addr; /* slot 1 */
18 u16 ac97_data; /* slot 2 */
19 u32 ac97_pcm; /* slot 3 and 4: left and right pcm data */
20 } __attribute__ ((packed));
22 #define TAG_VALID 0x8000
23 #define TAG_CMD 0x6000
24 #define TAG_PCM_LEFT 0x1000
25 #define TAG_PCM_RIGHT 0x0800
26 #define TAG_PCM (TAG_PCM_LEFT | TAG_PCM_RIGHT)
28 extern struct snd_soc_dai bfin_ac97_dai;
30 void bf5xx_pcm_to_ac97(struct ac97_frame *dst, const __u32 *src, \
31 size_t count);
33 void bf5xx_ac97_to_pcm(const struct ac97_frame *src, __u32 *dst, \
34 size_t count);
36 #endif