dtb で次の行を使用して、ビーグル ボーン ブラックで I2C バス 2 を有効にしました。
i2c2: i2c@4819c000 {
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins>;
status = "okay";
clock-frequency = <100000>;
};
i2c2_pins: pinmux_i2c2_pins {
pinctrl-single,pins = <
0x178 0x73
0x17c 0x73
>;
};
しかし、以下のコードを使用して I2C バス 1 を有効にするのと同じ場合
i2c1: i2c@4802a000 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>;
status = "okay";
clock-frequency = <100000>;
};
i2c1_pins: pinmux_i2c1_pins {
pinctrl-single,pins = <
0x154 0x72 /* i2c1_scl.i2c1_scl */
0x15c 0x72 /* i2c1_sda.i2c1_sda */
>;
};
バスはi2cdetect -l
コマンドにリストされます。i2cdetect -r 1
しかし、コマンドを使用してバスをプローブすると、次のエラーが表示されます
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: [ 18.322700] omap_i2c 4802a000.i2c: timeout waiting for bus ready
-- [ 19.342694] omap_i2c 4802a000.i2c: timeout waiting for bus ready
-- [ 20.362695] omap_i2c 4802a000.i2c: timeout waiting for bus ready
AM3359チップのZCZパッケージを使用しています。私がdtbファイルで犯した間違いを指摘してもらえますか?