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: TI TLV320AIC3104 audio module integration issue in Linux Kernel

Other Parts Discussed in Thread: TLV320AIC3104

Tool/software: Linux

Dear All,

 

We are integrating TI TLV320AIC3104 audio module to our application processor (sama5d27 ). Currently we running linux 4.14.73 in application processor. We enabled corresponding driver in linux menuconfig and finding difficulties in configuration of linux DTS(attached) file.

 

Please send sample dts file for TLV320AIC3104 audio module.

 

Linux kernel error:

 

t91_i2c f8028000.i2c: can't get DMA channel, continue without DMA support
at91_i2c f8028000.i2c: Using FIFO (16 data)
DCDC_REG1: supplied by regulator-dummy
VDD_1V35: failed to get the current voltage(-121)
act8945a-regulator act8945a-regulator: failed to register DCDC_REG1 regulator
act8945a-regulator: probe of act8945a-regulator failed with error -121
act8945a-charger: probe of act8945a-charger failed with error -121
at91_i2c f8028000.i2c: AT91 i2c bus driver (hw version: 0x704).
at91_i2c fc028000.i2c: using dma0chan7 (tx) and dma0chan8 (rx) for DMA transfers
at91_i2c fc028000.i2c: Using FIFO (16 data)
tlv320aic3x-codec 1-0018: Failed to get supply 'IOVDD': -517
tlv320aic3x-codec 1-0018: Failed to request supplies: -517
at91_i2c fc028000.i2c: AT91 i2c bus driver (hw version: 0x704).

Dts File snap shot:

sound {
    compatible = "simple-audio-card";
    pinctrl-names = "default";
    simple-audio-card,name = "tlv320aic3x Audio";
    simple-audio-card,format = "i2s";
    simple-audio-card,widgets = "Speaker", "Speakers";
    simple-audio-card,routing = "Speakers", "Speaker";
    simple-audio-card,bitclock-master = <&cpu_dai>;
    simple-audio-card,frame-master = <&cpu_dai>;

    /*codec_dai: simple-audio-card,codec {
        sound-dai = <&tlv320aic3x>;
        clocks = <&pck0>;
        clock-frequency = <12384000>;
    };*/

    codec_dai: simple-audio-card,codec {
        sound-dai = <&tlv320aic3x>;
    };

    cpu_dai: simple-audio-card,cpu {
        sound-dai = <&i2s1>;
    };
};


i2c1: i2c@fc028000 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_i2c1_default &pinctrl_codec_reset>;
    status = "okay";

    tlv320aic3x: codec@18 {
        compatible = "ti,tlv320aic3x";
        reg = <0x18>;
        gpio-reset = <&pioA PIN_PB24 GPIO_ACTIVE_HIGH>;

        /* Regulators */
        AVDD-supply = <&vdd_3v3_reg>;
        IOVDD-supply = <&vdd_3v3_reg>;
        DRVDD-supply = <&vdd_3v3_reg>;
        DVDD-supply = <&vdd_sdhc_1v8_reg>;
    };
};

pinctrl_i2c1_default: i2c1_default {
    pinmux = <PIN_PD19__TWD1>,
         <PIN_PD20__TWCK1>;
    bias-disable;
};

pinctrl_codec_reset: codec_reset {
    pinmux = <PIN_PB24__GPIO>;
    bias-pull-up;
};

 

Regards,

Kishore Poojari

  • Kishore,

    I'm afraid I don't have a lot of insight into linux, so the errors don't mean much to me. The linux driver was created by TI for kernel 2.7 and from there on it has been updated by the community. I would recommend going to a linux community forum for help with the errors. I can help you with device specific configuration.

    best regards,
    -Steve Wilson