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/PROCESSOR-SDK-AM335X: TLV320AIC3268 codec support

Part Number: PROCESSOR-SDK-AM335X
Other Parts Discussed in Thread: TLV320AIC3268, TLV320AIC3106

Tool/software: Linux

We have custom board of AM335x, and we used tlv320aic3268.

But in the SDK, driver is not there.

I used "tlv320aic3x " generic driver, and did the configuration for the same.

Here is the DTS file change

/-------------------------------------------------------------- DTS File for Sound ----------------------------------------------------------/

sound {
                compatible = "simple-audio-card";
                simple-audio-card,name = "AM335x-EVM";
                simple-audio-card,widgets =
                        "Headphone", "Headphone Jack",
                        "Line", "Line In";
                simple-audio-card,routing =
                        "Headphone Jack",       "HPLOUT",
                        "Headphone Jack",       "HPROUT",
                        "LINE1L",               "Line In",
                        "LINE1R",               "Line In";
                simple-audio-card,format = "dsp_b";
                simple-audio-card,bitclock-master = <&sound_master>;
                simple-audio-card,frame-master = <&sound_master>;
                simple-audio-card,bitclock-inversion;

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

                sound_master: simple-audio-card,codec {
                        /* sound-dai = <&tlv320aic3106>; */
                        sound-dai = <&tlv320aic3x>;
                        system-clock-frequency = <24000000>;
                };
        };

mcasp1_pins: mcasp1_pins {                                                              /* CHECK */
                pinctrl-single,pins = <
                        0x1a0 (PIN_INPUT | MUX_MODE0)   /* mcasp0_aclkr.AUD_BCLK */
                        0x190 (PIN_INPUT_PULLDOWN | MUX_MODE0)  /* mcasp0_aclkx.AUD_BCLK */

                        0x1a4 (PIN_INPUT | MUX_MODE0) /* mcasp0_fsr.AUD_FSR */
                        0x194 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp0_fsx.AUD_FSX */

                        0x198 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp0_axr0.AUD_DIN */
                        0x1a8 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp0_axr1.AUD_DOUT */

                        0x19c (PIN_INPUT_PULLUP | MUX_MODE0) /* mcasp0_ahclkr.AUD_MCLK */
                        0x1ac (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mcasp0_ahclkx.AUD_MCLK */
                >;
        };

&mcasp1 {
        #sound-dai-cells = <0>;
        pinctrl-names = "default";
        pinctrl-0 = <&mcasp1_pins>;

        status = "okay";

        op-mode = <0>;          /* MCASP_IIS_MODE */
        tdm-slots = <2>;
        /* 4 serializers *//* 0: INACTIVE, 1: TX, 2: RX */
        serial-dir = <
                0 0 1 2
        >;
        tx-num-evt = <32>;
        rx-num-evt = <32>;
};

i2c2_pins: pinmux_i2c2_pins {                                                     
                pinctrl-single,pins = <
                        0x178 (PIN_INPUT_PULLUP | MUX_MODE3)    /* uart1_ctsn.i2c2_sda */
                        0x17C (PIN_INPUT_PULLUP | MUX_MODE3)    /* uart1_rtsn.i2c2_scl */
                >;
        };

&i2c2 {
        pinctrl-names = "default";
        pinctrl-0 = <&i2c2_pins>;

        status = "okay";
        clock-frequency = <100000>;

        tlv320aic3x: tlv320aic3x@18 {
                #sound-dai-cells = <0>;
                compatible = "ti,tlv320aic3x";
                reg = <0x18>;
                status = "okay";
                gpio-reset = <&gpio0 15 GPIO_ACTIVE_LOW>;

                /* Regulators */

                AVDD-supply = <&vaux2_reg>;
                IOVDD-supply = <&vaux2_reg>;
                DRVDD-supply = <&vaux2_reg>;
                DVDD-supply = <&vbat>;
        };
};

/-------------------------------------------------------------------------------------------------------------------------------------------------------------------/

Than driver is loaded perfectly.

I did the change for i2c resister according to tlv320aic2368.

But still not getting audio.

Please provide the driver of tlv320aic2368 or provide some solution for the same.

Regards,

-- Ronak