This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/TLV320AIC3XSW-LINUX: Unable to sync registers error in tlv320aic3106

Part Number: TLV320AIC3XSW-LINUX
Other Parts Discussed in Thread: TLV320AIC3106

Tool/software: Linux

Hi,

I am working on a TI's customized board using SDCard for booting and ti-processor-sdk-linux-am335x-evm-03.02.00.05-Linux-x86-Install as SDK.

After running "speaker-test" command on terminal, I'm getting the following error.

root@ngt:~/test# speaker-test
speaker-test: /usr/lib/libasound.so.2: no version information available (required by speaker-test)
speaker-test: /usr/lib/libasound.so.2: no version information available (required by speaker-test)

speaker-test 1.0.26

Playback device is default
Stream parameters are 48000Hz, S16_LE, 1 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 256 to 32768[   30.937230] tlv320aic3x-codec 1-001b: Unable to sync registers 0x1-0x1. -121

Period size range from 128 to 16384
Using max buffer size 32768
Periods = 4
was set period_size = 8192
was set buffer_size = 32768
 0 - Front Left
^C
root@ngt:~/test#

On using "aplay" command, I got the following error.

root@ngt:~# aplay audiocheck1.wav
aplay: /usr/lib/libasound.so.2: no version information available (required by aplay)
aplay: /usr/lib/libasound.so.2: no version information available (required by aplay)
aplay: /usr/lib/libasound.so.2: no version information available (required by aplay)
Playing WAVE 'audiocheck1.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, [   66.119910] tlv320aic3x-codec 1-001b: Unable to sync registers1
Mono
^CAborted by signal Interrupt...
root@ngt:~#

Changes Done

I have registered the tlv320aic3106 in the device tree as shown below:

1.

--- a/arch/arm/boot/dts/am335x-bone-common.dtsi
+++ b/arch/arm/boot/dts/am335x-bone-common.dtsi


+          i2c1_pins: pinmux_i2c1_pins {
+                pinctrl-single,pins = <
+                        0x158 (PIN_INPUT_PULLUP | MUX_MODE2)    /* i2c1_sda.i2c1_sda */
+                        0x15c (PIN_INPUT_PULLUP | MUX_MODE2)    /* i2c1_scl.i2c1_scl */
+                >;
+        };

+&i2c1 {
+        pinctrl-names = "default";
+        pinctrl-0 = <&i2c1_pins>;
+        status = "okay";
+        clock-frequency = <100000>;
+
+        tlv320aic3106: tlv320aic3106@1b {
+                compatible = "ti,tlv320aic3106";
+                reg = <0x1b>;
+                gpio-reset = <&gpio0 8 0>; /* GPIO_1 AUDIO_CODEC_RST  */
+                status = "okay";
+                };
+};

2.

--- a/arch/arm/boot/dts/am335x-boneblack.dts
+++ b/arch/arm/boot/dts/am335x-boneblack.dts
 &rtc {
        system-power-controller;
@@ -142,7 +152,7 @@
        op-mode = <0>;  /* MCASP_IIS_MODE */
        tdm-slots = <2>;
        serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
-                       0 0 1 0
+                       1 2 0 0   /* Changing from 0 0 1 0 to 1 2 0 0 */
                >;
        tx-num-evt = <32>;
        rx-num-evt = <32>;
@@ -167,19 +177,14 @@
        };
 
        sound {
-               compatible = "simple-audio-card";
-               simple-audio-card,name = "TI BeagleBone Black";
-               simple-audio-card,format = "i2s";
-               simple-audio-card,bitclock-master = <&dailink0_master>;
-               simple-audio-card,frame-master = <&dailink0_master>;
-
-               dailink0_master: simple-audio-card,cpu {
-                       sound-dai = <&mcasp0>;
-                       clocks = <&clk_mcasp0>;
-               };
+                compatible = "ti,da830-evm-audio";
+                ti,model = "DA830 EVM";
+                ti,audio-codec = <&tlv320aic3106>;
+                ti,mcasp-controller = <&mcasp0>;
+                ti,codec-clock-rate = <24000000>;
+                ti,audio-routing =
+                                "Headphone Jack",       "HPLOUT",
+                                "Headphone Jack",       "HPROUT";
 
-               simple-audio-card,codec {
-                       sound-dai = <&tda19988>;
                };

};

};

Please suggest how that error can be solved?

Thanks and Regards

Deshvir Malik