[RK3288][Android6.0] 除錯筆記 --- RT5640的ctl name列表
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.
[email protected]:/ # 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 1 DMIC Switch Disable
25 ENUM 1 ASRC Switch Disable
26 ENUM 1 DACR Select IF2_DAC
27 ENUM 1 RxDP Select RxDP2
28 ENUM 1 RxDP1 Select DAC1
29 INT 2 Register Control 0 12
30 INT 1 Main Mic Capture Volume 5
31 INT 1 Headset Mic Capture Volume 0
32 ENUM 1 Main Mic Capture Switch on
33 ENUM 1 Headset Mic Capture Switch on
34 ENUM 1 HP mute Switch off
35 ENUM 1 Modem Input Switch off
36 ENUM 1 ADC IF1 Data Switch Normal
37 ENUM 1 DAC IF1 Data Switch Normal
38 ENUM 1 ADC IF2 Data Switch right copy to left
39 ENUM 1 DAC IF2 Data Switch Normal
40 BOOL 1 Mono MIX DAC R2 Switch Off
41 BOOL 1 Mono MIX DAC L2 Switch Off
42 BOOL 1 Mono MIX OUTVOL R Switch Off
43 BOOL 1 Mono MIX OUTVOL L Switch Off
44 BOOL 1 Mono MIX BST1 Switch Off
45 BOOL 1 LOUT MIX DAC L1 Switch Off
46 BOOL 1 LOUT MIX DAC R1 Switch Off
47 BOOL 1 LOUT MIX OUTVOL L Switch Off
48 BOOL 1 LOUT MIX OUTVOL R Switch Off
49 BOOL 1 HPO MIX DAC2 Switch Off
50 BOOL 1 HPO MIX DAC1 Switch Off
51 BOOL 1 HPO MIX HPVOL Switch Off
52 BOOL 1 DAC SPK DAC R1 Switch Off
53 BOOL 1 DAC SPK DAC L1 Switch Off
54 BOOL 1 SPOR MIX DAC R1 Switch Off
55 BOOL 1 SPOR MIX SPKVOL R Switch On
56 BOOL 1 SPOR MIX BST1 Switch Off
57 BOOL 1 SPOL MIX DAC Switch On
58 BOOL 1 SPOL MIX SPKVOL R Switch Off
59 BOOL 1 SPOL MIX SPKVOL L Switch On
60 BOOL 1 SPOL MIX BST1 Switch Off
61 BOOL 1 OUT MIXR BST3 Switch Off
62 BOOL 1 OUT MIXR BST2 Switch Off
63 BOOL 1 OUT MIXR BST1 Switch Off
64 BOOL 1 OUT MIXR INR Switch Off
65 BOOL 1 OUT MIXR REC MIXR Switch Off
66 BOOL 1 OUT MIXR DAC L2 Switch Off
67 BOOL 1 OUT MIXR DAC R2 Switch Off
68 BOOL 1 OUT MIXR DAC R1 Switch Off
69 BOOL 1 OUT MIXL BST3 Switch On
70 BOOL 1 OUT MIXL BST1 Switch Off
71 BOOL 1 OUT MIXL INL Switch Off
72 BOOL 1 OUT MIXL REC MIXL Switch Off
73 BOOL 1 OUT MIXL DAC R2 Switch Off
74 BOOL 1 OUT MIXL DAC L2 Switch Off
75 BOOL 1 OUT MIXL DAC L1 Switch Off
76 BOOL 1 SPK MIXR REC MIXR Switch Off
77 BOOL 1 SPK MIXR INR Switch Off
78 BOOL 1 SPK MIXR DAC R1 Switch Off
79 BOOL 1 SPK MIXR DAC R2 Switch On
80 BOOL 1 SPK MIXR OUT MIXR Switch Off
81 BOOL 1 SPK MIXL REC MIXL Switch Off
82 BOOL 1 SPK MIXL INL Switch Off
83 BOOL 1 SPK MIXL DAC L1 Switch Off
84 BOOL 1 SPK MIXL DAC L2 Switch On
85 BOOL 1 SPK MIXL OUT MIXL Switch Off
86 ENUM 1 Mono dacr Mux TxDC_R
87 BOOL 1 DIG MIXR DAC R1 Switch Off
88 BOOL 1 DIG MIXR DAC R2 Switch Off
89 BOOL 1 DIG MIXL DAC L1 Switch Off
90 BOOL 1 DIG MIXL DAC L2 Switch Off
91 BOOL 1 Mono DAC MIXR DAC R1 Switch Off
92 BOOL 1 Mono DAC MIXR DAC R2 Switch On
93 BOOL 1 Mono DAC MIXR DAC L2 Switch Off
94 BOOL 1 Mono DAC MIXL DAC L1 Switch Off
95 BOOL 1 Mono DAC MIXL DAC L2 Switch On
96 BOOL 1 Mono DAC MIXL DAC R2 Switch Off
97 BOOL 1 Stereo DAC MIXR DAC R1 Switch Off
98 BOOL 1 Stereo DAC MIXR DAC R2 Switch Off
99 BOOL 1 Stereo DAC MIXR ANC Switch Off
100 BOOL 1 Stereo DAC MIXL DAC L1 Switch Off
101 BOOL 1 Stereo DAC MIXL DAC L2 Switch Off
102 BOOL 1 Stereo DAC MIXL ANC Switch Off
103 ENUM 1 DAC R2 Mux IF2
104 ENUM 1 DAC L2 Mux IF2
105 BOOL 1 DAC MIXR Stereo ADC Switch Off
106 BOOL 1 DAC MIXR INF1 Switch On
107 BOOL 1 DAC MIXL Stereo ADC Switch Off
108 BOOL 1 DAC MIXL INF1 Switch Off
109 ENUM 1 DAI select 1:2|2:1|3:3
110 ENUM 1 SDI select IF1
111 ENUM 1 IF2 ADC R Mux Mono ADC MIXR
112 ENUM 1 IF2 ADC L Mux TxDP
113 BOOL 1 Mono ADC MIXR ADC1 Switch On
114 BOOL 1 Mono ADC MIXR ADC2 Switch Off
115 BOOL 1 Mono ADC MIXL ADC1 Switch Off
116 BOOL 1 Mono ADC MIXL ADC2 Switch Off
117 BOOL 1 Stereo ADC MIXR ADC1 Switch Off
118 BOOL 1 Stereo ADC MIXR ADC2 Switch Off
119 BOOL 1 Stereo ADC MIXL ADC1 Switch Off
120 BOOL 1 Stereo ADC MIXL ADC2 Switch Off
121 ENUM 1 Mono ADC R2 Mux DMIC R1
122 ENUM 1 Mono ADC R1 Mux ADCR
123 ENUM 1 Mono ADC L1 Mux ADCL
124 ENUM 1 Mono ADC L2 Mux DMIC L1
125 ENUM 1 Stereo ADC R1 Mux ADC
126 ENUM 1 Stereo ADC L1 Mux ADC
127 ENUM 1 Stereo ADC R2 Mux DMIC1
128 ENUM 1 Stereo ADC L2 Mux DMIC1
129 BOOL 1 RECMIXR HPOR Switch Off
130 BOOL 1 RECMIXR INR Switch Off
131 BOOL 1 RECMIXR BST3 Switch Off
132 BOOL 1 RECMIXR BST2 Switch Off
133 BOOL 1 RECMIXR BST1 Switch On
134 BOOL 1 RECMIXR OUT MIXR Switch Off
135 BOOL 1 RECMIXL HPOL Switch Off
136 BOOL 1 RECMIXL INL Switch Off
137 BOOL 1 RECMIXL BST3 Switch Off
138 BOOL 1 RECMIXL BST2 Switch Off
139 BOOL 1 RECMIXL BST1 Switch Off
140 BOOL 1 RECMIXL OUT MIXL Switch Off
141 BOOL 1 Mic Jack Switch On
142 BOOL 1 Headset Jack Switch On
143 BOOL 1 Ext Spk Switch On
144 BOOL 1 Headphone Jack Switch On
生成此ctl list的驅動檔案是rt3261.c,ctl name對應的value也可以在此驅動檔案中檢視。
例如名字為”IN1 Mode Control”的ctl name支援的值是:
static const char *rt3261_input_mode[] = {
"Single ended", "Differential"};
相關推薦
[RK3288][Android6.0] 除錯筆記 --- RT5640的ctl name列表
Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 Codec: RT5640 在檢視錄音通路的ctl config列表時發現有找不到的ctrl name, 例如: const struct
[RK3288][Android6.0] 除錯筆記 --- 普通串列埠的新增
Platform: ROCKCHIP OS: Android 6.0 Kernel: 3.10.92 uart0,1,3,4 (普通串列埠) 用的是同一個串列埠驅動. uart2(除錯串列埠)的驅動程式碼嵌在fiq debugger的code中. 相關的配置在rk3288.dtsi中:
[RK3288][Android6.0] 除錯筆記 --- hwclock命令無法使用
Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 現象: 使用hwclock,提示找不到檔案 [email protected]:/ # hwclock
[RK3288][Android6.0] 除錯筆記 --- I2C通訊失敗問題
Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 使用rk3288的i2c5讀寫時,會出現以下error log: [email prot
[RK3288][Android6.0] 除錯筆記 --- 測試I2C裝置正常傳輸方法
Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 rk在驅動層做了一個通用i2c測試程式碼提供給上層快速測試i2c外設是否傳輸正常. 測試使用方法
[RK3288][Android6.0] 除錯筆記 --- eMMC分割槽號和名字的對應
Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 有時候需要知道mmcblk對應的分割槽是哪一個,其實驅動已經完成這個功能了,如下: [email protected]:/dev/blo
[RK3288][Android6.0] 除錯筆記 --- user版本串列埠只有輸出不能輸入
Platform: ROCKCHIP OS: Android 6.0 Kernel: 3.10.92現象: 編譯成user版本之後串列埠只有輸出沒有輸入.原因: 編譯user版本之後 ro.debug
[RK3288][Android6.0] 除錯筆記 --- 系統自帶預置第三方APK方法
Platform: RK3288 OS: Android 6.0 Kernel: 3.10.92 Rockchip預設提供了機制來預置第三方APK, 方法很簡單: 1. 在device/rockchip/rk3288建立preinstall目錄(如果
[RK3288][Android6.0] 除錯筆記 --- Audio驅動層判斷錄音資料是否異常
Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 之前有提到上層可以通過dump pcm資料檢視波形來確定錄音取樣的資料是否正常,這裡給出驅動層檢視
[RK3288][Android6.0] 除錯筆記 --- 除錯串列埠的更換
Platform: ROCKCHIP OS: Android 6.0 Kernel: 3.10.92 假設專案有需求要將除錯串列埠uart2 改成 uart1, 改動如下 (還未驗證,先分享給大家,
[RK3288][Android6.0] 除錯筆記 --- pmu(rk818)暫存器讀寫
Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 rk的pmu模組只提供了每次單個暫存器的讀寫,驅動提供了這個節點供使用:/sys/rk818/rk818_test 舉例: 讀取: echo r
[RK3288][Android6.0] 除錯筆記 --- 遮蔽系統下拉選單顯示
Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 [email protected]:~/rk3288/frameworks/base/
[RK3288][Android6.0] 除錯筆記 --- ro.serialno的獲取
Platform: RK3288 OS: Android 6.0 Kernel: 3.10.92 rk3288平臺的serial number是由drmservice寫進去的,drmservice在rc檔案中定義啟動: init.rk30board.
[RK3288][Android6.0] 除錯筆記 --- 螢幕顯示旋轉方法
Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 顯示模組提供了一個property供修改旋轉方向,名為”ro.sf.hwrotation”,有四個值可選 Surface.java /** *
[RK3288][Android6.0] 除錯筆記 --- eMMC壞塊測試
Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 網上搜到一個叫eMMC Brickbug Check的apk 啟動后里面的Check Memory一項提示要root,但是系統已經是root過的了,
[RK3288][Android6.0] 除錯筆記 --- CPU溫度降頻控制
rk3288平臺關於溫度調節cpu頻率有個bug. 在rk3288.dtsi中,有: temp-limit-enable = <1>; target-temp = <80>; min_temp_limit = <48>
[RK3288][Android6.0] 除錯筆記 --- 移除uboot和kernel開機logo
Platform: RockchipOS: Android 6.0Kernel: 3.10.92diff --git a/arch/arm/boot/dts/rk3288-b.dts b/arch/arm/boot/dts/rk3288-b.dtsindex ad3bc1a.
[RK3288][Android6.0] 除錯筆記 --- 電池電量一直顯示100%
Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 跟蹤發現Android6.0相比之前的Android4.4會判斷Charger是否存在,不
[RK3288][Android6.0] 除錯筆記 --- RT5640 I2S對應的ADC/DAC通路
Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 Audio Codec RT5640 有兩路I2S,如下圖: 原本以為I2S1對應的就是ADCLR1/DACLR1,I2S2對應的就是ADCLR
[RK3288][Android6.0] 除錯筆記 --- CPU使用的頻率表
Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 系統中有三張CPU相關的頻率表: 1. rockchip-cpufreq.c: /* Fr