uda134x的音频驱动.docVIP

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
uda134x的音频驱动

uda134x的音频驱动 /* \linux-2.6.32.2\sound\soc\codecs\uda134x.c * uda134x.c -- UDA134X ALSA SoC Codec driver * zhoujianchao */ #include linux/module.h #include linux/delay.h #include sound/pcm.h #include sound/pcm_params.h #include sound/soc.h #include sound/soc-dapm.h #include sound/initval.h #include sound/uda134x.h #include sound/l3.h #include uda134x.h #define POWER_OFF_ON_STANDBY 1 #define UDA134X_RATES SNDRV_PCM_RATE_8000_48000 #define UDA134X_FORMATS (SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_LE | \ SNDRV_PCM_FMTBIT_S18_3LE | SNDRV_PCM_FMTBIT_S20_3LE) struct uda134x_priv { int sysclk; int dai_fmt; struct snd_pcm_substream *master_substream; struct snd_pcm_substream *slave_substream; }; /* In-data addresses are hard-coded into the reg-cache values */ static const char uda134x_reg[UDA134X_REGS_NUM] = { /* Extended address registers */ 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, /* Status, data regs */ 0x00, 0x83, 0x00, 0x40, 0x80, 0x00, }; /* * The codec has no support for reading its registers except for peak level... */ static inline unsigned int uda134x_read_reg_cache(struct snd_soc_codec *codec, unsigned int reg) { u8 *cache = codec-reg_cache; if (reg = UDA134X_REGS_NUM) return -1; return cache[reg]; } /* * Write the register cache */ static inline void uda134x_write_reg_cache(struct snd_soc_codec *codec, u8 reg, unsigned int value) { u8 *cache = codec-reg_cache; if (reg = UDA134X_REGS_NUM) return; cache[reg] = value; } /* * Write to the uda134x registers * */ static int uda134x_write(struct snd_soc_codec *codec, unsigned int reg, unsigned int value) { int ret; u8 addr; u8 data = value; struct uda134x_platform_data *pd = codec-control_data; pr_debug(%s reg: %02X, value:%02X\n, __func__, reg, value); if (reg = UDA134X_REGS_NUM) { printk(KERN_ERR %s unkown register: reg: %u, __func__, reg); return -EINVAL; } uda134x_write_reg_cache(codec, reg, value); switch (reg) {

文档评论(0)

me54545 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档