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: Am335 configured as I2S master but no work!!

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

Tool/software: Linux

Hi.

  #1. We are using AM335ZCZ GP EVM 1.4a to config the I2S Master.

  #2. The Pinmux is as this.

          aclkx / bit clock / A13

          ahclkx / M clock / A14

          fsx / B13

          axr0 / D12

          axr1 / D13

  #3. The Am335-evm.dts code is as:

         

                        "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 = <&mcasp0>;
                };

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

               -----------------------------

                0x1ac ( PIN_OUTPUT | MUX_MODE0 ) /* (A14) mcasp0_ahclkx.mcasp0_ahclkx */
                0x190 ( PIN_OUTPUT | MUX_MODE0 ) /* (A13) mcasp0_aclkx.mcasp0_aclkx */
                0x194 ( PIN_OUTPUT | MUX_MODE0 ) /* (B13) mcasp0_fsx.mcasp0_fsx */
                0x198 ( PIN_OUTPUT | MUX_MODE0 ) /* (D12) mcasp0_axr0.mcasp0_axr0 */
                0x1a8 ( PIN_INPUT | MUX_MODE0 ) /* (D13) mcasp0_axr1.mcasp0_axr1 */

     #4. davici-evm.c is as this:

    

static struct snd_soc_dai_link evm_dai_tlv320aic3x = {
        .name           = "TLV320AIC3X",
        .cpu_dai_name= "davinci-mcasp.0",
        .stream_name    = "AIC3X",
        .codec_dai_name = "tlv320aic3x-hifi",
        .ops            = &evm_ops,
        .init           = evm_aic3x_init,

      .dai_fmt = (SND_SOC_DAIFMT_CBS_CFS | SND_SOC_DAIFMT_NB_NF |
                        SND_SOC_DAIFMT_I2S),

      #5. Until now, we measure the A13/A14/B13/D12/D13, there is no any signal out.

           ps. We have disconnect the AIC codec between the AM335 SOC.

                What we need is to have the signal output sent from AM335 directly.

      #6.  The command we used is the : aplay

                Console result after issuing "aplay -l"

 root@am335x-evm:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: AM335xEVM [AM335x-EVM], device 0: davinci-mcasp.0-tlv320aic3x-hifi tlv320aic3x-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

                Console result after issuing root@am335x-evm:~# aplay /mnt/116K.wav
                Playing WAVE '/mnt/116K.wav' : Signed 16 bit Little Endian, Rate 24000 Hz, Stereo

BR Rio