Hi Igor,
We are using imx8dx chipset. As you mentioned, sdk has bare metal programming example. We trying to achieve this configuration from Linux.
As per my understanding, fsl_esai_hw_params function in fsl_esai.c configures transmitter fifo enable bits based on the channels and slots,
u32 pins = DIV_ROUND_UP(channels, esai_priv->slots);
val = ESAI_xFCR_xWA(width) | ESAI_xFCR_xFWM(esai_priv->fifo_depth) |
(tx ? ESAI_xFCR_TE(pins) | ESAI_xFCR_TIEN : ESAI_xFCR_RE(pins));
Also in fsl_esai_trigger function, transmitter enable bits configured in TCR register which is also based on channels and slots.
So for example if i select channels as 2 and slots as 2 for normal mode, it gives pins value as 1 and select TX0 pins.
Can you guide us to drive data in normal mode from TX1 pin?
Regards,
Abdul