我用buildroot编译了一个图像。我想使用位于P9.19和P9.20(SCL和SDA)的I2C2。我已将BBB I2C2连接到kw40z - NXP控制器。我已经将SDA和SCL上拉,共享接地并将SCL和SDA相互连接。我确实看到/ dev / i2c-2
I2C2不起作用。我尝试过i2cdetect -r 2和C程序,但是我正在超时。
我的问题是:
I2C2是否已启用或应从here添加I2C2设备树覆盖:
如果是这样,我将上面的dts片段编译成dtbo(使用dtc编译器) 我如何告诉beagle bone中的buildroot加载那个dtbo?
我读到了buildroot,甚至Debian都不支持cape manager。 所以它应该是静态的。
是否有人设法在没有覆盖的情况下使用I2C2?还是必须的? 谢谢!
答案 0 :(得分:0)
i2c1和i2c2的问题已解决 我将两个片段添加到了bone-common.dtsi中 对于I2C1和I2C2(例如这是I2C1) 在引脚复用器下
&am33xx_pinmux {
i2c1_pins: pinmux_i2c1_pins {
pinctrl-single,pins = <
0x158 (SLEWCTRL_SLOW | PIN_INPUT_PULLUP | MUX_MODE2) /* i2c1_sda */
0x15c (SLEWCTRL_SLOW | PIN_INPUT_PULLUP | MUX_MODE2) /*i2c1_scl */>;
};
节点本身在am335x-boneblack.dts
&i2c1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>;
/* this is the configuration part */
clock-frequency = <100000>;
#address-cells = <1>;
#size-cells = <0>;
};
此外,当它在内部时当然不需要外部上拉。 引脚为17-scl和18 sda