AnsweredAssumed Answered

using simple-audio-card imx6 with TLV320AIC3100

Question asked by Tyler Arnold on Dec 14, 2017
Latest reply on Dec 17, 2017 by igorpadykov

hi there , I am trying to write a dts simple-audio-card to bridge audio to an external ti codec. It appears like the audio mux settings are not being parsed by the asoc driver and set in the hw registers. Here is my current configuration:

 

sound {

    compatible = "simple-audio-card";

    simple-audio-card,name = "foo";

     simple-audio-card,format = "i2s";

     simple-audio-card,widgets =

                        "Speaker", "speakerOut";

     simple-audio-card,routing =

        "speakerOut", "SPK";

     simple-audio-card,cpu {

        sound-dai = <&ssi2 0>;

     };

     simple-audio-card,codec {

          bitclock-master;

          frame-master;

          sound-dai = <&tlv320aic311x>;

          system-clock-frequency = <24000000>;

          system-clock-direction = "out";

     };

  };

 

&ssi2 {

    #sound-dai-cells = <0>;

    fsl,mux-int-port = <2>;

    fsl,mux-ext-port = <3>;

    fsl,mode = "i2s-master";

    pinctrl-names = "default";

     status = "okay";

};

 

tlv320aic311x: tlv320aic310x@18 {

      #sound-dai-cells = <0>;

      compatible = "ti,tlv320aic310x";

      reg = <0x18>;

      HPVDD-supply  = <&codec_en_regulator>;

      SPRVDD-supply = <&codec_en_regulator>;

      SPLVDD-supply = <&codec_en_regulator>;

      AVDD-supply   = <&codec_en_regulator>;

      IOVDD-supply  = <&codec_en_regulator>;

      DVDD-supply   = <&codec_en_regulator>;

  };

Outcomes