TK3310 I2C transfer error
时间:10-02
整理:3721RD
点击:
8312平台,调试stk3310 alsps sensor,能初始:
------ stk3x1x_init: I2C_number=2 ------
读到i2c地址:
[ 1.951048] (1)[1:swapper/0][mt-i2c]SLAVE_ADDR=90,INTR_MASK=f8,INTR_STAT=1,CONTROL=28,TRANSFER_LEN=2
[ 1.951056] (1)[1:swapper/0][mt-i2c]TRANSAC_LEN=1,DELAY_LEN=2,TIMING=1410,START=0,FIFO_STAT=1210
[ 1.951065] (1)[1:swapper/0][mt-i2c]IO_CONFIG=3,HS=102,DCM_EN=0,DEBUGSTAT=40,EXT_CONF=8001
[ 1.954914] (1)[1:swapper/0][mt-i2c]Clock stat(0x10003018) is 0x027ecffd, enable
[ 1.955838] (1)[1:swapper/0][mt-i2c]mt_get_GPIO_in I2C0_SDA=1,I2C0_SCA=1,I2C1_SDA=1,I2C1_SCA=1<HWMSEN> hwmsen_write_block 210 : send command error!
[ 1.957856] (1)[1:swapper/0][mt-i2c]ERROR,363: id=2,addr: 48, transfer error
[ 1.958733] (1)[1:swapper/0][mt-i2c]ERROR,369: I2C_ACKERR
通信error,后续出现:
[ 1.971877] (1)[1:swapper/0][ALS/PS] stk3x1x_write_sw_reset 723 : i2c write test error = -14
[ 1.972928] (1)[1:swapper/0]i2c write test error = -14
[ 1.973569] (1)[1:swapper/0][ALS/PS] stk3x1x_init_CLIent 1348 : software reset error, err=-14
[ 1.974630] (1)[1:swapper/0][ALS/PS] stk3x1x_i2c_probe 2929 : stk3x1x_i2c_probe: err = -14
[ 1.975855] (1)[1:swapper/0]stk3x1x: probe of 2-0048 failed with error -14
[ 1.976880] (1)[1:swapper/0]i2c-core: driver [stk3x1x] using legacy suspend method
[ 1.977823] (1)[1:swapper/0]i2c-core: driver [stk3x1x] using legacy resume method
[ 1.978802] (1)[1:swapper/0]sensor_alsps device!mt_device_usb register
请大家帮忙分析一下原因,谢谢!
------ stk3x1x_init: I2C_number=2 ------
读到i2c地址:
[ 1.951048] (1)[1:swapper/0][mt-i2c]SLAVE_ADDR=90,INTR_MASK=f8,INTR_STAT=1,CONTROL=28,TRANSFER_LEN=2
[ 1.951056] (1)[1:swapper/0][mt-i2c]TRANSAC_LEN=1,DELAY_LEN=2,TIMING=1410,START=0,FIFO_STAT=1210
[ 1.951065] (1)[1:swapper/0][mt-i2c]IO_CONFIG=3,HS=102,DCM_EN=0,DEBUGSTAT=40,EXT_CONF=8001
[ 1.954914] (1)[1:swapper/0][mt-i2c]Clock stat(0x10003018) is 0x027ecffd, enable
[ 1.955838] (1)[1:swapper/0][mt-i2c]mt_get_GPIO_in I2C0_SDA=1,I2C0_SCA=1,I2C1_SDA=1,I2C1_SCA=1<HWMSEN> hwmsen_write_block 210 : send command error!
[ 1.957856] (1)[1:swapper/0][mt-i2c]ERROR,363: id=2,addr: 48, transfer error
[ 1.958733] (1)[1:swapper/0][mt-i2c]ERROR,369: I2C_ACKERR
通信error,后续出现:
[ 1.971877] (1)[1:swapper/0][ALS/PS] stk3x1x_write_sw_reset 723 : i2c write test error = -14
[ 1.972928] (1)[1:swapper/0]i2c write test error = -14
[ 1.973569] (1)[1:swapper/0][ALS/PS] stk3x1x_init_CLIent 1348 : software reset error, err=-14
[ 1.974630] (1)[1:swapper/0][ALS/PS] stk3x1x_i2c_probe 2929 : stk3x1x_i2c_probe: err = -14
[ 1.975855] (1)[1:swapper/0]stk3x1x: probe of 2-0048 failed with error -14
[ 1.976880] (1)[1:swapper/0]i2c-core: driver [stk3x1x] using legacy suspend method
[ 1.977823] (1)[1:swapper/0]i2c-core: driver [stk3x1x] using legacy resume method
[ 1.978802] (1)[1:swapper/0]sensor_alsps device!mt_device_usb register
请大家帮忙分析一下原因,谢谢!
IIC的器件地址是不是错了?
I2C_ACKERR这个说明书IIC没有通
要么是器件地址错了,要么是电平不对,
RESET是不是有问题?
地址没错0x48, 也获取到了。
奇怪,没通的话如何获取的I2C地址呢?
请问是怎么解决的这个问题的
咨询下lz你怎么解决的 我现在问题和你一样,iic器件地址对,id也读出来了,但是还是会报ackerr