I added i2c4 device node to fsl-imx8mq-evk.dts like below
&i2c4 {
clock-frequency = <100000>;
pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_i2c4>;
pinctrl-1 = <&pinctrl_i2c4_gpio>;
scl-gpios = <&gpio5 20 GPIO_ACTIVE_HIGH>;
sda-gpios = <&gpio5 21 GPIO_ACTIVE_HIGH>;
status = "okay";
opt3001@44 {
/* compatible = "ti,opt3001"; */
reg = <0x44>;
};
vl53l1x@52 {
/* compatible = "st,vl53l1x"; */
reg = <0x52>;
};
};
at uboot promt
u-boot=> i2c bus
Bus 0: i2c@30a20000
Bus 3: i2c@30a50000
u-boot=> i2c dev 3
Setting bus to 3
when i probe a i2c device whose chip address is 0x44 , it fails .
u-boot=> i2c probe 0x44
Valid chip addresses:wait_for_sr_state: failed sr=81 cr=a0 state=2020
i2c_init_transfer: failed for chip 0x44 retry=0
wait_for_sr_state: failed sr=81 cr=a0 state=2020
i2c_init_transfer: failed for chip 0x44 retry=1
wait_for_sr_state: failed sr=81 cr=a0 state=2020
i2c_init_transfer: failed for chip 0x44 retry=2
i2c_init_transfer: give up i2c_regs=0x30a50000
why probing a i2c device called opt3001 fails??
Thanks in advance
Hi jhpark_vine
it may fail due to hadware, so one can check connection to i2c device and check
i2c signals with oscilloscope.
Best regards
igor