1. 程式人生 > >[RK3288][Android6.0] 除錯筆記 --- RT5640的ctl name列表

[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