I am finishing up work on a Carrier Board for the iMX8M Plus. We require the use of SAI3_RX for I2S slave audio.
My concern is that SAI3_RX_BCLK is on pin 256, which is the same pin as CTRL_SLEEP_MOCI#. I was not planning on using the CTRL_SLEEP_MOCI# function, but am worried it may be tricky to use this pin for anything than its default function.
Could reassigning pin 256 cause any software headaches?
Is there an alternative pin I could use for SAI3_RX_BCLK if so?
Hi @forstnert !
Which exact Verdin iMX8MP are you using? Please share its version as well.
Which BSP version are you using?
My answers are supposing you are using Toradex BSP 6 (Yocto Kirkstone)
From the datasheet of Verdin iMX8M Plus, we can check the trace for the pin 256 (https://docs.toradex.com/110977-verdin_imx8m_plus_v1.1_datasheet.pdf, page 30):
Purely from a software point of view, changing its pin functionality from GPIO to SAI3_RX_BCLK seems not to be problematic. But I will ask a colleague to double check this from hardware point of view.
It is worth noticing that pin 256 is specified as “Always Compatible” Verdin Family Standard:
As we can see from imx8mp-pinfunc.h « freescale « dts « boot « arm64 « arch - linux-toradex.git - Linux kernel for Apalis, Colibri and Verdin modules, the
MX8MP_IOMUXC_SAI3_RXC (pin 256) is the only pin capable of the
Do you really specifically need the SAI3? From the datasheet of Verdin iMX8M Plus, there are other SAI interfaces. Wouldn’t any of them satisfy your requirements?
Thanks for your very helpful reply!
We are using Verdin iMX8MP 1.1a with BSP 6.4. The hesitation for using pin 256 was the worry that there would be issues with the BSP if it was not used as CTRL_SLEEP_MOCI#. But it seems like there is nothing to worry about, could you confirm that is the case now you have our version numbers?
Unfortunately SAI3 is the only SAI interface we have available, as other functionality is being used on the pins for the other SAI interfaces. The pins for SAI7 are free, but from my understanding they do not support the data rate from the TC358743XBG which will be providing the audio data.
you can change that pin but you have to be aware that you will lose the CTRL_SLEEP_MOCI# function.
So if your use case does not need it then it is ok.