w a) We have imx6sl custom board where PMIC is connected on pin number G23 and G24 i.e. under PAD_KEY_COL0 (ALT1 —I2C2_SCL) and PAD_KEY_ROW0 (ALT1 —I2C2_SDA). We are trying to communicate with PMIC through u-boot i2c command to enable VGEN2 voltage , but we could not able to communicate with the PMIC, also tracked u-boot source code and found the issue which is as follows
- The I2C_I2SR [IBB] busy bit is always zero, expected to be one after selecting master mode (I2C_I2CR [MSTA] = 1 Master mode. Changing MSTA from 0 to 1 signals a Start on the bus and selects Master mode).
b) b) We have imx6sl evaluation board where the PMIC is connected on pin number AC13 and AD13 i.e. under PAD_I2C1_SCL (ALT0 —I2C1_SCL) and PAD_I2C1_SDA (ALT0 —I2C1_SDA) where we are able to communicate successfully through u-boot i2c command. We could able to reproduce the above issue in evaluation board itself if we disable SION bit in pad mux register (1 ENABLED — Force input path of pad I2C1_SDA).
c)Also we have found the following information from reference manual at page number 1226
“Inputs of I2Cn_SCL and I2Cn_SDA also need to be manually enabled by setting the SION bit in the IOMUX after the corresponding PADs are selected as I2C function “
We cannot set SION bit in our custom board, since the default functionality is different (KEY_COL0), also what is the significance of forcing the PAD functionality to default with SION bit , rather selecting with MUX_MODE register and how to overcome this is issue in our custom board ? .
Thanks and Regards