AnsweredAssumed Answered

I2s input slave mode on Imx6q-sabresd (AUD4)

Question asked by Jordi Massana on Jun 26, 2015
Latest reply on Jul 5, 2015 by igorpadykov

Hi there Freescale Community,

 

I've spent lot of time trying to get an audio i2s input signal into the Sabre Board with no success.

 

Im using kernel 3.14, but I can change it if that could solve my problem.

 

The signal is connected to the AUD4 Tx pins ( also tried in Rx) and I could record audio from that signal configuring the external device as an slave.

 

THe point is that the external device shoulld work as a master, and I can't get the externals clocks (BCLK,FSYNC) into de wm8962 sound card.

 

here my audmux and ssi2 configurartion:

 

- imx6qdl-sabresd.dtsi

 

sound {

                compatible = "fsl,imx6q-sabresd-wm8962",

                           "fsl,imx-audio-wm8962";

                model = "wm8962-audio";

                ssi-controller = <&ssi2>;

                audio-codec = <&codec>;

                audio-routing =

                        "Headphone Jack", "HPOUTL",

                        "Headphone Jack", "HPOUTR",

                        "Ext Spk", "SPKOUTL",

                        "Ext Spk", "SPKOUTR",

                        /*"AMIC", "MICBIAS",*/

                        "MICBIAS", "AMIC",

                        "DMIC", "MICBIAS",

                        "DMICDAT", "DMIC",

                        "IN3R", "MICBIAS";

                mux-int-port = <4>;

                mux-ext-port = <2>;

                hp-det-gpios = <&gpio7 8 1>;

                mic-det-gpios = <&gpio1 9 1 >;

        };

 

pinctrl_audmux: audmuxgrp {

                        fsl,pins = <

                                MX6QDL_PAD_SD2_DAT0__AUD4_RXD   0x130b0

                                MX6QDL_PAD_SD2_DAT3__AUD4_TXC   0x130b0

                                MX6QDL_PAD_SD2_DAT2__AUD4_TXD   0x110b0

                                MX6QDL_PAD_SD2_DAT1__AUD4_TXFS  0x130b0

                        >;

                };+

........

&ssi2{

        status="okay";

        fsl,mode = "i2s-slave";

};

 

- imx6qdl.dtsi

 

 

ssi2: ssi@0202c000 {

                                        #sound-dai-cells = <0>;

                                        compatible = "fsl,imx6q-ssi",

                                                        "fsl,imx51-ssi";

                                        reg = <0x0202c000 0x4000>;

                                        fsl,mode = "i2s-slave";

                                        fsl,synchronous-mode;

                                        interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>;

                                        clocks = <&clks IMX6QDL_CLK_SSI2_IPG>,

                                                 <&clks IMX6QDL_CLK_SSI2>;

                                        clock-names = "ipg", "baud";

                                        dmas = <&sdma 41 1 0>,

                                               <&sdma 42 1 0>;

                                        dma-names = "rx", "tx";

                                        fsl,fifo-depth = <15>;

                                        status = "okay";

                                };

 

 

.....

 

 

 

I also don't undestand very good which is the codec function (wm8962) in all the sabre schema

 

I would appreciate any suggestion.

 

Thanks a lot and best regards.

Outcomes