Skip to content

hisilicon-v101: build 9 sensor drivers from openhisilicon source#2052

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

hisilicon-v101: build 9 sensor drivers from openhisilicon source#2052
widgetii merged 1 commit into
masterfrom
sensor/v101-source-built-sensors

Conversation

@widgetii

@widgetii widgetii commented May 5, 2026

Copy link
Copy Markdown
Member

Summary

Expands HISILICON_OPENSDK_SENSORS_hi3519v101 from 1 sensor (sony_imx385 only) to 9 — every v101 sensor that has source in the openhisilicon repo at the current pin (680085e).

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

Sensors moved from binary blob to source build

Vendor Sensor
Sony imx226, imx274, imx290, imx326, imx327, imx385
OmniVision os05a, os08a, ov4689_slave

Reproducibility

Every v101 build now compiles those 9 sensors from C source. 8 binary .so blobs deleted from general/package/hisilicon-osdrv-hi3519v101/files/sensor/ (one source-only sensor — os08a — has no matching binary blob; the firmware ships libsns_os08a10.so which is a different variant and stays untouched).

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

Sensors without source code remain as binary blobs (intentional):

libsns_imx178.so   libsns_imx185.so   libsns_imx385_lvds_8ch.so
libsns_os08a10.so  libsns_sc4210.so

Verification

  • make CHIPARCH=hi3519v101 -C libraries/sensor/hi3519v101/<each> against the cached v101 musleabi toolchain (arm-linux-musleabi-gcc 13.3.0) — all 9 sensor .so files produced cleanly, ARMv5 EABI5 soft-float (matching the v101 ABI).
  • INSTALL_TARGET_CMDS foreach was already wired in the v101 block at hisilicon-opensdk.mk:128 — no install-block edit needed.

Test plan

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

Real-hardware test

Cannot test on the available hi3518ev200 camera (it's a V2 platform, not V3A). CI will exercise the build path.

🤖 Generated with Claude Code

Expands HISILICON_OPENSDK_SENSORS_hi3519v101 from 1 entry
(sony_imx385 only) to 9 — every sensor that has source in the
openhisilicon repo at the current pin (680085e):

  omnivision_os05a   sony_imx226   sony_imx290   sony_imx327
  omnivision_os08a   sony_imx274   sony_imx326   sony_imx385
  omnivision_ov4689_slave

Deletes 8 binary blobs from
general/package/hisilicon-osdrv-hi3519v101/files/sensor/ that the
8 source-built sensors with matching libsns_*.so names now replace
(imx226, imx274, imx290, imx326, imx327, imx385, os05a,
ov4689_slave). The osdrv .mk uses files/sensor/*.so glob, so blob
deletion is sufficient — no .mk edit needed.

omnivision_os08a is source-only on this platform (no matching binary
blob — the firmware has libsns_os08a10.so which is a different
sensor variant; that blob is kept untouched).

Five binary blobs without source counterparts remain (intentional):
  libsns_imx178.so   libsns_imx185.so   libsns_imx385_lvds_8ch.so
  libsns_os08a10.so  libsns_sc4210.so

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

Tracks OpenIPC/openhisilicon#82 (sensor source-build umbrella).
Same pattern as #2042 (cv200); install foreach was already wired
in the v101 INSTALL_TARGET_CMDS block at .mk line 128.
@widgetii widgetii merged commit 89062ac into master May 5, 2026
93 checks passed
@widgetii widgetii deleted the sensor/v101-source-built-sensors branch May 5, 2026 13:56
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