This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

求助 DM8127 i2c2 配置 问题

DM8127的i2c2 在linux kernel下的初始化

io初始化

sprintf(mux_name, "uart0_dcdn.i2c2_scl_mux0");
omap_mux_init_signal(mux_name, OMAP_PIN_INPUT_PULLUP);
sprintf(mux_name, "uart0_dsrn.i2c2_sda_mux0");
omap_mux_init_signal(mux_name, OMAP_PIN_INPUT_PULLUP);

总线初始化

static void __init ti814x_evm_i2c_init(void)
{
/* There are 4 instances of I2C in TI814X but currently only one
* instance is being used on the TI8148 EVM
*/

omap_register_i2c_bus(1, 100, ti814x_i2c_boardinfo,
ARRAY_SIZE(ti814x_i2c_boardinfo));

omap_register_i2c_bus(2, 100, ti814x_i2c_boardinfo,
ARRAY_SIZE(ti814x_i2c_boardinfo));

omap_register_i2c_bus(3, 100, ti814x_i2c_boardinfo_2,
ARRAY_SIZE(ti814x_i2c_boardinfo_2));

}

在/dev 目录下生成 i2c-1、i2c-2、i2c-3 设备节点

然后i2c-3 设备能够打开但不能读写报错 总线也没有数据输出

omap_i2c omap_i2c.3: controller timed out :omap_i2c_xfer_msg
I2C (0x66): Raw Read ERROR !!! count = 1)

i2c-1却能正常使用