Note to future me, and anyone else who's getting the kStatus_LPI2C_ArbitrationLost error when attempting to use the I2C Peripheral.
If you're getting this ArbitrationLost error, with the I2C clock and data pins *only* doing a start condition, then immediately failing, it's likely because you don't have the "SoftwareInputOn' mode selected in the IOMUXC.
Solved! Go to Solution.
Make sure you have called
IOMUXC_SetPinMux(IOMUXC_GPIO_11_LPI2C1_SDA, 1U);
IOMUXC_SetPinMux(IOMUXC_GPIO_12_LPI2C1_SCL, 1U);
Thanks for this. I spent a few hours tracing the issue without success until I found this. It's real easy to overlook stuff when setting up basic peripherals on the i.MX because there is just so much stuff to configure.
Make sure you have called
IOMUXC_SetPinMux(IOMUXC_GPIO_11_LPI2C1_SDA, 1U);
IOMUXC_SetPinMux(IOMUXC_GPIO_12_LPI2C1_SCL, 1U);