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.

TLV320AIC3100: codec doesn't work with IMX6 on Linux kernel 4.1.15

Part Number: TLV320AIC3100

I'm trying to insert the codec audio in linux 4.15.

I added this configuration inside the device tree:
&i2c3 {
status = "okay";

codec: tlv320aic310x@18 {
compatible = "ti,tlv320aic3x";
reg = <0x18>;
clocks = <&clks 201>;
rst-gpios = <&gpio5 31 0>; /* active high */
HPVDD-supply = <&reg_3p3v>; //da inserire il corretto regulator
SPRVDD-supply = <&reg_3p3v>; //da inserire il corretto regulator
SPLVDD-supply = <&reg_3p3v>; //da inserire il corretto regulator
AVDD-supply = <&reg_3p3v>; //da inserire il corretto regulator
IOVDD-supply = <&reg_3p3v>; //da inserire il corretto regulator
DVDD-supply = <&reg_1p8v>; //da inserire il corretto regulator
status = "okay";
};
};

sound {
compatible = "fsl,imx6q-var-som-tlv320aic3x", "fsl,imx-audio-tlv320aic3x";
model = "tlv320aic3x-audio";
ssi-controller = <&ssi1>;
audio-codec = <&codec>;
audio-routing =
/* Headphone connected to HPLOUT, HPROUT */
"Headphone Jack", "HPLOUT",
"Headphone Jack", "HPROUT",
/* Line Out connected to LLOUT, RLOUT */
"Line Out", "LLOUT",
"Line Out", "RLOUT",
/* Mic connected to (MIC3L | MIC3R) */
"Mic Bias", "MIC3L",
"Mic Bias", "MIC3R",
"Mic Jack", "Mic Bias",
/* Line In connected to (LINE1L | LINE2L), (LINE1R | LINE2R) */
"Line In", "LINE1L",
"Line In", "LINE2L",
"Line In", "LINE1R",
"Line In", "LINE2R";
mux-int-port = <1>;
mux-ext-port = <4>;
};

But when Linux is booting the device is not mounting. Why

Thanks

  • Roberto, 

    I'm sorry you are having some difficulties with getting linux to mount the TLV320AIC3100. 

    We do not review device tree settings due to the large variety of systems developed by third parties and the different Linux versions available. We do provide examples based on TI boards that show the three main components that must be configured and linked:

    • Codec driver - This is provided by TI for select codec like TLV320AIC310x
    • Platform driver - This is provided by the Linux system
    • Machine driver - This connects pins, power, and other board level components together

    This Sitara Linux Audio Driver Overview wiki page provides an overview on how to configure the three components.

    This ALSA User Space wiki page shows some of the command line utilities available.

    This Linux Core Audio User's Guide wiki page shows examples of using audio codecs on different TI Linux EVMs.

    These wiki pages should provide a good starting point for development. For further support, contact the third party and appropriate Linux support forums for your system and Linux version.

    best regards,

    -Steve Wilson