请问dm8168的I2C1的IO引脚需要配置引脚复用吗?我在之前的帖子提过一个关于I2C1无法工作的问题,有人回答说要配置I2C引脚复用,但我看datasheet看到下面图中的内容:
在图中明显显示的是I2C[1]_SCL和I2C[1]_SDA引脚是单独使用一个IO,既然是单独使用,又何来的配置引脚复用呢?
另外我在8168的内核源代码中I2C初始化也看到了下面代码:
void __init omap2_i2c_mux_pins(int bus_id)
{
char mux_name[100];
/* First I2C bus is not muxable */
if (bus_id == 1)
return;
上面红色部分代码表示如果是I2C0,就不需要配置引脚复用,如果是I2C1就需要用下面的代码配置引脚复用。请问这到底是怎么回事?
if (cpu_is_ti814x() && bus_id == 3) {
sprintf(mux_name, "uart0_dcdn.i2c2_scl_mux0");
omap_mux_init_signal(mux_name, OMAP_PIN_INPUT);
sprintf(mux_name, "uart0_dsrn.i2c2_sda_mux0");
omap_mux_init_signal(mux_name, OMAP_PIN_INPUT);
} else {
sprintf(mux_name, "i2c%i_scl.i2c%i_scl", bus_id, bus_id);
omap_mux_init_signal(mux_name, OMAP_PIN_INPUT);
sprintf(mux_name, "i2c%i_sda.i2c%i_sda", bus_id, bus_id);
omap_mux_init_signal(mux_name, OMAP_PIN_INPUT);
}
}
