Thanks for your reply Joshua,
What was your problem back then? Do you have communication on I2C3 now using android+ freescale r10.3.1 patches?
I have attached all lines related to I2C from my board file, I have to get clearance before posting the file in its entirety.
static iomux_v3_cfg_t mx53_board_pads[] = {
:
:
/* I2C1 */
MX53_PAD_CSI0_DAT8__I2C1_SDA,
MX53_PAD_CSI0_DAT9__I2C1_SCL,
/* I2C2 */
MX53_PAD_KEY_COL3__I2C2_SCL,
MX53_PAD_KEY_ROW3__I2C2_SDA,
/* I2C3 */
MX53_PAD_GPIO_5__I2C3_SCL,
MX53_PAD_GPIO_6__I2C3_SDA,
:
:
};
static struct imxi2c_platform_data mxci2c_data = {
.bitrate = 100000,
};
static struct i2c_board_info mxc_i2c0_board_info[] __initdata = {
{
.type = "tda998X",
.addr = 0x70,
.irq = gpio_to_irq(TDA19988_INT),
}
};
static struct i2c_board_info mxc_i2c1_board_info[] __initdata = {
};
static struct i2c_board_info mxc_i2c2_board_info[] __initdata = {
{
.type = "p1003_fwv33",
.addr = 0x41,
},
{
.type = "egalax_ts",
.addr = 0x4,
},
{
.type = "sta559bw-i2c",
.addr = 0x38,
},
};
static void __init mxc_board_init(void)
{
:
:
mxc_register_device(&mxci2c_devices[0], &mxci2c_data);
mxc_register_device(&mxci2c_devices[1], &mxci2c_data);
mxc_register_device(&mxci2c_devices[2], &mxci2c_data);
:
i2c_register_board_info(0, mxc_i2c0_board_info,
ARRAY_SIZE(mxc_i2c0_board_info));
i2c_register_board_info(1, mxc_i2c1_board_info,
ARRAY_SIZE(mxc_i2c1_board_info));
i2c_register_board_info(2, mxc_i2c2_board_info,
ARRAY_SIZE(mxc_i2c2_board_info));
:
/* Init pmic */
pm_i2c_init(I2C2_BASE_ADDR - MX53_OFFSET);
}