'I2C is not getting reset properly
We are using TX6UL controller. We have 2 I2C expander PCA955 and I am checking reset mechanism of I2C in case of I2C hang. I printed dmesg and I am getting debugs as attached.
From debugs it is clear that I2C (which is connected on bus 3) is resetting properly.
Sometimes I found that inputs of I2C2 is latched in case of noise (during EFT test). Even from debugs it is clear that I2C (which is connected on bus 2) is not resetting properly.
Not sure what is the meaning of these debugs.Can any one guide me what is happening and in what direction I need to look into?
I2C3:
[32m[ 382.139660] [0m[33mpca953x 3-0025[0m[31m: failed writing register
[0m[32m[ 382.143991] [0m[1mI2C bus need to recover <i2c_imx_xfer> [0m
[32m[ 382.144002] [0m[1mI2C bus going for recovery <i2c_imx_xfer> [0m
[32m[ 382.144136] [0m[1mI2C bus recovered <i2c_imx_xfer> [0m
[32m[ 382.144467] [0m[33mpca953x 3-0026[0m[31m: failed writing register
[0m[32m[ 382.148556] [0m[1mI2C bus need to recover <i2c_imx_xfer> [0m
[32m[ 382.148567] [0m[1mI2C bus going for recovery <i2c_imx_xfer> [0m
[32m[ 382.148692] [0m[1mI2C bus recovered <i2c_imx_xfer> [0m
I2C2:
[32m[ 169.579935] [0m[33mpca953x 0-0024[0m[31m: failed reading register
[0m[32m[ 169.583907] [0m[1mI2C bus need to recover <i2c_imx_xfer> [0m
[32m[ 169.583918] [0m[1mI2C bus going for recovery <i2c_imx_xfer> [0m
[32m[ 169.583985] [0m[33mimx6ul-pinctrl 20e0000.iomuxc[0m[31m: pin MX6UL_PAD_LCD_DATA01 already requested by 21a8000.i2c; cannot claim for 21a4000.i2c
[0m[32m[ 169.594571] [0m[33mimx6ul-pinctrl 20e0000.iomuxc[0m[31m: pin-71 (21a4000.i2c) status -22
[0m[32m[ 169.600564] [0m[33mimx6ul-pinctrl 20e0000.iomuxc[0m[31m: could not request pin 71 (MX6UL_PAD_LCD_DATA01) from group i2c-gpiogrp on device 20e0000.iomuxc
[0m[32m[ 169.612028] [0m[33mimx-i2c 21a4000.i2c[0m[31m: Error applying setting, reverse things back
[0m[32m[ 169.618678] [0m[1mI2C bus recovered <i2c_imx_xfer> [0m
[32m[ 169.619002] [0m[33mpca953x 0-0024[0m[31m: failed reading register
[0m[32m[ 169.622968] [0m[1mI2C bus need to recover <i2c_imx_xfer> [0m
[32m[ 169.622979] [0m[1mI2C bus going for recovery <i2c_imx_xfer> [0m
[32m[ 169.623052] [0m[33mimx6ul-pinctrl 20e0000.iomuxc[0m[31m: pin MX6UL_PAD_LCD_DATA01 already requested by 21a8000.i2c; cannot claim for 21a4000.i2c
[0m[32m[ 169.633702] [0m[33mimx6ul-pinctrl 20e0000.iomuxc[0m[31m: pin-71 (21a4000.i2c) status -22
[0m[32m[ 169.639399] [0m[33mimx6ul-pinctrl 20e0000.iomuxc[0m[31m: could not request pin 71 (MX6UL_PAD_LCD_DATA01) from group i2c-gpiogrp on device 20e0000.iomuxc
[0m[32m[ 169.650733] [0m[33mimx-i2c 21a4000.i2c[0m[31m: Error applying setting, reverse things back
[0m[32m[ 169.657231] [0m[1mI2C bus recovered <i2c_imx_xfer> [0m
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
