主题:TLV320AIC3106中讨论的其他器件
工具/软件:
尊敬的 TI 支持部门: 
我 目前正在开发基于 AM62Lx 处理器的定制电路板、它使用通过 I2C 和 I2S 接口连接的 SGTL5000音频编解码器。 编解码器已正确初始化、并已启用 defconfig 和器件应力中所需的所有配置。 使用aplay命令进行音频播放工作正常、我们能够听到清晰的音频输出。 但是、我们在使用arecord命令录制音频时遇到了问题。 下面给出了问题期间观察到的打印件。 
root@am62lxx-ig69m:~#^C 
root@am62lxx-ig69m:~# arecord -D plughw:0、0 -d 10 -f S16_LE test.wav 
录音波形'test.wav ':有符号的16位小端字节序,速率8000 Hz,单声道 
A 记录:PCM_READ:2272:读取错误:输入/输出错误 
root@am62lxx-ig69m:~# 
root@am62lxx-ig69m:~# 
root@am62lxx-ig69m:~# arecord -D plughw:0、0 -d 10 -f S16_LE -r 44100 test.wav 
录音波形'test.wav ':有符号16位小端字节序,速率44100 Hz,单声道 
root@am62lxx-ig69m:~# avplay -D plughw:0.0 test.wav 
播放 wave 'test.wav ':有符号16位小端字节序,速率44100 Hz,单声道 
root@am62lxx-ig69m:~# 
root@am62lxx-ig69m:~# 
root@am62lxx-ig69m:~# arecord -D plughw:0、0 -d 10 -f S16_LE -r 48000 test.wav 
录音波形'test.wav ':有符号的16位小端字节序,速率48000 Hz,单声道 
[ 216.153055] DaVinci -McASP 2b00000.audio-controller:接收缓冲区溢出 
太多了!!! (至少0.073ms 长)[216.164177] DaVinci -McASP 2b00000.audio-controller:接收缓冲区溢出 
太多了!!! (至少0.033ms 长) 
[ 216.174375] DaVinci -McASP 2b00000.audio-controller:接收缓冲区溢出 
太多了!!! (至少0.057ms 长)[216.184824] DaVinci -McASP 2b00000.audio-controller:接收缓冲区溢出 
太多了!!! (至少0.035ms 长) 
[ 216.194950] DaVinci -McASP 2b00000.audio-controller:接收缓冲区溢出 
太多了!!! (至少0.068ms 长)[216.205424] DaVinci -McASP 2b00000.audio-controller:接收缓冲区溢出 
太多了!!! (至少0.060ms 长)[ 216.215574] DaVinci -McASP 2b00000.audio-controller:接收缓冲区溢出
太多了!!! (至少0.032ms 长) 
[ 216.225673] DaVinci -McASP 2b00000.audio-controller:接收缓冲区溢出 
太多了!!! (至少0.053ms 长)[216.236089] DaVinci -McASP 2b00000.audio-controller:接收缓冲区溢出 
太多了!!! (至少0.032ms 长) 
[ 216.246259] DaVinci -McASP 2b00000.audio-controller:接收缓冲区溢出 
太多了!!! (至少0.072ms 长) 
[ 216.256675] DaVinci -McASP 2b00000.audio-controller:接收缓冲区溢出 
太多了!!! (至少0.082ms 长)[216.267048] DaVinci -McASP 2b00000.audio-controller:接收缓冲区溢出 
太多了!!! (至少0.049ms 长) 
[ 216.277212] DaVinci -McASP 2b00000.audio-controller:接收缓冲区溢出 
太多了!!! (至少0.050ms)[216.287568] DaVinci -McASP 2b00000.audio-controller:接收缓冲区溢出 
只要我发出命令、就再触发一次 -"arecord -D plughw:0.0 -f S16_LE -c 2 -r 44100 -d 10 -v test.wav "没有发现问题。 
每当我将采样率更改为8,000,16000… 有时会发现读/写错误或溢出/溢出问题。 
在 aplay commad 中的问题:  每当我播放一个音频"资源繁忙"已经被观察到。我解决了,通过杀死称为"lvglsim "的过程,然后我能够播放音频。但我必须做到这一点在每次启动播放音频. 因此,有任何替代方法来删除这个过程,同时压缩 itslaf。 
以下是 sgtl 的 dts 配置: 
sound { /* SAI5: SGTL5000: Audio Codec support */
                compatible = "simple-audio-card";
                simple-audio-card,name = "sgtl5000";
                simple-audio-card,format = "i2s";
                simple-audio-card,frame-master = <&codecdai>;
                simple-audio-card,bitclock-master = <&codecdai>;
                simple-audio-card,bitclock-inversion;
                simple-audio-card,widgets =
                        "Microphone", "Microphone Jack",
                        "Headphone", "Headphone Jack",
                        "Speaker", "Speaker Ext",
                        "Line", "Line In Jack";
                simple-audio-card,routing =
                        "MIC_IN", "Microphone Jack",
                        "Microphone Jack", "Mic Bias",
                        "LINE_IN", "Line In Jack",
                        "Headphone Jack", "HP_OUT",
                        "Speaker Ext", "LINE_OUT";
                simple-audio-card,cpu {
                        sound-dai = <&mcasp0>;
                };
                        codecdai: simple-audio-card,codec {
                        sound-dai = <&sgtl5000>;
                        system-clock-frequency = <26000000>;
                };
        };
&mcasp0 {
       status = "okay";
       #sound-dai-cells = <0>;
       pinctrl-names = "default";
       pinctrl-0 = <&main_mcasp0_pins_default>;
       op-mode = <0>;          /* MCASP_IIS_MODE */
       tdm-slots = <2>;
       serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
               2 1 0 0 
               0 0 0 0
               0 0 0 0
               0 0 0 0
               >;
       tx-num-evt = <32>;
       rx-num-evt = <32>;
};
        main_mcasp0_pins_default: main_mcasp0-default-pins {
                pinctrl-single,pins = <
                        AM62PX_IOPAD(0x0190, PIN_INPUT, 0) /* (A11) MCASP0_ACLKX */
                        AM62PX_IOPAD(0x0194, PIN_INPUT, 0) /* (B11) MCASP0_AFSX */
                        AM62PX_IOPAD(0x018c, PIN_INPUT, 0) /* (B9) MCASP0_AXR0 */
                        AM62PX_IOPAD(0x0188, PIN_OUTPUT, 0) /* (A9) MCASP0_AXR1 */
                >;
        };
&main_i2c0 {
        pinctrl-names = "default";
        pinctrl-0 = <&main_i2c0_pins_default>;
        status = "okay";
        sgtl5000: sgtl5000@a { /* Audio: SGTL5000 Audio Codec */
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                #sound-dai-cells = <0>;
                clocks = <&audioclk 0>;
                VDDA-supply = <®_1p8v>;
                VDDIO-supply = <®_1p8v>;
                VDDD-supply = <®_1p5v>;
                status = "okay";
        };
请您帮助我解决 SGTL 问题。
此致、
Dheeraj
 
				 
		 
					