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>;
};