SG2002 With GC4653

Hi,

We are USing SG2002 with GC4653 and its giving error, Below is the log msgs and attached os the schematics for reference.

GC4653 failure log messages.

Jan 1 00:04:42 milkv-duo kern.info kernel: [ 282.471937] _vb_init -
Jan 1 00:04:42 milkv-duo kern.info kernel: [ 282.530196] vi_open:5484(): -
Jan 1 00:04:42 milkv-duo kern.info kernel: [ 282.530250] vpss_open
Jan 1 00:04:42 milkv-duo local5.err : [VI-ERR] gc4653_cmos.c:480:cmos_set_wdr_mode(): Unsupport sensor mode!
Jan 1 00:04:42 milkv-duo local5.err : [VI-ERR] gc4653_sensor_ctl.c:88:gc4653_read_register(): I2C_WRITE error!
Jan 1 00:04:42 milkv-duo local5.err : [VI-ERR] gc4653_sensor_ctl.c:88:gc4653_read_register(): I2C_WRITE error!
Jan 1 00:04:42 milkv-duo local5.err : [VI-ERR] gc4653_sensor_ctl.c:189:gc4653_probe(): read sensor id error.
Jan 1 00:04:42 milkv-duo local5.err : [LOG-ERR] sample_common_vi.c:535:SAMPLE_COMM_VI_SensorProbe(): cannot probe the sensorObj(0xef5d0) SnsId(0)
Jan 1 00:04:42 milkv-duo local5.err : [LOG-ERR] sample_common_platform.c:146:SAMPLE_PLAT_VI_INIT(): system sensor probe failed with 0xffffffff
Jan 1 00:04:42 milkv-duo local5.warn : [VI-WRN] cvi_vi.c:869:CVI_VI_StopPipe(): Pipe(0) is stop
Jan 1 00:04:42 milkv-duo local5.warn : [VI-WRN] cvi_vi.c:836:CVI_VI_DestroyPipe(): Pipe(0) is stop
Jan 1 00:04:42 milkv-duo kern.info kernel: [ 282.536109] vi_release:5507(): -
Jan 1 00:04:42 milkv-duo kern.info kernel: [ 282.536133] vpss_release
Jan 1 00:04:42 milkv-duo kern.info kernel: [ 282.536462] _vb_exit -

Thanks in advance.

Regards,
Amit Jain

2 Likes

… only general advice, because I’m too lazy to dig deeper

correct sensor data format ?
gc4653 supports raw10/raw12 bayer format.
Again I’m too lazy too look into the datasheet of the sg2002, if the vi engine supports this. I know from some MJPEG types

Is the I2C default address of the GC4653 correct ?
default is 0x52 (read) and 0x53 (write)
Note
The linux kernel take only one address and generates from this the read and write i2c address !
I assume the correct should be 0x52 >> 1
i.e. 0x29

2 Likes

先排除硬件连接错误,如:使用 i2ctools

1 Like

Hi @elektroman,

Thanks for your suggestion. As you mentioned we tried all possible addresses, but still same errors. We also tried i2cdetect to check any i2c device present on bus or not but unfortunately no address detected. We checked all voltages and checked power on sequence, everything looks fine but still sensor not making i2c interface active.

1 Like

Unlkess you messed up buildroot or SDK for my taste,
this should at least, show up with i2cdetect.

If I remember correctly, they are at least 4 I2C busses on the SoC.
I’ve seen some extra with GPIO bitbang.
This is from some “camera” device


# grep .  /sys/firmware/devicetree/base/i2c*/status
/sys/firmware/devicetree/base/i2c5@gpio/status:okay
/sys/firmware/devicetree/base/i2c@04000000/status:okay
/sys/firmware/devicetree/base/i2c@04010000/status:okay
/sys/firmware/devicetree/base/i2c@04020000/status:disabled
/sys/firmware/devicetree/base/i2c@04030000/status:okay
/sys/firmware/devicetree/base/i2c@04040000/status:okay
2 Likes