Я включил шину I2C 2 на Beagle Bone Black, используя следующие строки в dtb.
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
Я использую пакет ZCZ чипа AM3359. Может ли кто-нибудь указать мне на ошибку, которую я делаю в файле dtb?