From c79ec48f27d575d04465ec52004fb4fdb27151a1 Mon Sep 17 00:00:00 2001 From: Koba AI Agent <330168119+koba-ai-agent[bot]@users.noreply.github.com> Date: Mon, 21 Sep 2026 05:16:56 +0000 Subject: [PATCH 1/2] Add hi3516ev200_lite_garus-gsl-5030x-30ap-nm device profile --- README.md | 1 + .../garus-gsl-5030x-30ap-nm.fragment | 28 ++++++++ ...200_lite_garus-gsl-5030x-30ap-nm_defconfig | 66 ++++++++++++++++++ .../general/overlay/etc/modules | 2 + .../overlay/usr/share/openipc/customizer.sh | 24 +++++++ .../overlay/usr/share/openipc/muxes.sh | 14 ++++ .../scripts/excludes/hi3516ev200_lite.list | 67 +++++++++++++++++++ 7 files changed, 202 insertions(+) create mode 100644 devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/br-ext-chip-hisilicon/board/hi3516ev200/garus-gsl-5030x-30ap-nm.fragment create mode 100644 devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/br-ext-chip-hisilicon/configs/hi3516ev200_lite_garus-gsl-5030x-30ap-nm_defconfig create mode 100644 devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/general/overlay/etc/modules create mode 100644 devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/general/overlay/usr/share/openipc/customizer.sh create mode 100644 devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/general/overlay/usr/share/openipc/muxes.sh create mode 100644 devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/general/scripts/excludes/hi3516ev200_lite.list diff --git a/README.md b/README.md index 588a4ea1b..4894b4999 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ Cootli CAMV0103 GK7202V300 SC223A SSV6355_USB NOR_8M in pr CP Plus CP-UNC-TA21L2C GK7205V200 SC223A - NOR_16M video-ok, ir-cut-no, audio-no Emax Wyvern Link SSC338Q IMX415 NOR_16M done Foscam X5 SSC337DE GC4653 RTL8188FU_USB NOR_16M done +GARUS GSL-5030X-30AP-NM HI3516EV200 SC2315E? - NOR_8M done G.Craftsman GCA50 T31ZX GC4653 - NOR_16M done EC37-T11 T20L SC2232 RTL8188FU_USB MOR_16M in progress H3C TC2101 SSC337 JXQ03 RTL8188FU_USB NOR_16M done diff --git a/devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/br-ext-chip-hisilicon/board/hi3516ev200/garus-gsl-5030x-30ap-nm.fragment b/devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/br-ext-chip-hisilicon/board/hi3516ev200/garus-gsl-5030x-30ap-nm.fragment new file mode 100644 index 000000000..bafe5d563 --- /dev/null +++ b/devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/br-ext-chip-hisilicon/board/hi3516ev200/garus-gsl-5030x-30ap-nm.fragment @@ -0,0 +1,28 @@ +# GARUS: wired, fixed-lens, NOR-only 1080p camera; no USB/SD peripherals. +# Merge into hi3516ev200.generic.config, never replace the common config. +# Keep the NOR/FMC controller, MIPI/I2C, GPIO, UART, MMZ/CMA and recovery stack. + +# No wireless adapter, USB devices/gadgets, modem or SD card in this target. +# CONFIG_WIRELESS is not set +# CONFIG_WLAN is not set +# CONFIG_CFG80211 is not set +# CONFIG_MAC80211 is not set +# CONFIG_MT7601U is not set +# CONFIG_USB_SUPPORT is not set +# CONFIG_USB is not set +# CONFIG_USB_GADGET is not set +# CONFIG_PHY_HISI_XVP_USB2 is not set +# CONFIG_MMC is not set +# CONFIG_VFAT_FS is not set +# CONFIG_FAT_FS is not set + +# This image boots SquashFS on SPI NOR with a JFFS2 writable overlay. +# CONFIG_MTD_NAND is not set +# CONFIG_MTD_SPI_NAND_HISI_BVT is not set +# CONFIG_MTD_SPI_NAND_HIFMC100 is not set +# CONFIG_MTD_UBI is not set +# CONFIG_UBIFS_FS is not set +# CONFIG_YAFFS_FS is not set + +# No bundled VPN client on this 8 MiB profile. +# CONFIG_TUN is not set diff --git a/devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/br-ext-chip-hisilicon/configs/hi3516ev200_lite_garus-gsl-5030x-30ap-nm_defconfig b/devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/br-ext-chip-hisilicon/configs/hi3516ev200_lite_garus-gsl-5030x-30ap-nm_defconfig new file mode 100644 index 000000000..6aedade54 --- /dev/null +++ b/devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/br-ext-chip-hisilicon/configs/hi3516ev200_lite_garus-gsl-5030x-30ap-nm_defconfig @@ -0,0 +1,66 @@ +# Architecture +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_EABI=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_ARM_INSTRUCTIONS_THUMB2=y + +# Toolchain +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/openipc/firmware/releases/download/$(OPENIPC_TOOLCHAIN).tgz" +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-musleabi" +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_KERNEL).tar.gz" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/hi3516ev200.generic.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/garus-gsl-5030x-30ap-nm.fragment" +BR2_LINUX_KERNEL_UIMAGE=y +BR2_LINUX_KERNEL_XZ=y + +# Filesystem +BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/package/busybox/busybox.config" +BR2_PACKAGE_UBOOT_TOOLS=y +BR2_PACKAGE_ZLIB=y +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +# BR2_PACKAGE_WIREGUARD_LINUX_COMPAT is not set +# BR2_PACKAGE_WIREGUARD_TOOLS is not set +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_SQUASHFS=y +BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y + +# OpenIPC +BR2_OPENIPC_SOC_VENDOR="hisilicon" +BR2_OPENIPC_SOC_MODEL="hi3516ev200" +BR2_OPENIPC_SOC_FAMILY="hi3516ev200" +BR2_OPENIPC_VARIANT="lite" +BR2_OPENIPC_FLASH_SIZE="8" + +# Packages +BR2_PACKAGE_DROPBEAR_OPENIPC=y +BR2_PACKAGE_HISILICON_OPENSDK=y +BR2_PACKAGE_HISILICON_OSDRV_HI3516EV200=y +BR2_PACKAGE_IPCTOOL=y +BR2_PACKAGE_LIBCURL_OPENIPC=y +BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y +# BR2_PACKAGE_LIBCURL_OPENIPC_PROXY_SUPPORT is not set +# BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT is not set +# BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES is not set +BR2_PACKAGE_LIBEVENT_OPENIPC=y +BR2_PACKAGE_LIBOGG_OPENIPC=y +BR2_PACKAGE_MAJESTIC_FONTS=y +BR2_PACKAGE_MAJESTIC_WEBUI=y +BR2_PACKAGE_MAJESTIC=y +# BR2_PACKAGE_MAJESTIC_AF is not set +BR2_PACKAGE_MBEDTLS_OPENIPC=y +# BR2_PACKAGE_MOTORS is not set +BR2_PACKAGE_OPUS_OPENIPC=y +BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y +# BR2_PACKAGE_VTUND_OPENIPC is not set +BR2_PACKAGE_YAML_CLI=y diff --git a/devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/general/overlay/etc/modules b/devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/general/overlay/etc/modules new file mode 100644 index 000000000..c2e4da3cb --- /dev/null +++ b/devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/general/overlay/etc/modules @@ -0,0 +1,2 @@ +# GARUS GSL-5030X-30AP-NM has no removable storage. +# Override the common vfat/exfat module list; load nothing here. diff --git a/devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/general/overlay/usr/share/openipc/customizer.sh b/devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/general/overlay/usr/share/openipc/customizer.sh new file mode 100644 index 000000000..6ef3fe0b4 --- /dev/null +++ b/devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/general/overlay/usr/share/openipc/customizer.sh @@ -0,0 +1,24 @@ +#!/bin/sh +# +# OpenIPC profile for GARUS GSL-5030X-30AP-NM +# Board: BLK16EV2-4339P-38X38 +# SoC: HiSilicon Hi3516EV200 +# Sensor path: SC2315E, MIPI 1080p +# +# GPIO15 is the external day/night status input. GPIO8/9 drive the bistable +# IR-cut filter. The IR illuminator board is autonomous, so no backlight GPIO +# is configured here. +# + +fw_setenv upgrade 'https://github.com/OpenIPC/builder/releases/download/latest/hi3516ev200_lite_garus-gsl-5030x-30ap-nm-nor.tgz' +fw_setenv sensor sc2315e + +cli -s .isp.sensorConfig /etc/sensors/sc2315e_i2c_1080p.ini +cli -s .nightMode.lightMonitor true +cli -s .nightMode.lightSensorPin 15 +cli -s .nightMode.irCutPin1 8 +cli -s .nightMode.irCutPin2 9 +# The filter needs a short mechanical settle time to avoid a purple cast. +cli -s .nightMode.transitionDelayMs 150 + +exit 0 diff --git a/devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/general/overlay/usr/share/openipc/muxes.sh b/devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/general/overlay/usr/share/openipc/muxes.sh new file mode 100644 index 000000000..294415fc2 --- /dev/null +++ b/devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/general/overlay/usr/share/openipc/muxes.sh @@ -0,0 +1,14 @@ +#!/bin/sh +# +# GARUS GSL-5030X-30AP-NM: GPIO15 is GPIO1_7. +# Make it an input before switching the pad to GPIO mode. Preserve all +# unrelated direction and pad-control bits. +# + +set -e + +direction=$(devmem 0x120B1400 32) +devmem 0x120B1400 32 $((direction & 0xffffff7f)) + +pinmux=$(devmem 0x120C001C 32) +devmem 0x120C001C 32 $(((pinmux & 0xfffffff0) | 0x2)) diff --git a/devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/general/scripts/excludes/hi3516ev200_lite.list b/devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/general/scripts/excludes/hi3516ev200_lite.list new file mode 100644 index 000000000..4e8ad1fd6 --- /dev/null +++ b/devices/hi3516ev200_lite_garus-gsl-5030x-30ap-nm/general/scripts/excludes/hi3516ev200_lite.list @@ -0,0 +1,67 @@ +# GARUS GSL-5030X-30AP-NM: keep the SC2315E 1080p path. +# Keep iq/default.ini and its imx307.ini target. +/etc/sensors/5M_imx335.ini +/etc/sensors/WDR/5M_imx335.ini +/etc/sensors/WDR/imx335_i2c_4M.ini +/etc/sensors/camhi_imx307_i2c_4l_1080p.ini +/etc/sensors/gc2053_i2c_1080p.ini +/etc/sensors/gc4653_i2c_4M.ini +/etc/sensors/high-fps/imx307_1280x720_60fps.ini +/etc/sensors/high-fps/imx307_1920x1080_60fps.ini +/etc/sensors/high-fps/imx307_368x304_200fps.ini +/etc/sensors/high-fps/imx307_640x480_130fps.ini +/etc/sensors/high-fps/imx335_1280x720_120fps.ini +/etc/sensors/high-fps/imx335_1296x972_64fps.ini +/etc/sensors/high-fps/imx335_1920x1080_55fps.ini +/etc/sensors/high-fps/imx335_2592x1944_45fps.ini +/etc/sensors/high-fps/imx335_800x480_240fps.ini +/etc/sensors/imx307_i2c_2l_1080p.ini +/etc/sensors/imx335_i2c_4M.ini +/etc/sensors/iq/f23.ini +/etc/sensors/iq/imx335.ini +/etc/sensors/jxf22_i2c_1080p.ini +/etc/sensors/jxf23_i2c_1080p.ini +/etc/sensors/jxf37_i2c_1080p.ini +/etc/sensors/sc2231_i2c_1080p.ini +/etc/sensors/sc2232h_i2c_1080p.ini +/etc/sensors/sc2239_i2c_1080p.ini +/etc/sensors/sc3235_i2c_3M.ini +/etc/sensors/sc3335_i2c_3M.ini +/etc/sensors/sc4236_i2c_3M.ini +/etc/sensors/sp2305_i2c_1080p.ini +/etc/sensors/sp2308_i2c_1080p.ini +/lib/modules/4.9.37/hisilicon/camhi-motor.ko +/usr/bin/ircut_demo +/usr/lib/sensors/libsns_ar0237.so +/usr/lib/sensors/libsns_bt656.so +/usr/lib/sensors/libsns_f22.so +/usr/lib/sensors/libsns_f23.so +/usr/lib/sensors/libsns_f37.so +/usr/lib/sensors/libsns_gc2053.so +/usr/lib/sensors/libsns_gc2053_forcar.so +/usr/lib/sensors/libsns_gc4023.so +/usr/lib/sensors/libsns_gc4653_2l.so +/usr/lib/sensors/libsns_gc5603.so +/usr/lib/sensors/libsns_imx290.so +/usr/lib/sensors/libsns_imx307.so +/usr/lib/sensors/libsns_imx307_2l.so +/usr/lib/sensors/libsns_imx327.so +/usr/lib/sensors/libsns_imx327_2l.so +/usr/lib/sensors/libsns_imx335.so +/usr/lib/sensors/libsns_imx335_2l.so +/usr/lib/sensors/libsns_mis2008.so +/usr/lib/sensors/libsns_os02g10.so +/usr/lib/sensors/libsns_os05a.so +/usr/lib/sensors/libsns_ov2718.so +/usr/lib/sensors/libsns_sc2231.so +/usr/lib/sensors/libsns_sc2232h.so +/usr/lib/sensors/libsns_sc2235.so +/usr/lib/sensors/libsns_sc2239.so +/usr/lib/sensors/libsns_sc223a.so +/usr/lib/sensors/libsns_sc3235.so +/usr/lib/sensors/libsns_sc3335.so +/usr/lib/sensors/libsns_sc3336.so +/usr/lib/sensors/libsns_sc4236.so +/usr/lib/sensors/libsns_sc500ai.so +/usr/lib/sensors/libsns_sp2305.so +/usr/lib/sensors/libsns_sp2308.so From c9e0687d68125d0ae2343e68c0e771b09bd4b6ab Mon Sep 17 00:00:00 2001 From: AI Dev Date: Mon, 21 Sep 2026 09:11:09 +0000 Subject: [PATCH 2/2] README: align the GARUS GSL-5030X-30AP-NM row with the device table grid The row was one space short in the model column, so the SoC field started at column 25 where every other row starts it at 26, and the whole line sat one character left of the grid. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4894b4999..c9f378ffd 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Cootli CAMV0103 GK7202V300 SC223A SSV6355_USB NOR_8M in pr CP Plus CP-UNC-TA21L2C GK7205V200 SC223A - NOR_16M video-ok, ir-cut-no, audio-no Emax Wyvern Link SSC338Q IMX415 NOR_16M done Foscam X5 SSC337DE GC4653 RTL8188FU_USB NOR_16M done -GARUS GSL-5030X-30AP-NM HI3516EV200 SC2315E? - NOR_8M done +GARUS GSL-5030X-30AP-NM HI3516EV200 SC2315E? - NOR_8M done G.Craftsman GCA50 T31ZX GC4653 - NOR_16M done EC37-T11 T20L SC2232 RTL8188FU_USB MOR_16M in progress H3C TC2101 SSC337 JXQ03 RTL8188FU_USB NOR_16M done