I'd like to configure I2C6 on the SAI5_RXFS and SAI5_RXC pads on the IMX8MPLUSLPD4-EVK board.
To do this, I have configured the following registers:
/* For SDA */
IOMUXC_SW_MUX_CTL_PAD_SAI5_RXC = 0x00000003
IOMUXC_SW_PAD_CTL_PAD_SAI5_RXC = 0x000001E6
IOMUXC_I2C6_SDA_IN_SELECT_INPUT = 0x00000001
/* For SCL */
IOMUXC_SW_MUX_CTL_PAD_SAI5_RXFS = 0x00000003
IOMUXC_SW_PAD_CTL_PAD_SAI5_RXFS = 0x000001E6
IOMUXC_I2C6_SCL_IN_SELECT_INPUT = 0x00000001
/* Set I2C6 input clock to 66MHz*/
CCM_TARGET_ROOT_I2C6 = 0x17000001
CCM_CCGR_I2C6 = 0x00000003
When I initialize an I2C communication by following the steps below:
1- reset and enable I2C6 : I2C_I2CR = 0x0 then I2C_I2CR = I2C_I2CR_IEN
2 - make sure bus is free by reading I2SR ( (I2C_I2SR & I2C_I2SR_IBB) == 0)
3 - clear both IAL and IIF bits by writing I2SR : I2C_I2SR = 0x0
4 - assert START signal by writing I2CR : I2C_I2CR = I2C_I2CR_IEN | I2C_I2CR_MSTA | I2C_I2CR_MTX = 0xB0
5 - wait till busy after the START signal by reading I2SR : I2SR is equal to 0x81 , the bus is not busy and i cant send slave adress.
I've applied these same configurations and steps on the I2C3 bus with I2C3_SDA and I2C3_SCL pads, and it works fine, but I can't get the I2C6 bus to work.
Are there other registers to configure for the I2C6 or other steps to perform?