Repository navigation
hisi: probe ViSemi at 0x6c too, where a CV610 camera keeps its VS4388 - #256
Conversation
A Hi3516CV610 camera with a VS4388 (OpenIPC/majestic#357) was not identified: the ViSemi probe only tries 0x20, and that board's vendor firmware addresses the sensor at 0x6c -- vs4388_i2c_init() does I2C_SLAVE_FORCE 0x36, and its sync registers carry dev_addr 0x6c. With no name, majestic has nothing to choose a sensor profile by. 0x6c is added after 0x20. It cannot be taken for another sensor: the ViSemi probe accepts only an exact 0x4388 at 0x3000, and the OmniVision probe, which also tries 0x6c, runs first and matches only its own IDs.
PR Summary by Qodohisi: detect VS4388 sensors at I²C address 0x6c
AI Description
Diagram
High-Level Assessment
Files changed (1)
|
Code Review by Qodo
1. V2 cameras probe the wrong slave
|
On a Hi3516CV610 camera with a VS4388 (OpenIPC/majestic#357), ipctool reports no sensor. The ViSemi probe only tries
0x20, but that board's vendor firmware addresses the sensor at0x6c:vs4388_i2c_init()doesioctl(fd, I2C_SLAVE_FORCE, 0x36);dev_addr = 0x6c.Without a sensor name, majestic has nothing to choose a sensor profile by.
Change
visemi_addrsbecomes{0x20, 0x6c}.This can't misidentify another sensor. The ViSemi probe accepts only an exact
0x4388at0x3000(16-bit). The OmniVision probe, which also tries0x6c, runs before it and matches only its own IDs.Tested
The CI test targets pass locally:
cYAML_test,reginfo_test,longse_test,sensors_test,hal_hisi_test. Not yet run on that camera.