From 8dce97f959153e0f20a55dbbbc7b4025a23d1400 Mon Sep 17 00:00:00 2001 From: Dmitry Ilyin <6576495+widgetii@users.noreply.github.com> Date: Thu, 16 Apr 2026 15:44:13 +0300 Subject: [PATCH] hisilicon-opensdk: build IMX385 sensor from source for hi3519v101 Add hi3519v101 to the same opensdk-builds-sensor-from-source pattern used by hi3516ev200/gk7205v200/hi3516cv500: - hisilicon-opensdk.mk: add dependency on hisilicon-osdrv-hi3519v101 (so opensdk installs after osdrv and its libsns_imx385.so overrides the blob shipped in files/sensor/), declare SDK_CODE=0x3519101, and list sony_imx385/libsns_imx385 as the sensor to build. - hi3519v101_lite_defconfig, hi3516av200_{lite,ultimate}_defconfig: turn on BR2_PACKAGE_HISILICON_OPENSDK=y. Effect: the libsns_imx385.so on the target is now compiled from openhisilicon/libraries/sensor/hi3519v101/sony_imx385/ at build time, not a prebuilt blob. Source is the openipc/openhisilicon commit already tracked by HISILICON_OPENSDK_VERSION (8889317), which contains libraries/sensor/hi3519v101/sony_imx385/. Side-by-side test on Hi3516AV200 + IMX385 + fixed lens: prebuilt stock (stSnsObj): Iso=312, Again=3099, visible cast source-built (stSnsImx385Obj): Iso=134, Again=1381, neutral WB and cleaner detail. Sensor_type value in imx385_i2c_1080p.ini (companion commit in this PR) matches the source-built export. Co-Authored-By: Claude Opus 4.6 (1M context) --- br-ext-chip-hisilicon/configs/hi3516av200_lite_defconfig | 1 + .../configs/hi3516av200_ultimate_defconfig | 1 + br-ext-chip-hisilicon/configs/hi3519v101_lite_defconfig | 1 + general/package/hisilicon-opensdk/hisilicon-opensdk.mk | 6 ++++++ 4 files changed, 9 insertions(+) diff --git a/br-ext-chip-hisilicon/configs/hi3516av200_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3516av200_lite_defconfig index 32f5e65ae5..f4dc662006 100644 --- a/br-ext-chip-hisilicon/configs/hi3516av200_lite_defconfig +++ b/br-ext-chip-hisilicon/configs/hi3516av200_lite_defconfig @@ -43,6 +43,7 @@ BR2_OPENIPC_FLASH_SIZE="8" # Packages BR2_PACKAGE_DROPBEAR_OPENIPC=y +BR2_PACKAGE_HISILICON_OPENSDK=y BR2_PACKAGE_HISILICON_OSDRV_HI3519V101=y BR2_PACKAGE_IPCTOOL=y BR2_PACKAGE_JSONFILTER=y diff --git a/br-ext-chip-hisilicon/configs/hi3516av200_ultimate_defconfig b/br-ext-chip-hisilicon/configs/hi3516av200_ultimate_defconfig index fb54733b89..b8162ca099 100644 --- a/br-ext-chip-hisilicon/configs/hi3516av200_ultimate_defconfig +++ b/br-ext-chip-hisilicon/configs/hi3516av200_ultimate_defconfig @@ -54,6 +54,7 @@ BR2_OPENIPC_FLASH_SIZE="16" # Packages BR2_PACKAGE_DROPBEAR_OPENIPC=y +BR2_PACKAGE_HISILICON_OPENSDK=y BR2_PACKAGE_HISILICON_OSDRV_HI3519V101=y BR2_PACKAGE_IPCTOOL=y BR2_PACKAGE_JSONFILTER=y diff --git a/br-ext-chip-hisilicon/configs/hi3519v101_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3519v101_lite_defconfig index 81162e3137..6713d32aea 100644 --- a/br-ext-chip-hisilicon/configs/hi3519v101_lite_defconfig +++ b/br-ext-chip-hisilicon/configs/hi3519v101_lite_defconfig @@ -47,6 +47,7 @@ BR2_OPENIPC_FLASH_SIZE="8" # Packages BR2_PACKAGE_DROPBEAR_OPENIPC=y +BR2_PACKAGE_HISILICON_OPENSDK=y BR2_PACKAGE_HISILICON_OSDRV_HI3519V101=y BR2_PACKAGE_IPCTOOL=y BR2_PACKAGE_JSONFILTER=y diff --git a/general/package/hisilicon-opensdk/hisilicon-opensdk.mk b/general/package/hisilicon-opensdk/hisilicon-opensdk.mk index cfbb78e2c6..8072ae213b 100644 --- a/general/package/hisilicon-opensdk/hisilicon-opensdk.mk +++ b/general/package/hisilicon-opensdk/hisilicon-opensdk.mk @@ -23,6 +23,9 @@ endif ifeq ($(BR2_PACKAGE_HISILICON_OSDRV_HI3516AV100),y) HISILICON_OPENSDK_DEPENDENCIES += hisilicon-osdrv-hi3516av100 endif +ifeq ($(BR2_PACKAGE_HISILICON_OSDRV_HI3519V101),y) +HISILICON_OPENSDK_DEPENDENCIES += hisilicon-osdrv-hi3519v101 +endif HISILICON_OPENSDK_MODULE_SUBDIRS = kernel HISILICON_OPENSDK_MODULE_MAKE_OPTS = \ @@ -48,6 +51,8 @@ else ifeq ($(OPENIPC_SOC_FAMILY),gk7205v200) HISILICON_OPENSDK_SDK_CODE = 0x7205200 else ifeq ($(OPENIPC_SOC_FAMILY),hi3516cv500) HISILICON_OPENSDK_SDK_CODE = 0x3516C500 +else ifeq ($(OPENIPC_SOC_FAMILY),hi3519v101) + HISILICON_OPENSDK_SDK_CODE = 0x3519101 endif # for userspace libraries @@ -59,6 +64,7 @@ endef HISILICON_OPENSDK_SENSORS_hi3516ev200 = sony_imx335/libsns_imx335 sony_imx307/libsns_imx307 soi_h63/libsns_h63 HISILICON_OPENSDK_SENSORS_gk7205v200 = sony_imx335/libsns_imx335 sony_imx307/libsns_imx307 soi_h63/libsns_h63 HISILICON_OPENSDK_SENSORS_hi3516cv500 = sony_imx335/libsns_imx335 sony_imx307/libsns_imx307 sony_imx415/libsns_imx415 +HISILICON_OPENSDK_SENSORS_hi3519v101 = sony_imx385/libsns_imx385 HISILICON_OPENSDK_SENSORS = $(HISILICON_OPENSDK_SENSORS_$(OPENIPC_SOC_FAMILY))