1、环境介绍
硬件:小智 T113 板卡
软件:原厂 Tina5.0 SDK v1.2(Buildroot)
2、前言
本文主要记录板载 MIC 和扬声器调试。
3、T113 音频接口资源
- 1个立体声耳机输出:HPOUTL/R
- 1个麦克风输入:差分 MICIN3P/3N 或 单端 MICIN3P
- 1个立体声线路输入:LINEINL/R
- 1个立体声FM输入:FMINL/R
4、原理图查看
板载咪头使用差分信号 MICIN3P/3N 输入:

板载扬声器接口使用单端信号 HPOUTR 输出:

5、内核配置
略。默认已开启。
6、设备树配置
设备树没有改动,使用默认的:
&codec {
/* avcc-external; */
tx-hub-en;
rx-sync-en;
dac-vol = <63>; /* default value:63 range:0->63 */
dacl-vol = <160>; /* default value:160 range:0->255 */
dacr-vol = <160>; /* default value:160 range:0->255 */
adc1-vol = <160>; /* default value:160 range:0->255 */
adc2-vol = <160>; /* default value:160 range:0->255 */
adc3-vol = <160>; /* default value:160 range:0->255 */
lineout-vol = <26>; /* default value:31 range:0->31 */
adc1-gain = <31>; /* default value:31 range:0->31 */
adc2-gain = <31>; /* default value:31 range:0->31 */
adc3-gain = <31>; /* default value:31 range:0->31 */
hpout-gain = <3>; /* default value:7 range:0->7 */
fminl-gain = <0>; /* default value:0 range:0->1 */
fminr-gain = <0>; /* default value:0 range:0->1 */
lineinl-gain = <0>; /* default value:0 range:0->1 */
lineinr-gain = <0>; /* default value:0 range:0->1 */
/* pa-pin-max = <1>; */
/* pa-pin-0 = <&pio PB 7 GPIO_ACTIVE_HIGH>; */
/* pa-pin-level-0 = <1>; */
/* pa-pin-msleep-0 = <120>; */
status = "okay";
};
&codec_plat {
status = "okay";
};
&codec_mach {
soundcard-mach,jack-support = <1>;
status = "okay";
soundcard-mach,cpu {
sound-dai = <&codec_plat>;
};
soundcard-mach,codec {
sound-dai = <&codec>;
};
};
7、测试
查看声卡设备:
aplay -l

