From 72ccbe15233ff4d1d5af7a845da56748147a024f Mon Sep 17 00:00:00 2001 From: Dmitry Ermakov <7954832+dimerr@users.noreply.github.com> Date: Sun, 8 Nov 2026 06:08:14 +0000 Subject: [PATCH 1/5] anyka-osdrv-ak3918ev200: sensor tuning in /etc/sensor and the osmem split The AK3918EV200 drivers are built into the kernel; what the family needs from a package is the sensors' ISP tuning and a bootloader environment the kernel can take its memory split from. files/sensor/.conf is installed into /etc/sensor, where the kernel's ISP driver reads the tuning of the sensor it detected by the name ipctool gives it. sc1345.conf (SmartSens SC1345, DVP) is isp_sc1345_dvp.conf from the stock firmware of a Gwell AK3918EV200 camera, converted from the vendor's "3.004" layout to the "3.05_032401" one the kernel validates with files/sensor/convert-3.004.py; only header fields change, no tuning value. load_anyka: Linux gets osmem (mem=${osmem}) and video the rest of totalmem. An environment with osmem equal to totalmem leaves no video memory, so load_anyka -i lowers osmem by the 24 MiB the vendor firmware gives video, once, and reboots. --- general/package/Config.in | 1 + .../package/anyka-osdrv-ak3918ev200/Config.in | 11 +++ .../anyka-osdrv-ak3918ev200.mk | 34 +++++++++ .../files/script/load_anyka | 36 ++++++++++ .../files/sensor/convert-3.004.py | 68 ++++++++++++++++++ .../files/sensor/sc1345.conf | Bin 0 -> 69188 bytes 6 files changed, 150 insertions(+) create mode 100644 general/package/anyka-osdrv-ak3918ev200/Config.in create mode 100644 general/package/anyka-osdrv-ak3918ev200/anyka-osdrv-ak3918ev200.mk create mode 100755 general/package/anyka-osdrv-ak3918ev200/files/script/load_anyka create mode 100755 general/package/anyka-osdrv-ak3918ev200/files/sensor/convert-3.004.py create mode 100644 general/package/anyka-osdrv-ak3918ev200/files/sensor/sc1345.conf diff --git a/general/package/Config.in b/general/package/Config.in index c1f2e11cf..f98e360ee 100644 --- a/general/package/Config.in +++ b/general/package/Config.in @@ -3,6 +3,7 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/aic8800-openipc/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/allwinner-osdrv-v83x/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/allwinner-osdrv-v85x/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/anyka-osdrv-ak3918av130/Config.in" +source "$BR2_EXTERNAL_GENERAL_PATH/package/anyka-osdrv-ak3918ev200/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/atbm-wifi/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/atbm603x-comb-openipc/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/atbm60xx/Config.in" diff --git a/general/package/anyka-osdrv-ak3918ev200/Config.in b/general/package/anyka-osdrv-ak3918ev200/Config.in new file mode 100644 index 000000000..b6435cb67 --- /dev/null +++ b/general/package/anyka-osdrv-ak3918ev200/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_ANYKA_OSDRV_AK3918EV200 + bool "anyka-osdrv-ak3918ev200" + depends on BR2_LINUX_KERNEL + help + Anyka AK3918EV200 support files: the sensors' ISP tuning in + /etc/sensor, which the kernel's ISP driver loads by sensor name, + and the load_anyka script that keeps the bootloader's video + memory split (osmem, rmem) in the form the kernel expects. + The drivers themselves are built into the kernel. + + https://openipc.org diff --git a/general/package/anyka-osdrv-ak3918ev200/anyka-osdrv-ak3918ev200.mk b/general/package/anyka-osdrv-ak3918ev200/anyka-osdrv-ak3918ev200.mk new file mode 100644 index 000000000..edbb72212 --- /dev/null +++ b/general/package/anyka-osdrv-ak3918ev200/anyka-osdrv-ak3918ev200.mk @@ -0,0 +1,34 @@ +################################################################################ +# +# anyka-osdrv-ak3918ev200 +# +################################################################################ + +ANYKA_OSDRV_AK3918EV200_VERSION = +ANYKA_OSDRV_AK3918EV200_SITE = +ANYKA_OSDRV_AK3918EV200_LICENSE = PROPRIETARY + +# files/sensor/.conf is the ISP tuning of one sensor, named as +# ipctool names the sensor. The kernel's ISP driver +# (drivers/misc/ak_isp_tuning.c) reads /etc/sensor/.conf for the +# sensor it detected when capture first starts, so every file here is +# reachable and only the detected sensor's is read. +# +# sc1345.conf (SmartSens SC1345, DVP): isp_sc1345_dvp.conf from the stock +# firmware of a Gwell AK3918EV200 camera, converted from the vendor's +# "3.004" layout to the "3.05_032401" one the kernel validates with +# files/sensor/convert-3.004.py. The conversion changes header fields only +# (version string, style count and style size) and gives each style +# style 0's sensor register list; no tuning value is changed. + +define ANYKA_OSDRV_AK3918EV200_INSTALL_TARGET_CMDS + $(INSTALL) -m 755 -d $(TARGET_DIR)/etc/sensor + $(INSTALL) -m 644 -t $(TARGET_DIR)/etc/sensor \ + $(ANYKA_OSDRV_AK3918EV200_PKGDIR)/files/sensor/*.conf + + $(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin + $(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin \ + $(ANYKA_OSDRV_AK3918EV200_PKGDIR)/files/script/load_anyka +endef + +$(eval $(generic-package)) diff --git a/general/package/anyka-osdrv-ak3918ev200/files/script/load_anyka b/general/package/anyka-osdrv-ak3918ev200/files/script/load_anyka new file mode 100755 index 000000000..4c824e60e --- /dev/null +++ b/general/package/anyka-osdrv-ak3918ev200/files/script/load_anyka @@ -0,0 +1,36 @@ +#!/bin/sh +# +# AK3918EV200: the ISP, encoder and sensor drivers are built into the +# kernel, so there is nothing to load. The kernel gets its memory split as +# on the other OpenIPC SoCs: Linux has osmem (bootargs mem=${osmem}) and the +# video drivers the rest of totalmem. An environment that gives Linux all +# of totalmem leaves no video memory; it is brought down to the split the +# vendor firmware uses, once, and the camera rebooted. + +vendor=$(ipcinfo -v) +video_mem=24 + +log_vendor() { + logger -s -p daemon.info -t "${vendor:-anyka}" "$1" +} + +check_mem() { + total=$(fw_printenv -n totalmem 2>/dev/null | tr -d 'M') + os=$(fw_printenv -n osmem 2>/dev/null | tr -d 'M') + [ -n "$total" ] || return + [ -z "$os" ] || [ "$os" -ge "$total" ] || return + + fw_setenv osmem "$((total - video_mem))M" || return + log_vendor "osmem $((total - video_mem))M of ${total}M, video ${video_mem}M; rebooting" + reboot +} + +case "$1" in + -i) + check_mem + ;; + *) + echo "Usage: $0 -i" + exit 1 + ;; +esac diff --git a/general/package/anyka-osdrv-ak3918ev200/files/sensor/convert-3.004.py b/general/package/anyka-osdrv-ak3918ev200/files/sensor/convert-3.004.py new file mode 100755 index 000000000..942480c10 --- /dev/null +++ b/general/package/anyka-osdrv-ak3918ev200/files/sensor/convert-3.004.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python3 +"""Convert an Anyka EV200 "3.004" ISP tuning file to the "3.05_032401" +layout that drivers/misc/ak_isp_tuning.c accepts. + +Both layouts carry the same 0x200-byte style header and the same 24 +modules (IDs 0x00-0x17) with identical sizes; each style ends with a +0x1c block holding the sensor register list. The kernel additionally +wants every style to be the same size (header field 0x24) and the file +to hold exactly header[0] styles. The 3.004 files give styles of +different length (the register lists differ) and a stale style count. + +Only style 0's register list is ever written to the sensor (the kernel +initialises the sensor from style 0 only), so later styles get style 0's +register list, which makes all styles the same size. +""" +import struct +import sys + +HEADER = 0x200 +VERSION = b"3.05_032401\0" +SIZES = [186, 192, 876, 2268, 1088, 86, 22, 876, 136, 106, 9966, 11096, + 206, 64, 6, 14, 4188, 260, 46, 528, 240, 30, 306, 996] + + +def styles(data): + off = 0 + while off + HEADER + 4 <= len(data): + mod = off + HEADER + for i, size in enumerate(SIZES): + mid, msize = struct.unpack_from(" len(data): + sys.exit(f"style at {off:#x}: sensor block id {sid:#x} size {ssize}") + yield data[off:mod], data[mod:mod + 4 + ssize] + off = mod + 4 + ssize + + +def main(src, dst): + data = open(src, "rb").read() + found = list(styles(data)) + if not found: + sys.exit("no styles found") + sensor_id = struct.unpack_from("mF}5L5_ZF`{(sJVOlIh#x~A%@_Z?N; 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 Date: Sun, 8 Nov 2026 06:08:14 +0000 Subject: [PATCH 2/5] ak3918ev200: kernel at the bottom of DRAM, the ak-cam bridge and SC1345 The kernel now starts at 0x80000000 (load address 0x80008000) and takes its video memory as totalmem - osmem, like the other SoCs, instead of a device tree pool below a kernel at 0x81800000. The soc_camera host (VIDEO_AK) cannot capture with this kernel: it asks for /dev/isp_char to be open first, and that refuses to open until the ISP is prepared, which only the ak-cam bridge does. Build ak-cam and its sensor subdev instead, add the SC1345 driver, and install anyka-osdrv-ak3918ev200 for the sensor tuning and the osmem split. Needs the OpenIPC/linux anyka-ak3918ev300 changes that take video memory from mem= and the tuning from /etc/sensor, and the SC1345 driver. --- .../board/ak3918ev300/ak3918ev200.generic.config | 9 ++++++--- br-ext-chip-anyka/configs/ak3918ev200_lite_defconfig | 3 ++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/br-ext-chip-anyka/board/ak3918ev300/ak3918ev200.generic.config b/br-ext-chip-anyka/board/ak3918ev300/ak3918ev200.generic.config index 2256e25a5..5fc472d76 100644 --- a/br-ext-chip-anyka/board/ak3918ev300/ak3918ev200.generic.config +++ b/br-ext-chip-anyka/board/ak3918ev300/ak3918ev200.generic.config @@ -17,7 +17,7 @@ CONFIG_NEED_DMA_MAP_STATE=y CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_VECTORS_BASE=0xffff0000 # CONFIG_ARM_PATCH_PHYS_VIRT is not set -CONFIG_PHYS_OFFSET=0x81800000 +CONFIG_PHYS_OFFSET=0x80000000 CONFIG_GENERIC_BUG=y CONFIG_PGTABLE_LEVELS=2 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" @@ -280,6 +280,7 @@ CONFIG_VIDEO_RESERVED_MEM_SIZE=0x1800000 # CONFIG_MACH_AK39EV330 is not set CONFIG_MACH_AK3918EV200=y CONFIG_AK39_SYSCTRL_5TIMERS=y +CONFIG_AK_RMEM=y CONFIG_AK3918_FAMILY=y CONFIG_AK_OPENIPC_DTB="ak3918ev200-demb" CONFIG_CPU_AK3918EV200=y @@ -1442,7 +1443,6 @@ CONFIG_VIDEO_V4L2=y # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set CONFIG_V4L2_MEM2MEM_DEV=y CONFIG_VIDEOBUF_GEN=y -CONFIG_VIDEOBUF_DMA_CONTIG=y CONFIG_VIDEOBUF2_CORE=y CONFIG_VIDEOBUF2_MEMOPS=y CONFIG_VIDEOBUF2_DMA_CONTIG=y @@ -1457,10 +1457,12 @@ CONFIG_VIDEOBUF2_DMA_CONTIG=y # Anyka platform video devices # CONFIG_VIDEO_AK_VENC=y +CONFIG_VIDEO_AK_CAM=y +CONFIG_VIDEO_AK_CAM_SENSOR=y CONFIG_V4L_PLATFORM_DRIVERS=y CONFIG_SOC_CAMERA=y CONFIG_SOC_CAMERA_PLATFORM=y -CONFIG_VIDEO_AK=y +# CONFIG_VIDEO_AK is not set CONFIG_AK_ISP_CORE=y CONFIG_SENSOR_GC1084=y CONFIG_SENSOR_AR0130_ISP2=y @@ -1474,6 +1476,7 @@ CONFIG_SENSOR_IMX307=y CONFIG_SENSOR_PS5260=y CONFIG_SENSOR_SC1235=y CONFIG_SENSOR_SC1245=y +CONFIG_SENSOR_SC1345=y CONFIG_SENSOR_SC2232H_SC2135E=y CONFIG_SENSOR_SC2235=y CONFIG_SENSOR_SC2239_SC2332_SC2335=y diff --git a/br-ext-chip-anyka/configs/ak3918ev200_lite_defconfig b/br-ext-chip-anyka/configs/ak3918ev200_lite_defconfig index f4ab875f2..96734ea9e 100644 --- a/br-ext-chip-anyka/configs/ak3918ev200_lite_defconfig +++ b/br-ext-chip-anyka/configs/ak3918ev200_lite_defconfig @@ -20,7 +20,7 @@ BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMI # The uImage is the zImage with the board's DTB appended # (CONFIG_ARM_APPENDED_DTB), built by the kernel itself as on hisilicon. BR2_LINUX_KERNEL_UIMAGE=y -BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x81808000" +BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x80008000" BR2_LINUX_KERNEL_XZ=y # Filesystem @@ -49,6 +49,7 @@ BR2_OPENIPC_VARIANT="lite" BR2_OPENIPC_FLASH_SIZE="8" # Packages +BR2_PACKAGE_ANYKA_OSDRV_AK3918EV200=y BR2_PACKAGE_DROPBEAR_OPENIPC=y BR2_PACKAGE_IPCTOOL=y BR2_PACKAGE_LIBCURL_OPENIPC=y From 2e37cc1cd136279af9e6f1d9a9c9f7c0ad775319 Mon Sep 17 00:00:00 2001 From: Dmitry Ermakov <7954832+dimerr@users.noreply.github.com> Date: Sun, 8 Nov 2026 06:46:40 +0000 Subject: [PATCH 3/5] ak3918ev200: GC1024, GC1034, H62, SC1135, SC1145 and SC2232, and their tunings Build the six sensor drivers the vendor's AK3918EV200 firmware supports and the kernel now has, and ship ISP tunings for them and for the SC1235 and SC1245 the kernel already drove: nine files in /etc/sensor, each the newest generic vendor tuning for that sensor in the layout the EV200 ISP reads, converted by convert-3.004.py. The .mk lists where each came from. uImage 1618 KB of 2048, rootfs 4896 KB of 5120. Boots on qemu-hisilicon ak3918ev200; none of the new sensors has been run on hardware. --- .../ak3918ev300/ak3918ev200.generic.config | 6 ++++ .../anyka-osdrv-ak3918ev200.mk | 27 ++++++++++++++---- .../files/sensor/gc1024.conf | Bin 0 -> 69332 bytes .../files/sensor/gc1034.conf | Bin 0 -> 69676 bytes .../files/sensor/h62.conf | Bin 0 -> 69148 bytes .../files/sensor/sc1135.conf | Bin 0 -> 69188 bytes .../files/sensor/sc1145.conf | Bin 0 -> 68892 bytes .../files/sensor/sc1235.conf | Bin 0 -> 69596 bytes .../files/sensor/sc1245.conf | Bin 0 -> 69604 bytes .../files/sensor/sc2232.conf | Bin 0 -> 70260 bytes 10 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 general/package/anyka-osdrv-ak3918ev200/files/sensor/gc1024.conf create mode 100644 general/package/anyka-osdrv-ak3918ev200/files/sensor/gc1034.conf create mode 100644 general/package/anyka-osdrv-ak3918ev200/files/sensor/h62.conf create mode 100644 general/package/anyka-osdrv-ak3918ev200/files/sensor/sc1135.conf create mode 100644 general/package/anyka-osdrv-ak3918ev200/files/sensor/sc1145.conf create mode 100644 general/package/anyka-osdrv-ak3918ev200/files/sensor/sc1235.conf create mode 100644 general/package/anyka-osdrv-ak3918ev200/files/sensor/sc1245.conf create mode 100644 general/package/anyka-osdrv-ak3918ev200/files/sensor/sc2232.conf diff --git a/br-ext-chip-anyka/board/ak3918ev300/ak3918ev200.generic.config b/br-ext-chip-anyka/board/ak3918ev300/ak3918ev200.generic.config index 5fc472d76..4a0db78e8 100644 --- a/br-ext-chip-anyka/board/ak3918ev300/ak3918ev200.generic.config +++ b/br-ext-chip-anyka/board/ak3918ev300/ak3918ev200.generic.config @@ -1468,15 +1468,21 @@ CONFIG_SENSOR_GC1084=y CONFIG_SENSOR_AR0130_ISP2=y CONFIG_SENSOR_BF3703=y CONFIG_SENSOR_F22_F23_F28_F35_F37=y +CONFIG_SENSOR_GC1024=y +CONFIG_SENSOR_GC1034=y CONFIG_SENSOR_GC1054=y CONFIG_SENSOR_GC2053=y +CONFIG_SENSOR_H62=y CONFIG_SENSOR_H63=y CONFIG_SENSOR_H65=y CONFIG_SENSOR_IMX307=y CONFIG_SENSOR_PS5260=y +CONFIG_SENSOR_SC1135=y +CONFIG_SENSOR_SC1145=y CONFIG_SENSOR_SC1235=y CONFIG_SENSOR_SC1245=y CONFIG_SENSOR_SC1345=y +CONFIG_SENSOR_SC2232=y CONFIG_SENSOR_SC2232H_SC2135E=y CONFIG_SENSOR_SC2235=y CONFIG_SENSOR_SC2239_SC2332_SC2335=y diff --git a/general/package/anyka-osdrv-ak3918ev200/anyka-osdrv-ak3918ev200.mk b/general/package/anyka-osdrv-ak3918ev200/anyka-osdrv-ak3918ev200.mk index edbb72212..796c539be 100644 --- a/general/package/anyka-osdrv-ak3918ev200/anyka-osdrv-ak3918ev200.mk +++ b/general/package/anyka-osdrv-ak3918ev200/anyka-osdrv-ak3918ev200.mk @@ -14,12 +14,27 @@ ANYKA_OSDRV_AK3918EV200_LICENSE = PROPRIETARY # sensor it detected when capture first starts, so every file here is # reachable and only the detected sensor's is read. # -# sc1345.conf (SmartSens SC1345, DVP): isp_sc1345_dvp.conf from the stock -# firmware of a Gwell AK3918EV200 camera, converted from the vendor's -# "3.004" layout to the "3.05_032401" one the kernel validates with -# files/sensor/convert-3.004.py. The conversion changes header fields only -# (version string, style count and style size) and gives each style -# style 0's sensor register list; no tuning value is changed. +# Every file is a vendor tuning from the stock firmware of an AK3918EV200 +# camera, converted from the vendor's "3.0xx" layout to the "3.05_032401" +# one the kernel validates with files/sensor/convert-3.004.py. The +# conversion changes header fields only (version string, style count and +# style size) and gives each style style 0's sensor register list, the +# only one the kernel writes; no tuning value is changed. +# +# gc1024.conf isp_gc1024.conf v3.000 AK3918EV200 camera +# gc1034.conf isp_gc1034_0.conf v3.001 V380E2 camera +# h62.conf isp_h62.conf v3.004 AnyCloud39EV300 SDK +# (UVC_check_sensor; a webcam tuning, the only H62 one) +# sc1135.conf isp_sc1135_0.conf v3.015 V380E2 camera +# sc1145.conf isp_sc1145.conf v3.006 AK3918EV200 camera +# sc1235.conf isp_sc1235.conf v3.012 AK3918EV200 camera +# sc1245.conf isp_sc1245.conf v3.011 AK3918EV200 camera +# sc1345.conf isp_sc1345_dvp.conf v3.004 Gwell camera +# sc2232.conf isp_sc2232.conf v3.000 V380E2 camera +# +# Where a camera carried several, the newest generic one was taken. The +# EV300 and EV330 tunings ("4.x", "5.x") are laid out for other ISP +# libraries and are not usable here. define ANYKA_OSDRV_AK3918EV200_INSTALL_TARGET_CMDS $(INSTALL) -m 755 -d $(TARGET_DIR)/etc/sensor diff --git a/general/package/anyka-osdrv-ak3918ev200/files/sensor/gc1024.conf b/general/package/anyka-osdrv-ak3918ev200/files/sensor/gc1024.conf new file mode 100644 index 0000000000000000000000000000000000000000..c0cc3a29ff856e576cf499c16d5e9bdb2741fceb GIT binary patch literal 69332 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 z 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 DR;JrI literal 0 HcmV?d00001 diff --git a/general/package/anyka-osdrv-ak3918ev200/files/sensor/sc1135.conf b/general/package/anyka-osdrv-ak3918ev200/files/sensor/sc1135.conf new file mode 100644 index 0000000000000000000000000000000000000000..3d1fa993853a121870ee9a00a9a2ff3f87a100d4 GIT binary patch literal 69188 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 literal 0 HcmV?d00001 diff --git a/general/package/anyka-osdrv-ak3918ev200/files/sensor/sc1235.conf b/general/package/anyka-osdrv-ak3918ev200/files/sensor/sc1235.conf new file mode 100644 index 0000000000000000000000000000000000000000..7d074d999854b16ec6271b79e77aa28698db4ebb GIT binary patch literal 69596 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 II_>@c02jh*!vFvP literal 0 HcmV?d00001 diff --git a/general/package/anyka-osdrv-ak3918ev200/files/sensor/sc1245.conf b/general/package/anyka-osdrv-ak3918ev200/files/sensor/sc1245.conf new file mode 100644 index 0000000000000000000000000000000000000000..c5dc91b73e6377fef88cf14d401cd216deb9c056 GIT binary patch literal 69604 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 C2Pm8X literal 0 HcmV?d00001 diff --git a/general/package/anyka-osdrv-ak3918ev200/files/sensor/sc2232.conf b/general/package/anyka-osdrv-ak3918ev200/files/sensor/sc2232.conf new file mode 100644 index 0000000000000000000000000000000000000000..3e7b6bc691b87c836cc9a91661c18de584d1570c GIT binary patch literal 70260 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 B(7ONt literal 0 HcmV?d00001 From 4250b6ee388d821e13e683c5b34e4d8daa916264 Mon Sep 17 00:00:00 2001 From: Dmitry Ermakov <7954832+dimerr@users.noreply.github.com> Date: Sun, 8 Nov 2026 07:17:06 +0000 Subject: [PATCH 4/5] anyka-osdrv-ak3918ev200: name the tunings as ipctool names the sensors The kernel looks a tuning up by the name the sensor driver registers, which is now the one `ipcinfo -s` prints. Four files carried the vendor's name for a chip ipctool knows by another: gc1024.conf -> gc1004.conf ID 0x1004 h62.conf -> jxh62.conf ID 0xa062 sc1245.conf -> sc2145h.conf ID 0x1245 sc2232.conf -> sc2235p.conf ID 0x2232 Contents unchanged. Needs the OpenIPC/linux change that registers the drivers under these names. --- .../anyka-osdrv-ak3918ev200.mk | 13 +++++++------ .../files/sensor/{gc1024.conf => gc1004.conf} | Bin .../files/sensor/{h62.conf => jxh62.conf} | Bin .../files/sensor/{sc1245.conf => sc2145h.conf} | Bin .../files/sensor/{sc2232.conf => sc2235p.conf} | Bin 5 files changed, 7 insertions(+), 6 deletions(-) rename general/package/anyka-osdrv-ak3918ev200/files/sensor/{gc1024.conf => gc1004.conf} (100%) rename general/package/anyka-osdrv-ak3918ev200/files/sensor/{h62.conf => jxh62.conf} (100%) rename general/package/anyka-osdrv-ak3918ev200/files/sensor/{sc1245.conf => sc2145h.conf} (100%) rename general/package/anyka-osdrv-ak3918ev200/files/sensor/{sc2232.conf => sc2235p.conf} (100%) diff --git a/general/package/anyka-osdrv-ak3918ev200/anyka-osdrv-ak3918ev200.mk b/general/package/anyka-osdrv-ak3918ev200/anyka-osdrv-ak3918ev200.mk index 796c539be..0523bc9fc 100644 --- a/general/package/anyka-osdrv-ak3918ev200/anyka-osdrv-ak3918ev200.mk +++ b/general/package/anyka-osdrv-ak3918ev200/anyka-osdrv-ak3918ev200.mk @@ -9,8 +9,9 @@ ANYKA_OSDRV_AK3918EV200_SITE = ANYKA_OSDRV_AK3918EV200_LICENSE = PROPRIETARY # files/sensor/.conf is the ISP tuning of one sensor, named as -# ipctool names the sensor. The kernel's ISP driver -# (drivers/misc/ak_isp_tuning.c) reads /etc/sensor/.conf for the +# ipctool names the sensor (`ipcinfo -s`), not always as the vendor did. +# The kernel's ISP driver (drivers/misc/ak_isp_tuning.c) reads +# /etc/sensor/.conf for the # sensor it detected when capture first starts, so every file here is # reachable and only the detected sensor's is read. # @@ -21,16 +22,16 @@ ANYKA_OSDRV_AK3918EV200_LICENSE = PROPRIETARY # style size) and gives each style style 0's sensor register list, the # only one the kernel writes; no tuning value is changed. # -# gc1024.conf isp_gc1024.conf v3.000 AK3918EV200 camera +# gc1004.conf isp_gc1024.conf v3.000 AK3918EV200 camera # gc1034.conf isp_gc1034_0.conf v3.001 V380E2 camera -# h62.conf isp_h62.conf v3.004 AnyCloud39EV300 SDK +# jxh62.conf isp_h62.conf v3.004 AnyCloud39EV300 SDK # (UVC_check_sensor; a webcam tuning, the only H62 one) # sc1135.conf isp_sc1135_0.conf v3.015 V380E2 camera # sc1145.conf isp_sc1145.conf v3.006 AK3918EV200 camera # sc1235.conf isp_sc1235.conf v3.012 AK3918EV200 camera -# sc1245.conf isp_sc1245.conf v3.011 AK3918EV200 camera # sc1345.conf isp_sc1345_dvp.conf v3.004 Gwell camera -# sc2232.conf isp_sc2232.conf v3.000 V380E2 camera +# sc2145h.conf isp_sc1245.conf v3.011 AK3918EV200 camera +# sc2235p.conf isp_sc2232.conf v3.000 V380E2 camera # # Where a camera carried several, the newest generic one was taken. The # EV300 and EV330 tunings ("4.x", "5.x") are laid out for other ISP diff --git a/general/package/anyka-osdrv-ak3918ev200/files/sensor/gc1024.conf b/general/package/anyka-osdrv-ak3918ev200/files/sensor/gc1004.conf similarity index 100% rename from general/package/anyka-osdrv-ak3918ev200/files/sensor/gc1024.conf rename to general/package/anyka-osdrv-ak3918ev200/files/sensor/gc1004.conf diff --git a/general/package/anyka-osdrv-ak3918ev200/files/sensor/h62.conf b/general/package/anyka-osdrv-ak3918ev200/files/sensor/jxh62.conf similarity index 100% rename from general/package/anyka-osdrv-ak3918ev200/files/sensor/h62.conf rename to general/package/anyka-osdrv-ak3918ev200/files/sensor/jxh62.conf diff --git a/general/package/anyka-osdrv-ak3918ev200/files/sensor/sc1245.conf b/general/package/anyka-osdrv-ak3918ev200/files/sensor/sc2145h.conf similarity index 100% rename from general/package/anyka-osdrv-ak3918ev200/files/sensor/sc1245.conf rename to general/package/anyka-osdrv-ak3918ev200/files/sensor/sc2145h.conf diff --git a/general/package/anyka-osdrv-ak3918ev200/files/sensor/sc2232.conf b/general/package/anyka-osdrv-ak3918ev200/files/sensor/sc2235p.conf similarity index 100% rename from general/package/anyka-osdrv-ak3918ev200/files/sensor/sc2232.conf rename to general/package/anyka-osdrv-ak3918ev200/files/sensor/sc2235p.conf From 54a4b91f227bcceaa48ab9400cb8669551959db5 Mon Sep 17 00:00:00 2001 From: Dmitry Ermakov <7954832+dimerr@users.noreply.github.com> Date: Sun, 8 Nov 2026 07:35:20 +0000 Subject: [PATCH 5/5] anyka-osdrv-ak3918ev200: load_anyka also fixes an osmem that leaves video too little check_mem only acted when osmem was unset or at least totalmem, so osmem=60M on a 64M camera kept a 4 MiB video pool, too small to capture. Bring any split that leaves video less than the vendor's 24 MiB down to it; a larger pool, chosen on purpose, is left alone. Raised by the Qodo review of #2796. Dry-run against a stub environment: 64M, 60M and unset become 40M, 40M and 32M stay. --- .../anyka-osdrv-ak3918ev200/files/script/load_anyka | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/general/package/anyka-osdrv-ak3918ev200/files/script/load_anyka b/general/package/anyka-osdrv-ak3918ev200/files/script/load_anyka index 4c824e60e..e755b0823 100755 --- a/general/package/anyka-osdrv-ak3918ev200/files/script/load_anyka +++ b/general/package/anyka-osdrv-ak3918ev200/files/script/load_anyka @@ -3,9 +3,10 @@ # AK3918EV200: the ISP, encoder and sensor drivers are built into the # kernel, so there is nothing to load. The kernel gets its memory split as # on the other OpenIPC SoCs: Linux has osmem (bootargs mem=${osmem}) and the -# video drivers the rest of totalmem. An environment that gives Linux all -# of totalmem leaves no video memory; it is brought down to the split the -# vendor firmware uses, once, and the camera rebooted. +# video drivers the rest of totalmem. An environment that leaves video less +# than the vendor firmware's 24 MiB -- all of totalmem to Linux, as before +# this split existed, or any osmem too close to it -- cannot capture; it +# is brought down to the vendor split, once, and the camera rebooted. vendor=$(ipcinfo -v) video_mem=24 @@ -17,8 +18,8 @@ log_vendor() { check_mem() { total=$(fw_printenv -n totalmem 2>/dev/null | tr -d 'M') os=$(fw_printenv -n osmem 2>/dev/null | tr -d 'M') - [ -n "$total" ] || return - [ -z "$os" ] || [ "$os" -ge "$total" ] || return + [ -n "$total" ] && [ "$total" -gt "$video_mem" ] || return + [ -z "$os" ] || [ $((total - os)) -lt "$video_mem" ] || return fw_setenv osmem "$((total - video_mem))M" || return log_vendor "osmem $((total - video_mem))M of ${total}M, video ${video_mem}M; rebooting"