Hi,
we have a custom board with iMX6q on it, and with three DAC and one ADC connected to the ESAI bus of the MX6. I managed to load the drivers for the four of them, but I still have problems on getting data from the I2S channel in two of them.
I checked with the oscilloscope the DATA0_OUT pin and it seems the only one working. How I can configure the esai driver to send data also on the other ports?
I am using the linux kernel for imx6 4.1.15
this is what i did in the devicetree file:
&esai {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_esai>;
#sound-dai-cells = <0>;
assigned-clocks = <&clks IMX6QDL_CLK_ESAI_SEL>,
<&clks IMX6QDL_CLK_ESAI_EXTAL>;
assigned-clock-parents = <&clks IMX6QDL_CLK_PLL4_AUDIO_DIV>;
assigned-clock-rates = <0>, <24576000>;
fsl,mode = "i2s-master";
status = "okay";
};
soundcard1 {
compatible = "fsl,imx6-sabreauto-cs42888",
"fsl,imx-audio-cs42888";
model = "imx-cs42888";
esai-controller = <&esai 0>;
audio-codec = <&codec1>;
audio-routing = "LINEOUT", "DAC";
};
soundcard2 {
compatible = "fsl,imx6-sabreauto-cs42888",
"fsl,imx-audio-cs42888";
model = "imx-cs42888";
esai-controller = <&esai 1>;
audio-codec = <&codec1>;
audio-routing = "LINEOUT1", "DAC1";
};
soundcard3 {
compatible = "fsl,imx6-sabreauto-cs42888",
"fsl,imx-audio-cs42888";
model = "imx-cs42888";
esai-controller = <&esai 2>;
audio-codec = <&codec3>;
audio-routing = "LINEOUT2", "DAC2";
};