Hello!
I work on custom board based on iMX538, I succesfully get video from CMOS via CSI0, now I solve problem with I2C1.
I2C1 configuration:
IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT8 0x15
IOMUXC_SW_PAD_CTL_PAD_CSI0_DAT8 0x1ec
IOMUXC_I2C1_IPP_SDA_IN_SELECT_INPUT 0x0
IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT9 0x15
IOMUXC_SW_PAD_CTL_PAD_CSI0_DAT9 0x1ec
IOMUXC_I2C1_IPP_SCL_IN_SELECT_INPUT 0x0
According with i.MX53 Multimedia Applications Processor Reference Manual (Rev. 2,.1, 6/2012) I not see any errors in I2C1 configuration, unfortunally it not work and I have very strange situation:
- in U-Boot I not see change signal level, it always hight
- in Linux I see change signal level, but I not see clock
Linux debug output:
i2c i2c-0: ioctl, cmd=0x707, arg=0x7ec3dbfc
i2c i2c-0: master_xfer[0] W, addr=0x5c, len=3
i2c i2c-0: <i2c_imx_xfer>
i2c i2c-0: <i2c_imx_start>
i2c i2c-0: <i2c_imx_bus_busy>
i2c i2c-0: <i2c_imx_xfer> transfer message: 0
i2c i2c-0: <i2c_imx_xfer> CONTROL: IEN=1, IIEN=1, MSTA=1, MTX=1, TXAK=1, RSTA=0
i2c i2c-0: <i2c_imx_xfer> STATUS: ICF=1, IAAS=0, IBB=1, IAL=0, SRW=0, IIF=0, RXAK=1
i2c i2c-0: <i2c_imx_write> write slave address: addr=0xb8
i2c i2c-0: <i2c_imx_trx_complete> TRX complete
i2c i2c-0: <i2c_imx_acked> No ACK
i2c i2c-0: <i2c_imx_stop>
i2c i2c-0: <i2c_imx_bus_busy>
i2c i2c-0: <i2c_imx_xfer> exit with: error: -5
I try use OBDS (I201139_mx53_sbrth_lcb_release.tar.gz), unfortunally it not run on our board.
How can I solve this problem?
Thank you and excuse me my bad english.
Problem solved, I think problem was in a particular sample our board, now I2C1 work in Linux.
Unfortunally I can't check I2C in U-Boot because I2C not work in U-Boot if I load it via MFGTool, I check this on QSB-R.