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.

Compiler/TLV320AIC3106: TLV320aic3106 devicetree i2S binding

Part Number: TLV320AIC3106

Tool/software: TI C/C++ Compiler

Hello. I'm working with the tlv320aic3106 and I declare it like this in the devicetree.

sound{

compatible = "simple-audio-card";
simple-audio-card,name = "TLV320AIC3106";
simple-audio-card,format = "i2s";
simple-audio-card,cpu {
 sound-dai = <&ssi1>;
};
simple-audio-card,codec {
 sound-dai = <&codec>;
 clocks=<&codec_clock>;
};

};

&i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c1_2>;
clock-frequency = <100000>;
status = "okay";

codec: codec@18 {
#sound-dai-cells = <0>;
compatible = "ti,tlv320aic3106";
reg = <0x18>;
clocks=<&codec_clock>;
clock-names = "mclk";
reset-gpios=<&gpio3 29 GPIO_ACTIVE_LOW>;
AVDD-supply = <&reg_3p3v>;
IOVDD-supply = <&reg_aud_iovdd>; /*IOVDD: 3.3V; DVDD: 1.8 V; DRVDD: 3.3V; AVDD_DAC: 3.3V; */
DRVDD-supply = <&reg_drvdd>;
DVDD-supply = <&reg_aud_dvdd>;
};

};

&ssi1 {

codec-handle = <&codec>;
fsl,mode = "i2s-slave";//i2s-slave
status = "okay";

};

clocks{

codec_clock: clk12M {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <12000000>;
};

};

With these specs, the driver in linux kernel find the codec, and the soundcard is also detected, but when I do aplay command, i2s signals don't work. If someone knows what I forget to declare in the devicetree sound node, thanks.

Best reguards.