&sai0 {
#sound-dai-cells = <0>;
status = "okay";
fsl,txmasterflag = <1>; // SND_SOC_DAIFMT_CBM_CFM
fsl,rxmasterflag = <1>; // SND_SOC_DAIFMT_CBM_CFM
};
&sai2 {
#sound-dai-cells = <0>;
status= "okay";
fsl,txmasterflag = <4>; // SND_SOC_DAIFMT_CBS_CFS
fsl,rxmasterflag = <4>; // SND_SOC_DAIFMT_CBS_CFS
};
sound-btsco {
compatible = "simple-audio-card";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_btsco_gpios>;
simple-audio-card,bitclock-master = <&btsco_master>;
simple-audio-card,format = "i2s";
simple-audio-card,frame-master = <&btsco_master>;
simple-audio-card,name = "bt-sco";
simple-audio-card,cpu {
sound-dai = <&sai0>;
};
btsco_master: simple-audio-card,codec {
sound-dai = <&btsco_codec>;
};
};
btsco_codec: btsco_codec {
compatible= "linux,bt-sco";
status = "okay";
#sound-dai-cells = <0>;
};
sound-radio {
compatible = "simple-audio-card";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_st_radio_control>,<&pinctrl_st_radio_audio>;
simple-audio-card,bitclock-master = <&radio_master>;
simple-audio-card,format = "i2s";
simple-audio-card,frame-master = <&radio_master>;
simple-audio-card,name = "radio";
radio_master: simple-audio-card,cpu {
sound-dai = <&sai2>;
};
simple-audio-card,codec {
sound-dai = <&radio_codec>;
};
};
radio_codec: radio_codec {
compatible= "linux,bt-sco";
status = "okay";
#sound-dai-cells = <0>;
};
Does anyone know how to make SAI2 work in I2S slave mode, or maybe what I could check? As far as I can see, SAI0 and SAI2 have identical configurations, but SAI2 only works as master, while SAI0 works as both.