Skip to content

hisilicon-cv500: build 20 sensor drivers from openhisilicon source#2053

Merged
widgetii merged 1 commit into
masterfrom
sensor/cv500-source-built-sensors
May 7, 2026
Merged

hisilicon-cv500: build 20 sensor drivers from openhisilicon source#2053
widgetii merged 1 commit into
masterfrom
sensor/cv500-source-built-sensors

Conversation

@widgetii

@widgetii widgetii commented May 5, 2026

Copy link
Copy Markdown
Member

Summary

Expands HISILICON_OPENSDK_SENSORS_hi3516cv500 from 3 sensors (imx307, imx335, imx415) to 20 — every cv500 sensor that has source in openhisilicon at the current pin (680085e).

Tracks the umbrella issue openhisilicon#82. Same pattern as #2042 (cv200) and #2052 (v101).

Sensors moved from binary blob to source build

Vendor Sensors
Sony imx307, imx307_2L, imx327, imx327_2L, imx335, imx335_ForCar, imx390, imx415, imx458
OmniVision os04b10, os05a, os05a_2L, os08a10, ov12870, ov2775, ov9284
GalaxyCore gc2053
Panasonic mn34220
PrimeSensor ps5260_2L
SmartSens sc4210

20 binary blobs deleted — perfect overlap. Sensors without source remain as binary blobs (imx290, imx307_2l_slave, imx307_i2c_lvds, imx334, imx377).

The osdrv .mk uses files/sensor/*.so glob — blob deletion is sufficient, no .mk edit needed. INSTALL_TARGET_CMDS foreach already wired at hisilicon-opensdk.mk:250.

Verification

All 20 sensors compile cleanly with the cached cv500 musleabi toolchain (arm-linux-musleabi-gcc 13.3.0), ARMv5 EABI5 soft-float.

Test plan

  • CI Build (hi3516cv500_lite) job stays green
  • output/target/usr/lib/sensors/ contains the 20 source-built .so files plus the 5 still-binary blobs

🤖 Generated with Claude Code

Expands HISILICON_OPENSDK_SENSORS_hi3516cv500 from 3 sensors
(imx307, imx335, imx415) to 20 — every cv500 sensor that has source
in the openhisilicon repo at the current pin (680085e).

  galaxycore_gc2053          omnivision_os05a_2L         sony_imx307
  omnivision_os04b10         omnivision_os08a10          sony_imx307_2L
  omnivision_os05a           omnivision_ov12870          sony_imx327
  omnivision_ov2775          omnivision_ov9284           sony_imx327_2L
  panasonic_mn34220          primesensor_ps5260_2L       sony_imx335
  smart_sc4210                                           sony_imx335_ForCar
                                                         sony_imx390
                                                         sony_imx415
                                                         sony_imx458

Deletes 20 binary blobs from
general/package/hisilicon-osdrv-hi3516cv500/files/sensor/ — every
source-built libname has an exactly-matching binary blob (perfect
overlap), so the binary-deletion count exactly mirrors the list
expansion. The osdrv .mk uses files/sensor/*.so glob, so blob
deletion is sufficient — no .mk edit needed.

Five binary blobs without source counterparts remain (intentional):
  libsns_imx290.so          libsns_imx307_2l_slave.so
  libsns_imx307_i2c_lvds.so libsns_imx334.so
  libsns_imx377.so

Verified: all 20 source-built sensors compile cleanly with the cached
cv500 musleabi toolchain (arm-linux-musleabi-gcc 13.3.0). ELF target
ARMv5 EABI5 soft-float, matching the platform's ABI.

Tracks OpenIPC/openhisilicon#82. Same pattern as #2042 (cv200) and
INSTALL_TARGET_CMDS block at hisilicon-opensdk.mk:250.
@widgetii widgetii force-pushed the sensor/cv500-source-built-sensors branch from 490c110 to 5acf155 Compare May 7, 2026 12:30
@widgetii widgetii merged commit 67c7947 into master May 7, 2026
@widgetii widgetii deleted the sensor/cv500-source-built-sensors branch May 7, 2026 12:30
widgetii added a commit that referenced this pull request May 8, 2026
Adds HISILICON_OPENSDK_SENSORS_hi3516cv100 with 17 sensors — every
cv100 sensor that has source in the openhisilicon repo at the
current pin (680085e):

  aptina_9m034            ov_9712              soi_jxh42
  aptina_ar0130           ov_9712+             sony_icx692
  aptina_ar0330           pana34031            sony_imx104
  aptina_mt9p006          pana34041            sony_imx122
  himax_1375              pixelplus_3100k      sony_imx138
                          soi_h22              sony_imx236

Wires the cv100 INSTALL_TARGET_CMDS block to install them via the
standard sensor foreach. The block was previously kernel-modules-
only.

Deletes 11 binary blobs from
general/package/hisilicon-osdrv-hi3516cv100/files/sensor/ — every
source-built libname that exact-matches a binary blob:
  libsns_9m034.so       libsns_imx138.so       libsns_mt9p006.so
  libsns_icx692.so      libsns_imx236.so       libsns_ov9712.so
  libsns_imx104.so      libsns_mn34041.so      libsns_ov9712_plus.so
  libsns_imx122.so                             libsns_po3100k.so

Nineteen binary blobs without exact-match source counterparts
remain (intentional). Variants of source-built sensors with bus/
resolution suffixes (libsns_ar0130_720p, libsns_imx138_i2c_dc,
libsns_jxh42_i2c, libsns_mn34031_720p, libsns_ov9712_i2c_dc) are
preserved as binary alongside the source-built unsuffixed versions
because the cv100 .ini configs reference these specific filenames.
Sensors with no source at all (ar0140, ar0330_1080p, gc1004ok,
imx222_spi_dc, imx225_*, ov2710, ov9732, sc1035_*) also stay.

Naming peculiarities preserved as-is (source uses platform
convention libsns_<model>; binary blobs use legacy non-standard
names that .ini files reference): libsns_hm1375 (source) vs
libsns_himax1375.so (binary, .ini); libsns_h22 (source) vs
libsns_soih22.so (binary, .ini). Both binary versions stay; the
source-built versions ship alongside.

The cv100 osdrv .mk uses files/sensor/*.so glob, so blob deletion
is sufficient — no osdrv .mk edit needed.

Tracks OpenIPC/openhisilicon#82. Closes the per-platform sweep
(after #2042 cv200, #2052 v101, #2053 cv500, #2054 ev200+gk7205,
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant