技术专栏
RK3288 Android5.1下的RT5640调试
首先交代下运行环境:
RK3288+Android5.1 mid版本
原来开发板上用的音频Codec是RT5631,现在板子上换了RT5640,拿到板子后首先Google一把,收到了CSDN的一篇文章,按他的说法是RT3224和RT5640是pin2pin的,软硬件完全兼容,使用RT3261的驱动即可,我实际在Android5.1上测试不行。于是还是使用了RT5640试了下,发现有有有声音,一路没有声音。修改过程记录如下:
1.修改config
路径kernel/arch/arm/configs/rockchip_defconfig:
CONFIG_SND_RK_SOC_RT5640=y
2.添加DTS
路径kernel/arch/arm/boot/dts/rk3288-tb_8846.dts:
rockchip-rt5640 {
status = "okay";
compatible = "rockchip-rt5640";
dais {
dai0 {
audio-codec = <&rt5640>;
audio-controller = <&i2s>;
format = "i2s";
//continuous-clock;
//bitclock-inversion;
//frame-inversion;
//bitclock-master;
//frame-master;
};
dai1 {
audio-codec = <&rt5640>;
audio-controller = <&i2s>;
//format = "i2s";
format = "dsp_a";
//continuous-clock;
bitclock-inversion;
//frame-inversion;
//bitclock-master;
//frame-master;
};
};
};
&i2c2 {
status = "okay";
rt5640: rt5640@1c {
compatible = "rt5640";
reg = <0x1c>;
codec-en-gpio = <1>;//sdk default high level
spk-num= <2>;
modem-input-mode = <1>;
lout-to-modem_mode = <1>;
spk-amplify = <2>;
playback-if1-data_control = <0>;
playback-if2-data_control = <0>;
status = "okay";
};
};
编译完成后烧写进去IN1P IN1N可以出声音了,但是IN2P IN2N死活没有声音,经过2天读RT5640 datasheet,终于搞定了问题,需要在kernel/sound/soc/codecs/rt5640.c里面做如下修改:
static struct rt5640_init_reg init_list[] = {
{RT5640_GEN_CTRL1 , 0x3f01},//fa[12:13] = 1'b; fa[8~11]=1; fa[0]=1
{RT5640_ADDA_CLK1 , 0x1114},//73[2] = 1'b
{RT5640_MICBIAS , 0x3030},//93[5:4] = 11'b
.....
....
{RT5640_REC_L2_MIXER , 0x007d},//Mic1 -> RECMIXL
// {RT5640_REC_R2_MIXER , 0x007d},//Mic1 -> RECMIXR // close by lwx
// {RT5640_REC_L2_MIXER , 0x006f},//Mic2 -> RECMIXL
{RT5640_REC_R2_MIXER , 0x006f},//Mic2 -> RECMIXR // open by lwx
{RT5640_STO_ADC_MIXER , 0x3020},//ADC -> Sto ADC mixer
.....
.....
修改完成后IN2P IN2N也可以输入声音了。
3.调试技巧
调试工具就是tinycap tinymix tinyplay编译进android系统即可
#采集声音
tinycap test.wav
#播放声音
tinyplay test.wav
#控制并改特定的寄存器
tinymix
还有2个超级有用的命令,可以实时修改codec的寄存器,可写,对于调试codec来说实在太方便了。
#读寄存器
cat sys/kernel/debug/asoc/RK_RT5640/rt5640.2-001c/codec_reg
#写寄存器
echo '01 007D' > sys/kernel/debug/asoc/RK_RT5640/rt5640.2-001c/codec_reg
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包
点赞
收藏
评论
打赏
- 分享
- 举报
评论
0个
手气红包
暂无数据
相关专栏
-
浏览量:6792次2020-04-13 21:20:16
-
浏览量:5475次2019-12-05 17:50:07
-
浏览量:2033次2022-03-03 09:00:13
-
浏览量:2322次2022-02-08 09:00:25
-
浏览量:3452次2019-12-05 18:03:06
-
浏览量:3477次2022-01-14 09:00:13
-
浏览量:3037次2022-03-27 09:00:15
-
浏览量:2316次2022-03-18 09:00:14
-
浏览量:2491次2022-02-09 09:00:16
-
浏览量:2088次2022-03-29 09:00:13
-
浏览量:2474次2022-02-24 09:00:19
-
浏览量:2682次2022-01-28 09:00:19
-
浏览量:2605次2022-03-24 09:00:15
-
浏览量:2312次2020-04-15 20:06:48
-
浏览量:4051次2022-02-19 09:00:30
-
浏览量:1391次2022-01-27 09:00:12
-
浏览量:4413次2022-03-05 09:00:16
-
浏览量:1591次2021-06-18 19:09:02
-
浏览量:2504次2022-01-16 09:00:16
置顶时间设置
结束时间
删除原因
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
打赏作者
goodman
您的支持将鼓励我继续创作!
打赏金额:
¥1
¥5
¥10
¥50
¥100
支付方式:
微信支付
打赏成功!
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
审核成功
发布时间设置
发布时间:
请选择发布时间设置
是否关联周任务-专栏模块
审核失败
失败原因
请选择失败原因
备注
请输入备注