Hello,
I reviewing the schematic and the device tree. I have found that your configuration is a little different from our Sabre AI board. I suggest you have the configuration as is configured on our board. Otherwise, we cannot guarantee if it could work.
On the schematic, the only difference is that we have connected the ESAI_RST_B pin to a pull-up resistor.
Regarding the device tree. I suggest you make the following configurations, this is how it is programmed our device tree.
i2c@021a4000 {
#address-cells = <0x1>;
#size-cells = <0x0>;
compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
reg = <0x21a4000 0x4000>;
interrupts = <0x0 0x25 0x4>;
clocks = <0x3 0x7e>;
status = "okay";
clock-frequency = <0x186a0>;
pinctrl-names = "default";
pinctrl-0 = <0x30>;
cs42888@48 {
compatible = "cirrus,cs42888";
reg = <0x48>;
clocks = <0x33>;
clock-names = "mclk";
VA-supply = <0x34>;
VD-supply = <0x34>;
VLS-supply = <0x34>;
VLC-supply = <0x34>;
linux,phandle = <0x50>;
phandle = <0x50>;
};
regulator@2 {
compatible = "regulator-fixed";
reg = <0x2>;
regulator-name = "cs42888_supply";
regulator-min-microvolt = <0x325aa0>;
regulator-max-microvolt = <0x325aa0>;
regulator-always-on;
linux,phandle = <0x34>;
phandle = <0x34>;
};
sound-cs42888 {
compatible = "fsl,imx6-sabreauto-cs42888", "fsl,imx-audio-cs42888";
model = "imx-cs42888";
esai-controller = <0x4e>;
asrc-controller = <0x4f>;
audio-codec = <0x50>;
};
Hope this information could help you.
Best regards,
Diego.