Firefly开源社区

12
发表新贴
打印 上一主题 下一主题

请教: 如何修改音频输入通道

7

积分

0

威望

0

贡献

游客

积分
7

请教: 如何修改音频输入通道

发表于 2015-10-27 15:15:19      浏览:10387 | 回复:10        打印      只看该作者   [复制链接] 楼主
请教在RK3128上, 我想用line in 来录音, 结果全部被板载mic 抢去, 系统没有自动切换到line in。

请问Kernel需要修改什么来支持自动切换, 或者直接只支持line in 输入也可以。

还望各位大神不吝赐教
回复

使用道具 举报

41

积分

0

威望

0

贡献

技术小白

积分
41
发表于 2015-10-27 17:00:17        只看该作者  沙发
帮顶
回复

使用道具 举报

2918

积分

56

威望

46

贡献

高级创客

Rank: 6Rank: 6

积分
2918

优秀版主论坛元老

发表于 2015-10-27 17:51:58        只看该作者  板凳
line in有个检测脚,检测到line in插入时会切过去
可以看看:sound/soc/codecs/rk312x_codec.c里面的aux_det_isr中断接口
回复

使用道具 举报

41

积分

0

威望

0

贡献

技术小白

积分
41
发表于 2015-10-28 09:06:26        只看该作者  地板
zhansb 发表于 2015-10-27 17:51
line in有个检测脚,检测到line in插入时会切过去
可以看看:sound/soc/codecs/rk312x_codec.c里面的aux_d ...

这个代码我也看到了。我这边的试验结果是这样的:插入麦克 line in,说话声音直接播放到了line out。
系统log显示,的确是linein on了。 然后调节了一下音量,系统log显示,line in off再 line in on。但是说话声音不再从line out 输出。 这目测是个bug,有修复方案吗?
这个是问题一。

接着问题一,然后打开系统的录音机,开始录音,对着麦克说话,录音没有记录,对着板载mic说话,系统记录了。 也就是说板载mic处于打开状态,但是line in 没有打开,虽然系统log显示:line in on了。

另外一种情况就是,麦不插入linein 打开系统录音机,开始录音之后插入,再调节音量,这时,录音又从line in 进入了。板载不生效了。

另外,对于音频播放,最新的固件貌似也有问题。有时候调节音量,没有系统的 按键音。

请帮忙修复一下这个系统问题,谢谢。
回复

使用道具 举报

41

积分

0

威望

0

贡献

技术小白

积分
41
发表于 2015-10-28 09:32:06        只看该作者  5#
static struct rk312x_reg_val_typ rk312x_codec_linein_bypass[] = {
{0x18, 0x32},
{0xa0, 0x40|0x08},
{0xa0, 0x62|0x08},
{0xa4, 0x88},
{0xa4, 0xcc},
{0xa4, 0xee},
{0xa8, 0x44},
{0xb0, 0x92},
{0xb0, 0xdb},
{0xac, 0x66}, /*bypass*/
{0xa8, 0x55},
{0xa8, 0x77},
{0xa4, 0xff},
{0xb0, 0xff},
{0xa0, 0x73|0x08},
{0xb4, OUT_VOLUME},
{0xb8, OUT_VOLUME},

{0x88, 0x80},
{0x88, 0xc0},
{0x88, 0xc7},
{0x9c, 0x88},
{0x8c, 0x04},
{0x90, 0x66},
{0x9c, 0xcc},
{0x9c, 0xee},
{0x8c, 0x07},
{0x90, 0xbb},// line in
{0x94, 0x20 | CAP_VOL},
{0x98, CAP_VOL},
{0x88, 0xf7},
{0x28, 0x3c},
/* {0x124, 0x78}, /
/ {0x164, 0x78}, */
{0x10c, 0x20 | CAP_VOL},
{0x14c, 0x20 | CAP_VOL},

这组数据,貌似是写soc的,插入中断时,直接就切到了line out。
能否告知,寄存器的作用和这组数据的写法,我要控制line in 插入时不到line out。并且关闭板载mic
回复

使用道具 举报

2918

积分

56

威望

46

贡献

高级创客

Rank: 6Rank: 6

积分
2918

优秀版主论坛元老

发表于 2015-10-28 15:40:36        只看该作者  6#
您提到的问题我们接下来会跟进
回复

使用道具 举报

41

积分

0

威望

0

贡献

技术小白

积分
41
发表于 2015-10-28 16:24:09        只看该作者  7#
zhansb 发表于 2015-10-28 15:40
您提到的问题我们接下来会跟进

已经开始自立更生,寄存器文档已经找到,解决了linein直接到lineout的问题.
现在还有一个linein输入无法录音的问题.
坐等你们跟进.
回复

使用道具 举报

41

积分

0

威望

0

贡献

技术小白

积分
41
发表于 2015-10-28 17:55:27        只看该作者  8#
已经搞定,强行修改的,供参考。
static struct rk312x_reg_val_typ capture_power_up_list[] = {
        {0x88, 0x80},
        {0x88, 0xc0},
        {0x88, 0xc7},
        {0x9c, 0x88},
        {0x8c, 0x04},
        {0x90, 0xAA},//{0x90, 0x66},
        {0x9c, 0xcc},
        {0x9c, 0xee},
        {0x8c, 0x07},
        {0x90, 0xBB},//{0x90, 0x77},
        {0x94, 0x20 | CAP_VOL},
        {0x98, CAP_VOL},
        {0x88, 0xf7},
        {0x28, 0x3c},
        /* {0x124, 0x78}, */
        /* {0x164, 0x78}, */
        {0x10c, 0x20 | CAP_VOL},
        {0x14c, 0x20 | CAP_VOL},
        /*close left channel*/
        {0x90, 0x0B},//{0x90, 0x07},
        {0x88, 0xd7},
        {0x8c, 0x07},
        {0x9c, 0x0e},

};
回复

使用道具 举报

25

积分

0

威望

0

贡献

技术小白

积分
25
发表于 2015-12-11 15:26:47        只看该作者  9#
楼主,你好,请问你的问题解决了吗?我这边也在调MIC,碰到一些问题,能请教些问题吗?我Q:782506350.   
感激不尽。
回复

使用道具 举报

74

积分

0

威望

0

贡献

技术小白

积分
74
发表于 2016-6-20 16:05:53        只看该作者  10#
  楼主,你这样改了以后,貌似mic就不能录音了
回复

使用道具 举报

返回列表
12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表