查看属性设置:
amixer contents -c 0
numid=27,iface=MIXER,name='FMINL Gain'
; type=BOOLEAN,access=rw---R--,values=1
: values=off
| dBscale-min=0.00dB,step=6.00dB,mute=0
numid=34,iface=MIXER,name='FMINL Switch'
; type=BOOLEAN,access=rw------,values=1
: values=off
numid=28,iface=MIXER,name='FMINR Gain'
; type=BOOLEAN,access=rw---R--,values=1
: values=off
| dBscale-min=0.00dB,step=6.00dB,mute=0
numid=35,iface=MIXER,name='FMINR Switch'
; type=BOOLEAN,access=rw------,values=1
: values=off
numid=5,iface=MIXER,name='ADC DRC0 Mode'
; type=ENUMERATED,access=rw------,values=1,items=2
; Item #0 'Off'
; Item #1 'On'
: values=0
numid=7,iface=MIXER,name='ADC DRC1 Mode'
; type=ENUMERATED,access=rw------,values=1,items=2
; Item #0 'Off'
; Item #1 'On'
: values=0
numid=6,iface=MIXER,name='ADC HPF0 Mode'
; type=ENUMERATED,access=rw------,values=1,items=2
; Item #0 'Off'
; Item #1 'On'
: values=0
numid=8,iface=MIXER,name='ADC HPF1 Mode'
; type=ENUMERATED,access=rw------,values=1,items=2
; Item #0 'Off'
; Item #1 'On'
: values=0
numid=9,iface=MIXER,name='ADC1 ADC2 Swap'
; type=ENUMERATED,access=rw------,values=1,items=2
; Item #0 'Off'
; Item #1 'On'
: values=0
numid=22,iface=MIXER,name='ADC1 Gain'
; type=INTEGER,access=rw---R--,values=1,min=0,max=31,step=0
: values=0
| dBscale-min=0.00dB,step=1.00dB,mute=0
numid=19,iface=MIXER,name='ADC1 Volume'
; type=INTEGER,access=rw---R--,values=1,min=0,max=255,step=0
: values=160
| dBscale-min=-119.25dB,step=0.75dB,mute=0
numid=23,iface=MIXER,name='ADC2 Gain'
; type=INTEGER,access=rw---R--,values=1,min=0,max=31,step=0
: values=0
| dBscale-min=0.00dB,step=1.00dB,mute=0
numid=20,iface=MIXER,name='ADC2 Volume'
; type=INTEGER,access=rw---R--,values=1,min=0,max=255,step=0
: values=160
| dBscale-min=-119.25dB,step=0.75dB,mute=0
numid=10,iface=MIXER,name='ADC3 ADC4 Swap'
; type=ENUMERATED,access=rw------,values=1,items=2
; Item #0 'Off'
; Item #1 'On'
: values=0
numid=24,iface=MIXER,name='ADC3 Gain'
; type=INTEGER,access=rw---R--,values=1,min=0,max=31,step=0
: values=30
| dBscale-min=0.00dB,step=1.00dB,mute=0
numid=21,iface=MIXER,name='ADC3 Volume'
; type=INTEGER,access=rw---R--,values=1,min=0,max=255,step=0
: values=240
| dBscale-min=-119.25dB,step=0.75dB,mute=0
numid=3,iface=MIXER,name='DAC DRC Mode'
; type=ENUMERATED,access=rw------,values=1,items=2
; Item #0 'Off'
; Item #1 'On'
: values=0
numid=16,iface=MIXER,name='DAC Digital Volume'
; type=INTEGER,access=rw---R--,values=1,min=0,max=63,step=0
: values=58
| dBscale-min=-74.24dB,step=1.16dB,mute=0
numid=4,iface=MIXER,name='DAC HPF Mode'
; type=ENUMERATED,access=rw------,values=1,items=2
; Item #0 'Off'
; Item #1 'On'
: values=0
numid=17,iface=MIXER,name='DACL Volume'
; type=INTEGER,access=rw---R--,values=1,min=0,max=255,step=0
: values=240
| dBscale-min=-119.25dB,step=0.75dB,mute=0
numid=18,iface=MIXER,name='DACR Volume'
; type=INTEGER,access=rw---R--,values=1,min=0,max=255,step=0
: values=240
| dBscale-min=-119.25dB,step=0.75dB,mute=0
numid=26,iface=MIXER,name='HPOUT Gain'
; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0
: values=6
| dBscale-min=-42.00dB,step=6.00dB,mute=0
numid=40,iface=MIXER,name='HPOUT Switch'
; type=BOOLEAN,access=rw------,values=1
: values=on
numid=42,iface=MIXER,name='Input1 Mux'
; type=ENUMERATED,access=rw------,values=1,items=3
; Item #0 'MIC1'
; Item #1 'FMINL'
; Item #2 'LINEINL'
: values=0
numid=43,iface=MIXER,name='Input2 Mux'
; type=ENUMERATED,access=rw------,values=1,items=3
; Item #0 'MIC2'
; Item #1 'FMINR'
; Item #2 'LINEINR'
: values=0
numid=44,iface=MIXER,name='Input3 Mux'
; type=ENUMERATED,access=rw------,values=1,items=1
; Item #0 'MIC3'
: values=0
numid=29,iface=MIXER,name='LINEINL Gain'
; type=BOOLEAN,access=rw---R--,values=1
: values=off
| dBscale-min=0.00dB,step=6.00dB,mute=0
numid=36,iface=MIXER,name='LINEINL Switch'
; type=BOOLEAN,access=rw------,values=1
: values=off
numid=30,iface=MIXER,name='LINEINR Gain'
; type=BOOLEAN,access=rw---R--,values=1
: values=off
| dBscale-min=0.00dB,step=6.00dB,mute=0
numid=37,iface=MIXER,name='LINEINR Switch'
; type=BOOLEAN,access=rw------,values=1
: values=off
numid=25,iface=MIXER,name='LINEOUT Volume'
; type=INTEGER,access=rw---R--,values=1,min=0,max=31,step=0
: values=26
| dBrange-
rangemin=0,,rangemax=1
| dBscale-min=0.00dB,step=0.00dB,mute=1
rangemin=2,,rangemax=31
| dBscale-min=-43.50dB,step=1.50dB,mute=1
numid=11,iface=MIXER,name='LINEOUTL Output Select'
; type=ENUMERATED,access=rw------,values=1,items=2
; Item #0 'single'
; Item #1 'differ'
: values=0
numid=38,iface=MIXER,name='LINEOUTL Switch'
; type=BOOLEAN,access=rw------,values=1
: values=off
numid=12,iface=MIXER,name='LINEOUTR Output Select'
; type=ENUMERATED,access=rw------,values=1,items=2
; Item #0 'single'
; Item #1 'differ'
: values=0
numid=39,iface=MIXER,name='LINEOUTR Switch'
; type=BOOLEAN,access=rw------,values=1
: values=off
numid=13,iface=MIXER,name='MIC1 Input Select'
; type=ENUMERATED,access=rw------,values=1,items=2
; Item #0 'single'
; Item #1 'differ'
: values=1
numid=31,iface=MIXER,name='MIC1 Switch'
; type=BOOLEAN,access=rw------,values=1
: values=off
numid=14,iface=MIXER,name='MIC2 Input Select'
; type=ENUMERATED,access=rw------,values=1,items=2
; Item #0 'single'
; Item #1 'differ'
: values=1
numid=32,iface=MIXER,name='MIC2 Switch'
; type=BOOLEAN,access=rw------,values=1
: values=off
numid=15,iface=MIXER,name='MIC3 Input Select'
; type=ENUMERATED,access=rw------,values=1,items=2
; Item #0 'single'
; Item #1 'differ'
: values=0
numid=33,iface=MIXER,name='MIC3 Switch'
; type=BOOLEAN,access=rw------,values=1
: values=on
numid=41,iface=MIXER,name='SPK Switch'
; type=BOOLEAN,access=rw------,values=1
: values=off
numid=1,iface=MIXER,name='rx sync mode'
; type=ENUMERATED,access=rw------,values=1,items=2
; Item #0 'Off'
; Item #1 'On'
: values=0
numid=2,iface=MIXER,name='tx hub mode'
; type=ENUMERATED,access=rw------,values=1,items=2
; Item #0 'Off'
; Item #1 'On'
: values=0
7.1、参数设置
# 关闭所有输入
amixer -c 0 cset numid=31 off # MIC1
amixer -c 0 cset numid=32 off # MIC2
amixer -c 0 cset numid=36 off # LINEINL
amixer -c 0 cset numid=37 off # LINEINR
amixer -c 0 cset numid=34 off # FMINL
amixer -c 0 cset numid=35 off # FMINR
# 关闭所有输出
amixer -c 0 cset numid=38 off # LINEOUTL
amixer -c 0 cset numid=39 off # LINEOUTR
amixer -c 0 cset numid=41 off # SPK
# 设置MIC3输入通路
amixer -c 0 cset numid=33 on # MIC3 Switch
amixer -c 0 cset numid=15 0 # MIC3单端输入
amixer -c 0 cset numid=44 0 # Input3 Mux = MIC3
amixer -c 0 cset numid=24 20 # ADC3 Gain
amixer -c 0 cset numid=21 160 # ADC3 Volume
# 关闭其他ADC
amixer -c 0 cset numid=22 0 # ADC1 Gain最小
amixer -c 0 cset numid=23 0 # ADC2 Gain最小
# 设置HPOUT输出通路
amixer -c 0 cset numid=40 on # HPOUT Switch
amixer -c 0 cset numid=26 7 # HPOUT Gain
amixer -c 0 cset numid=16 58 # DAC Digital Volume
amixer -c 0 cset numid=17 200 # DACL Volume
amixer -c 0 cset numid=18 200 # DACR Volume
7.2、录音
arecord -D hw:0,0 -c 1 -f S16_LE -r 48000 -d 5 test.wav
7.3、放音
aplay -D hw:0,0 test.wav
8、参考文章
无。
9、总结
略。
838

被折叠的 条评论
为什么被折叠?



