audio issue with custom i.MX6 board (TLV320)

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

audio issue with custom i.MX6 board (TLV320)

1,946 Views
smaschy
Contributor II

Hey Community, i'm working with a custom board based on an i.MX6 SoC from Phytec. My Problem is that i get no audio output from the headphone or speaker channel of the used TLV320AIC3007. Does somebody has any idea for me?

If i try to play an example audio file (1) i get this error (2) or if i try the speaker-test (3) i get the next error (4).

gst-play-1.0 gag.mp3
(gst-plugin-scanner:239): GLib-GObject-CRITICAL **: g_object_class_install_property: assertion 'class->set_property != NULL' failed
speaker-test
tlv320aic3x-codec 0-0018: Failed to write 0 = d: -5‍‍

Startup Log:

[   17.548686] ALSA device list:
[   17.548692]   #0: OnboardTLV320AIC3007‍‍

here is my DT file:

   

tlv320_mclk: oscillator {
        compatible = "fixed-clock";
        #clock-cells = <0>;
        clock-frequency = <19200000>;
        clock-output-names = "tlv320-mclk";
    };
...
    sound {
        compatible = "simple-audio-card";
        simple-audio-card,name = "OnboardTLV320AIC3007";
        simple-audio-card,format = "i2s";
        simple-audio-card,bitclock-master = <&dailink_master>;
        simple-audio-card,frame-master = <&dailink_master>;
        simple-audio-card,widgets =
            "Microphone", "Mic Jack",
            "Line", "Line In",
            "Line", "Line Out",
            "Speaker", "Speaker",
            "Headphone", "Headphone Jack";
        simple-audio-card,routing =
            "Line Out", "LLOUT",
            "Line Out", "RLOUT",
            "Speaker", "SPOP",
            "Speaker", "SPOM",
            "Headphone Jack", "HPLOUT",
            "Headphone Jack", "HPROUT",
            "MIC3L", "Mic Jack",
            "MIC3R", "Mic Jack",
            "Mic Jack", "Mic Bias",
            "LINE1L", "Line In",
            "LINE1R", "Line In";

        simple-audio-card,cpu {
            sound-dai = <&ssi2>;
        };

        dailink_master: simple-audio-card,codec {
            sound-dai = <&codec>;
            clocks = <&tlv320_mclk>;
        };
    };
...
&audmux {
    status = "okay";

    ssi2 {
        fsl,audmux-port = <1>;
        fsl,port-config = <
            (IMX_AUDMUX_V2_PTCR_TFSDIR |
            IMX_AUDMUX_V2_PTCR_TFSEL(4) |
            IMX_AUDMUX_V2_PTCR_TCLKDIR |
            IMX_AUDMUX_V2_PTCR_TCSEL(4))
            IMX_AUDMUX_V2_PDCR_RXDSEL(4)
        >;
    };

    pins5 {
        fsl,audmux-port = <4>;
        fsl,port-config = <
            0x00000000
            IMX_AUDMUX_V2_PDCR_RXDSEL(1)
        >;
    };
};
...
&i2c1 {
...

    codec: tlv320@18 {
        compatible = "ti,tlv320aic3007";
        #sound-dai-cells = <0>;
        reg = <0x18>;
        ai3x-micbias-vg = <2>;

        AVDD-supply = <&sound_3v3>;
        IOVDD-supply = <&sound_3v3>;
        DRVDD-supply = <&sound_3v3>;
        DVDD-supply = <&sound_1v8>;
    };
...
pinctrl_audmux: audmuxgrp {
            fsl,pins = <
                MX6QDL_PAD_DISP0_DAT16__AUD5_TXC    0x130b0
                MX6QDL_PAD_DISP0_DAT17__AUD5_TXD    0x110b0
                MX6QDL_PAD_DISP0_DAT18__AUD5_TXFS    0x130b0
                MX6QDL_PAD_DISP0_DAT19__AUD5_RXD    0x130b0
            >;
        };
...
&ssi2 {
    status = "okay";
};

Thanks.

Labels (2)
0 Kudos
1 Reply

994 Views
igorpadykov
NXP Employee
NXP Employee

Hi smaschy

please check if clocks are present with oscilloscope and look at

imx6 - tlv320aic32x4 codec no data on I2S port 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos