Skip to content

libraries: hi3519dv500 (V5 aarch64) sensor drivers from source#203

Merged
widgetii merged 1 commit into
mainfrom
feat/hi3519dv500-sensors
Jun 23, 2026
Merged

libraries: hi3519dv500 (V5 aarch64) sensor drivers from source#203
widgetii merged 1 commit into
mainfrom
feat/hi3519dv500-sensors

Conversation

@widgetii

Copy link
Copy Markdown
Member

Adds the Hi3519DV500 / Hi3516DV500 (V5/SS626, aarch64 Cortex-A55) sensor drivers, compiled from the vendor SDK source — the first piece of DV500 SoC support.

Approach

DV500 follows the vendor-framework convention already used by cv500/cv300/hi3519v101 (per-sensor <sns>_cmos.c + <sns>_sensor_ctl.c built against the chip's ISP/MPI headers), not cv6xx's cis_/sensor_common refactor — the DV500 ISP API differs from cv6xx's, so the vendor source matches the DV500 headers directly.

What's included

  • libraries/sensor/hi3519dv500/ — 8 sensors → libsns_*.{so,a}: sc450ai, os04a10, os04a10_slave, os08a20, sc850sl, imx347_slave, imx515, gst412c (the names the OpenIPC firmware osdrv expects).
  • libraries/isp/include/hi3519dv500/ + kernel/include/hi3519dv500/ — DV500 vendor ISP/MPI headers (trimmed to the set the sensors include).
  • libraries/MakefileCHIPARCH=hi3519dv500 sensor filter.

Verification

All 8 build to aarch64 ELF via the canonical make -C libraries CHIPARCH=hi3519dv500 (the way buildroot invokes it), using the aarch64-openipc-linux-musl toolchain. No build artifacts committed (.so/.o/.a are gitignored; hisilicon-opensdk builds them).

Follow-up

Kernel modules (open_*.ko — OSAL/MMZ/sys_config/mipi/peripherals + .o-blob-wrapped core, plus a hi3519dv500.kbuild) are a separate, larger phase.

Add the Hi3519DV500/Hi3516DV500 (V5/SS626, aarch64 Cortex-A55) sensor
drivers, compiled from the vendor SDK source the same way the cv500/cv300/
hi3519v101 chips are (per-sensor <sns>_cmos.c + <sns>_sensor_ctl.c built
against the DV500 ISP/MPI headers). cv6xx's cis_/sensor_common refactor does
not apply here: the DV500 ISP API differs from cv6xx's, and the vendor source
matches the DV500 headers directly.

8 sensors -> libsns_*.{so,a}: sc450ai, os04a10, os04a10_slave, os08a20,
sc850sl, imx347_slave, imx515, gst412c.

Also adds the DV500 vendor ISP/MPI headers (libraries/isp/include/hi3519dv500,
kernel/include/hi3519dv500 trimmed to the set the sensors include) and the
libraries/Makefile CHIPARCH filter.

Verified: all 8 build to aarch64 ELF via
`make -C libraries CHIPARCH=hi3519dv500` with aarch64-openipc-linux-musl.
Kernel modules (open_*.ko) are a separate follow-up.
@widgetii widgetii force-pushed the feat/hi3519dv500-sensors branch from 2357d73 to 6706748 Compare June 23, 2026 15:51
@widgetii widgetii merged commit 913e7eb into main Jun 23, 2026
34 checks passed
@widgetii widgetii deleted the feat/hi3519dv500-sensors branch June 23, 2026 16:22
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