Other Parts Discussed in Thread: TMDXIDK5718, TLV320AIC3206
Hi,
I'm using our custom board based on TMDXIDK5718 with TLV320AIC3206 audio codec and tlv320aic32x4 linux driver.
TLV320AIC3206 is Bit and Frame Master.
Hardware connection is as below.
I'm trying to playback, but does not work.
root@am57xx-evm:~# arecord -Dplughw:0,0 -d 8 -fS16_LE -c2 -r48000 -t wav /tmp/test.wav
Recording WAVE '/tmp/test.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
root@am57xx-evm:~# aplay -Dplughw:0,0 /tmp/test.wav
Playing WAVE '/tmp/test.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
aplay: pcm_write:2051: write error: Input/output error
BCLK output and WCLK output(48kHz) are OK at "arecord" command.
But at "aplay" command they are always high level.
I'm using:
SDK-LINUX-AM57X 06_03_00_106
In tisdk_am57xx-evm_defconfig file:
CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
In am571x-idk.dts file:
sound0: sound0 {
compatible = "simple-audio-card";
simple-audio-card,name = "AM57x-Sound-Card";
simple-audio-card,format = "i2s";
simple-audio-card,widgets =
"Line", "Line Out",
"Line", "Line In";
simple-audio-card,routing =
"Line Out", "LLOUT",
"Line Out", "RLOUT",
"MIC2L", "Line In",
"MIC2R", "Line In";
simple-audio-card,bitclock-master = <&sound0_master>;
simple-audio-card,frame-master = <&sound0_master>;
simple-audio-card,cpu {
sound-dai = <&mcasp8>;
};
sound0_master: simple-audio-card,codec {
sound-dai = <&tlv320aic3206>;
};
};
tlv320aic3206_mclk: tlv320aic3206_mclk {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <12000000>;
};
&mcasp8 {
#sound-dai-cells = <0>;
status = "okay";
op-mode = <0>; /* MCASP_IIS_MODE */
tdm-slots = <2>;
/* 4 serializers */
serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
1 2 0 0
>;
tx-num-evt = <32>;
rx-num-evt = <32>;
};
&i2c5 {
status = "okay";
clock-frequency = <100000>;
tlv320aic3206: tlv320aic3206@18 {
#sound-dai-cells = <0>;
reg = <0x18>;
compatible = "ti,tlv320aic32x6";
reset-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
clock-names = "mclk";
clocks = <&tlv320aic3206_mclk>;
dv-supply = <&ldo2_reg>;
av-supply = <&ldo2_reg>;
iov-supply = <&v3_3d>;
status = "okay";
};
};
Please teach me how to playback wave file.
Regards,
Toshio Masuchi