Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
Codec: RT5640
在查看录音通路的ctl config列表时发现有找不到的ctrl name, 例如:
const struct config_control rt3261_main_mic_capture_controls[] = {
{
.ctl_name = "RxDC Mux",
.str_val = "Mono_ADC",
},
....
};
“RxDC Mux”这个name在驱动中并没有找到,因此它是无效的。
其实这些ctl name可以通过tinymix来确定是否存在,以下是RT5640所有支持的ctl.
root@rk3288:/ # tinymix
Mixer name: 'RK_RT3224'
Number of controls: 145
ctl type num name value
0 BOOL 2 Speaker Playback Switch Off Off
1 INT 2 Speaker Playback Volume 31 31
2 INT 2 Earpiece Playback Volume 31 31
3 INT 2 Headphone Playback Volume 31 31
4 BOOL 2 OUT Playback Switch Off Off
5 BOOL 2 OUT Channel Switch On On
6 INT 2 OUT Playback Volume 31 31
7 BOOL 1 Mono Playback Switch Off
8 BOOL 2 DAC2 Playback Switch On On
9 INT 2 DAC1 Playback Volume 175 175
10 INT 2 Mono DAC Playback Volume 175 175
11 ENUM 1 IN1 Mode Control Differential
12 INT 1 IN1 Boost 5
13 ENUM 1 IN2 Mode Control Differential
14 INT 1 IN2 Boost 0
15 ENUM 1 IN3 Mode Control Single ended
16 INT 1 IN3 Boost 0
17 ENUM 1 LOUT Mode Control Differential
18 INT 2 IN Capture Volume 23 23
19 BOOL 2 ADC Capture Switch On On
20 INT 2 ADC Capture Volume 47 47
21 INT 2 Mono ADC Capture Volume 60 60
22 INT 2 ADC Boost Gain 0 0
23 ENUM 1 Class D SPK Ratio Control 2.77x
24 ENUM