Trying to read a second I2C bus gives "controller timed out"

Hi All,

I am trying to read a second I2C bus but it gives “controller timed out” message.

below is the log for same.

[root /]# i2cdetect -y -r 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: [ 1188.831062] omap_i2c 4802a000.i2c: controller timed out
– [ 1189.831029] omap_i2c 4802a000.i2c: controller timed out
– [ 1190.851032] omap_i2c 4802a000.i2c: controller timed out


70: [ 1299.991028] omap_i2c 4802a000.i2c: controller timed out
– [ 1301.011026] omap_i2c 4802a000.i2c: controller timed out
– [ 1302.031024] omap_i2c 4802a000.i2c: controller timed out
– [ 1303.051030] omap_i2c 4802a000.i2c: controller timed out
– [ 1304.071025] omap_i2c 4802a000.i2c: controller timed out
– [ 1305.091028] omap_i2c 4802a000.i2c: controller timed out
– [ 1306.111024] omap_i2c 4802a000.i2c: controller timed out
– [ 1307.131027] omap_i2c 4802a000.i2c: controller timed out

Below are the changes I have done in .dts an .dtsi files.

changes made in am335x-bone-common.dtsi:
i2c1_pins: pinmux_i2c1_pins {
pinctrl-single,pins = <
AM33XX_IOPAD(0x958, PIN_INPUT_PULLUP | MUX_MODE2) /* spi0_d1.i2c1_sda /
AM33XX_IOPAD(0x95c, PIN_INPUT_PULLUP | MUX_MODE2) /
spi0_cs0.i2c1_scl */

;
};

&i2c1 {
pinctrl-names = “default”;
pinctrl-0 = <&i2c1_pins>;

status = “okay”;
clock-frequency = <100000>;
};

changes made in am335x-boneblack.dts:

&i2c1 {
nunchuk: nunchuck@52 {

compatible = “nunchuk”;
reg = <0x52>;
};
};

apart from these changes, should I change anything else in bootloader files? or anything else to be added to the device tree files?

please help me out to solve this issue.

Regards,
Madhu