Skip to content

hisilicon-cv100: build 17 sensor drivers from source#2057

Merged
widgetii merged 2 commits intomasterfrom
sensor/cv100-source-built-sensors
May 8, 2026
Merged

hisilicon-cv100: build 17 sensor drivers from source#2057
widgetii merged 2 commits intomasterfrom
sensor/cv100-source-built-sensors

Conversation

@widgetii
Copy link
Copy Markdown
Member

@widgetii widgetii commented May 5, 2026

Summary

Adds HISILICON_OPENSDK_SENSORS_hi3516cv100 with 17 sensors — every cv100 sensor that has source in openhisilicon at the current pin (680085e): 9m034, ar0130, ar0330, mt9p006, hm1375, ov9712, ov9712_plus, mn34031, mn34041, po3100k, h22, jxh42, icx692, imx104, imx122, imx138, imx236.

Wires the cv100 INSTALL_TARGET_CMDS block with the standard sensor foreach (block was previously kernel-modules-only).

Deletes 13 binary blobs from hisilicon-osdrv-hi3516cv100/files/sensor/:

  • 11 exact-match overlap with source-built libnames: libsns_9m034, libsns_icx692, libsns_imx104, libsns_imx122, libsns_imx138, libsns_imx236, libsns_mn34041, libsns_mt9p006, libsns_ov9712_plus, libsns_ov9712, libsns_po3100k
  • 2 legacy-named blobs whose drivers our source builds under platform-convention names: libsns_himax1375.so (replaced by source-built libsns_hm1375.so) and libsns_soih22.so (replaced by source-built libsns_h22.so)

Variants and source-less binaries stay (17): ar0130_720p, ar0130_960p, ar0140, ar0330_1080p, gc1004ok, imx138_i2c_dc, imx222_spi_dc, imx225_*, jxh42_i2c, mn34031_720p, ov2710, ov9712_i2c_dc, ov9732, sc1035_*.

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

Naming consistency cleanup (commit 2)

Two cv100 sensors had legacy binary names that diverged from the platform convention libsns_<model> (libsns_himax1375.so, libsns_soih22.so). The second commit drops those binaries (now source-built under platform-convention names libsns_hm1375.so and libsns_h22.so) and updates the two .ini files that referenced them so existing configs continue to work:

  • jxh22_i2c_dc_720p.iniDllFile=...libsns_soih22.solibsns_h22.so (active config)
  • gc1004_i2c_dc_720p.ini;DllFile=...libsns_himax1375.solibsns_hm1375.so (commented hints)

After this PR, every source-built libsns on every platform follows the same libsns_<model> convention.

Tracks OpenIPC/openhisilicon#82. Closes the per-platform sweep (after #2042 cv200, #2052 v101, #2053 cv500, #2054 ev200+gk7205v200, #2055 cv300, and the av100 pair openhisilicon#83 + #2056).

Test plan

  • CI: hi3516cv100_lite build green
  • CI: QEMU boot smoke-test passes
  • Manual: spot-check a real cv100 camera once merged

🤖 Generated with Claude Code

widgetii added 2 commits May 8, 2026 12:51
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,
The cv100 osdrv shipped two binary blobs whose filenames diverged
from the platform convention (libsns_<model>):

  libsns_himax1375.so   ->  matches our source-built libsns_hm1375
  libsns_soih22.so      ->  matches our source-built libsns_h22

With both source-built versions now installed by hisilicon-opensdk,
the legacy-named binaries are redundant. Delete them and update
the two .ini files that referenced the legacy names so existing
configs route to the source-built drivers:

  jxh22_i2c_dc_720p.ini   DllFile soih22.so   -> h22.so   (active)
  gc1004_i2c_dc_720p.ini  DllFile himax1375   -> hm1375   (commented hint)

Brings cv100 in line with every other platform: source-built libsns
files all follow libsns_<model> with no vendor prefix and no smushed
vendor-model concatenations.
@widgetii widgetii force-pushed the sensor/cv100-source-built-sensors branch from 07312c5 to b829429 Compare May 8, 2026 09:51
@widgetii widgetii merged commit 1f50d54 into master May 8, 2026
94 of 95 checks passed
@widgetii widgetii deleted the sensor/cv100-source-built-sensors branch May 8, 2026 09:51
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