[RK3288][Android6.0] 调试笔记 --- RT5640播放时的Codec寄存器列表
来源:互联网 发布:微信端口开发 编辑:程序博客网 时间:2024/06/04 18:11
Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
Codec: RT5640
此文给调试RT5640播放无声音的朋友做参考。
RT5640用的是RT3261的驱动.
speaker接的HPOL和HOPR, 因此走的是headset通路。
对应config配置在hardware/rockchip/audio/tinyalsa_hal/codec_config/rt3261_config.h中.
const struct config_control rt3261_headset_normal_controls[] = { //disable ASRC { .ctl_name = "ASRC Switch", .str_val = "Disable", }, { .ctl_name = "Speaker Playback Switch", .int_val = {off, off}, }, { .ctl_name = "HP mute Switch", .int_val = {off}, }, { .ctl_name = "OUT Playback Switch", .int_val = {off, off}, }, { .ctl_name = "Modem Input Switch", .int_val = {0}, }, //OPEN ROUTE { .ctl_name = "DAC L2 Mux", .str_val = "IF2", }, { .ctl_name = "DAC R2 Mux", .str_val = "IF2", }, { .ctl_name = "Mono dacr Mux", .str_val = "TxDC_R", }, { .ctl_name = "DACR Select", .str_val = "IF2_DAC", }, { .ctl_name = "Mono DAC MIXL DAC L2 Switch", .int_val = {on}, }, { .ctl_name = "Mono DAC MIXR DAC R2 Switch", .int_val = {on}, }, { .ctl_name = "OUT MIXL DAC L2 Switch", .int_val = {on}, }, { .ctl_name = "OUT MIXR DAC R2 Switch", .int_val = {on}, }, { .ctl_name = "HPO MIX HPVOL Switch", .int_val = {on}, }, //dBscale-min=-46.50dB,step=1.50dB,min=0,max=31 { .ctl_name = "Headphone Playback Volume", .int_val = {31, 31}, }, //dBscale-min=-65.625dB,step=0.375dB,min=0,max=175 { .ctl_name = "Mono DAC Playback Volume", .int_val = {175, 175}, }, //speaker normal { .ctl_name = "SPK MIXL DAC L2 Switch", .int_val = {off}, }, { .ctl_name = "SPK MIXR DAC R2 Switch", .int_val = {off}, }, //speaker incall { .ctl_name = "Stereo ADC MIXL ADC1 Switch", .int_val = {off}, }, { .ctl_name = "DAC MIXL Stereo ADC Switch", .int_val = {off}, }, { .ctl_name = "Mono DAC MIXL DAC L1 Switch", .int_val = {off}, }, { .ctl_name = "SPK MIXL OUT MIXL Switch", .int_val = {off}, }, { .ctl_name = "OUT MIXR DAC L2 Switch", .int_val = {off}, }, { .ctl_name = "SPK MIXR OUT MIXR Switch", .int_val = {off}, }, { .ctl_name = "Stereo DAC MIXR DAC R2 Switch", .int_val = {off}, }, { .ctl_name = "LOUT MIX DAC R1 Switch", .int_val = {off}, }, { .ctl_name = "Stereo DAC MIXL DAC L2 Switch", .int_val = {off}, }, { .ctl_name = "LOUT MIX DAC L1 Switch", .int_val = {off}, }, //bt incall { .ctl_name = "DAC MIXL INF1 Switch", .int_val = {off}, }, { .ctl_name = "Stereo DAC MIXL DAC L1 Switch", .int_val = {off}, }, { .ctl_name = "OUT MIXL DAC L1 Switch", .int_val = {off}, }, { .ctl_name = "LOUT MIX OUTVOL L Switch", .int_val = {off}, }, //close other mixer { .ctl_name = "OUT MIXL REC MIXL Switch", .int_val = {off}, }, { .ctl_name = "OUT MIXR REC MIXR Switch", .int_val = {off}, }, { .ctl_name = "DAC MIXR Stereo ADC Switch", .int_val = {off}, }, { .ctl_name = "HP mute Switch", .int_val = {on}, },};
播放时的寄存器列表如下:
0000: 000c0001: 88880002: 08080003: 88880004: 8000000d: 0000000e: 0040000f: 08080019: afaf001a: afaf001b: 0000001c: 2f2f001d: 2f2f001e: 00000027: 70600028: 70700029: c080002a: 5454002b: 4444002c: aa00002d: 0000002e: 0000002f: 0000003b: 0000003c: 007f003d: 0000003e: 007f0045: c0000046: 003e0047: 003e0048: e8000049: 2800004a: 0002004c: fc00004d: 0000004e: 0000004f: 01fd0050: 00000051: 00000052: 01fd0053: f0000061: c0c00062: 00000063: e8fc0064: 0e000065: c0000066: 0c00006a: 0037006c: fc000070: d0000071: 80000072: 80000073: 11140074: 0c000075: 1d000080: 40000081: 03020082: 08000083: 00000084: 00000085: 00080089: 0000008a: 0000008b: 0600008c: 0334008d: a000008e: 8019008f: 31000090: 07370091: 0e000092: 00000093: 383000b0: 208000b1: 000000b2: 000000b4: 220600b5: 1f0000b6: 000000b7: 000000b8: 034b00b9: 006600ba: 000b00bb: 000000bc: 000000bd: 000000be: 000000bf: 000000c0: 040000c1: 000000c2: 000000c4: 000000c5: 000000c6: 200000c7: 000000c8: 000000c9: 000000ca: 000000cb: 000000cc: 000000cd: 000000ce: 000000cf: 001300d0: 068000d1: 1c1700d2: 8c0000d3: 2a2000d6: 040000d7: 000000d9: 080900da: 000000fa: 770100fb: 404000fc: 000000fd: 000600fe: 10ec00ff: 6231
阅读全文
1 0
- [RK3288][Android6.0] 调试笔记 --- RT5640播放时的Codec寄存器列表
- [RK3288][Android6.0] 调试笔记 --- RT5640录音时的Codec寄存器列表
- [RK3288][Android6.0] 调试笔记 --- RT5640的ctl name列表
- [RK3288][Android6.0] 移植笔记 --- RT5640 Audio Codec添加
- [RK3288][Android6.0] 调试笔记 --- RT5640 I2S对应的ADC/DAC通路
- [RK3288][Android6.0] 调试笔记 --- pmu(rk818)寄存器读写
- [RK3288][Android6.0] 调试笔记 --- 开机视频无法播放
- [RK3288][Android6.0] 调试笔记 --- tts语音无法播放
- [RK3288][Android6.0] 调试笔记 --- 命令行播放音乐方法
- [RK3288][Android6.0] 调试笔记 --- 查看音乐播放对应的进程名
- [RK3288][Android6.0] 调试笔记 --- 调试串口的更换
- [RK3288][Android6.0] 调试笔记 --- 普通串口的添加
- [RK3288][Android6.0] 调试笔记 --- 隐藏系统状态栏的方法
- [RK3288][Android6.0] 调试笔记 --- display数据帧的dump
- [RK3288][Android6.0] 调试笔记 --- ComponentName的使用
- [RK3288][Android6.0] 调试笔记 --- CPU使用的频率表
- [RK3288][Android6.0] 调试笔记 --- GPU DVFS的控制开关
- [RK3288][Android6.0] 调试笔记 --- 空格引起的编译错误
- linux debian安装配置SVN服务器
- 内存泄露与内存溢出
- java基础-head first java
- Python中sum函数的详细用法说明
- D3D11的纹理
- [RK3288][Android6.0] 调试笔记 --- RT5640播放时的Codec寄存器列表
- Java final 简单用法
- 用n元钱买橙子,6元/8元一包,不零卖。设计函数返回最少袋数或-1
- mysql group by中没有的字段 select中有 的情况说明
- 探新Web前端开发(二)
- 网络流最大流入门(洛谷P3376)
- java生成图片验证码
- net.sf.json.JSONException: java.lang.reflect.InvocationTargetException
- getInstance