Hello,
I am trying interface tlv320aic3007 on custom sama5d2 board. When i am playing audio i am getting below error.Please help me to do solve this error.
ERROR:
root@rugged-board-a5d2x-sd1:~# aplay demo.wav -v
Playing WAVE 'demo.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Mon
tlv320aic3x-codec 0-0018: Unable to sync registers 0x33-0x36. -121
Plug PCM: Route conversion PCM (sformat=S16_LE)
Transformation table:
0 <- 0
1 <- 0
Its setup is:
stream : PLAYBACK
access : RW_INTERLEAVED
format : S16_LE
subformat : STD
channels : 1
rate : 8000
exact rate : 8000 (8000/1)
msbits : 16
buffer_size : 4000
period_size : 1000
period_time : 125000
tstamp_mode : NONE
tstamp_type : MONOTONIC
period_step : 1
avail_min : 1000
period_event : 0
start_threshold : 4000
stop_threshold : 4000
silence_threshold: 0
silence_size : 0
boundary : 2097152000
Slave: Hardware PCM card 0 'Simple Audio' device 0 subdevice 0
Its setup is:
stream : PLAYBACK
access : MMAP_INTERLEAVED
format : S16_LE
subformat : STD
channels : 2
rate : 8000
exact rate : 8000 (8000/1)
msbits : 16
buffer_size : 4000
period_size : 1000
period_time : 125000
tstamp_mode : NONE
tstamp_type : MONOTONIC
period_step : 1
avail_min : 1000
period_event : 0
start_threshold : 4000
stop_threshold : 4000
silence_threshold: 0
silence_size : 0
boundary : 2097152000
appl_ptr : 0
hw_ptr : 0
^CAborted by signal Interrupt...
aplay: pcm_write

write error: Interrupted system call
root@rugged-board-a5d2x-sd1:~#
Please have look on below device tree
i2c0: i2c@f8028000 {
dmas = <0>, <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c0_default>;
status = "okay";
tlv320aic3007: tlv320aic3007@18 {
#sound-dai-cells = <0>;
compatible = "ti,tlv320aic3007";
reg = <0x18>;
AVDD-supply = <®_sound_3v3>;
IOVDD-supply = <®_sound_3v3>;
DRVDD-supply = <®_sound_3v3>;
DVDD-supply = <®_sound_1v8>;
status = "okay";
};
};
reg_sound_1v8: regulator-sound-1v8 {
compatible = "regulator-fixed";
regulator-name = "i2s-audio-1v8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
status = "okay";
};
reg_sound_3v3: regulator-sound-3v3 {
compatible = "regulator-fixed";
regulator-name = "i2s-audio-3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
status = "okay";
};
sound {
compatible = "simple-audio-card";
simple-audio-card,name = "Simple Audio";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&dailink_master>;
simple-audio-card,frame-master = <&dailink_master>;
bitclock-inversion = <1>;
/* simple-audio-card,mclk-fs = <256>;*/
simple-audio-card,widgets =
"Line", "Line In",
"Line", "Line Out",
"Speaker", "Speaker";
simple-audio-card,routing =
"Line Out", "LLOUT",
"Line Out", "RLOUT",
"Speaker", "SPOP",
"Speaker", "SPOM",
"LINE1L", "Line In",
"LINE1R", "Line In";
status = "okay";
simple-audio-card,cpu {
sound-dai = <&i2s0>;
bitclock-inversion = <0>;
};
dailink_master: simple-audio-card,codec {
sound-dai = <&tlv320aic3007 0>;
clocks =<&pck0>;
clock-frequency = <12384000>;
};
};