TI中文支持网
TI专业的中文技术问题搜集分享网站

修改I2C总线路由

使用am437x-evm-linux-sdk-src-03.02.00.05进行移植,硬件参考了am437x-gp-evm但有一些改动。I2C与TI官方开发板不同。.

开发板使用I2C1总线使用T20,T21pin,而我设计的板子使用B13,B14 pin做引脚。

现在修改了am437x-gp-evm.dts

i2c1_pins_default: i2c1_pins_default {
pinctrl-single,pins = <
0x110 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE2) /* (B13) mii1_rx_er.I2C1_SCL */
0x10c (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE2) /* (B14) mii1_crs.I2C1_SDA */
>;
};

I2C1挂载了24C32的这个设备所有添加了代码

&i2c1 {
status = "okay";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&i2c1_pins_default>;
pinctrl-1 = <&i2c1_pins_sleep>;

24c32@50 {
compatible = "24c32";
reg = <0x50>;

pagesize = <8>;
};
};

仍然无法看到看到设备,并且用示波器抓时数据线,完全没有波形。还需要修改什么地方,是否需要修改UBOOT。

Eggsy Pang:

pinmux错了,应该是

i2c1_pins_default: i2c1_pins_default {pinctrl-single,pins = <0x110 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE3) /* (B13) mii1_rx_er.I2C1_SCL */0x10c (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE3) /* (B14) mii1_crs.I2C1_SDA */>;};

leo chen:

回复 Eggsy Pang:

有个pinmux工具,可以用用。这样就不会出错了

http://software-dl.ti.com/dsps/dsps_public_sw/am_bu/ampinmux/latest/index_FDS.html

Jian Zhou:

回复 leo chen:

如果是测试硬件,可以先在U-boot下调试。

赞(0)
未经允许不得转载:TI中文支持网 » 修改I2C总线路由
分享到: 更多 (0)