From c4ad85f584acfcc3a2cdc76d5e88e279c32cf3ee Mon Sep 17 00:00:00 2001 From: john doe <47976944+johndi3@users.noreply.github.com> Date: Sun, 28 Jan 2024 01:18:11 +0800 Subject: [PATCH] Add JVS INGT10 GQS60EP T10A+OV9750 (#8) * Add JVS INGT10 GQS60EP T10A+OV9750 * move ov9750 config and calibration file to firmware repo * move ov9750 config and calibration file to firmware repo --- .github/workflows/master.yml | 1 + README.md | 1 + .../t10_lite_jvs-ingt10-gqs60ep_defconfig | 130 ++++++++++++++++++ .../overlay/usr/share/openipc/customizer.sh | 32 +++++ .../ingenic-opensdk/0001-add-ov9750.patch | 10 ++ .../ingenic-osdrv-t20/ingenic-osdrv-t20.mk | 25 ++++ .../general/scripts/excludes/t10_lite.list | 31 +++++ 7 files changed, 230 insertions(+) create mode 100644 devices/t10_lite_jvs-ingt10-gqs60ep/br-ext-chip-ingenic/configs/t10_lite_jvs-ingt10-gqs60ep_defconfig create mode 100644 devices/t10_lite_jvs-ingt10-gqs60ep/general/overlay/usr/share/openipc/customizer.sh create mode 100644 devices/t10_lite_jvs-ingt10-gqs60ep/general/package/ingenic-opensdk/0001-add-ov9750.patch create mode 100644 devices/t10_lite_jvs-ingt10-gqs60ep/general/package/ingenic-osdrv-t20/ingenic-osdrv-t20.mk create mode 100644 devices/t10_lite_jvs-ingt10-gqs60ep/general/scripts/excludes/t10_lite.list diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 8ad5ea2c..3b73203b 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -41,6 +41,7 @@ jobs: - t31_lite_xiaomi-mjsxj03hl - t31_lite_tuya-gv7630-t31-ptz - t31_ultimate_azarton-c1-t31x + - t10_lite_jvs-ingt10-gqs60ep steps: - name: Checkout diff --git a/README.md b/README.md index 8773d995..8e38faae 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,7 @@ Xiaomi MJSXJ05HL T31L GC2053 ATBM6031_SDIO NOR_16M prepa CMCC HDC-51 A6-V11 T31L SC2332 RTL8188FU_USB NOR_16M done Azarton C1 T20X JXF23 RTL8189FS_SDIO NOR_16M done Azarton C1 T31X GC2053 RTL8189FS_SDIO NOR_16M done +JVS INGT10 GQS60EP T10A OV9750 - NOR_8M done ``` diff --git a/devices/t10_lite_jvs-ingt10-gqs60ep/br-ext-chip-ingenic/configs/t10_lite_jvs-ingt10-gqs60ep_defconfig b/devices/t10_lite_jvs-ingt10-gqs60ep/br-ext-chip-ingenic/configs/t10_lite_jvs-ingt10-gqs60ep_defconfig new file mode 100644 index 00000000..e9acb797 --- /dev/null +++ b/devices/t10_lite_jvs-ingt10-gqs60ep/br-ext-chip-ingenic/configs/t10_lite_jvs-ingt10-gqs60ep_defconfig @@ -0,0 +1,130 @@ +# Architecture +BR2_mipsel=y +BR2_mips_xburst=y +# BR2_MIPS_SOFT_FLOAT is not set +BR2_MIPS_FP32_MODE_32=y +# BR2_MIPS_FP32_MODE_XX is not set +BR2_MIPS_NAN_LEGACY=y +BR2_MIPS_OABI32=y +BR2_KERNEL_HEADERS_VERSION=y +BR2_DEFAULT_KERNEL_VERSION="3.10.14" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y + +# Toolchain +BR2_PER_PACKAGE_DIRECTORIES=y +BR2_GCC_VERSION_12_X=y +# BR2_TOOLCHAIN_USES_UCLIBC is not set +# BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set +# BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc" +BR2_EXTRA_GCC_CONFIG_OPTIONS="--with-float=hard" +BR2_TOOLCHAIN_USES_MUSL=y +BR2_TOOLCHAIN_BUILDROOT_MUSL=y +BR2_TOOLCHAIN_BUILDROOT_LIBC="musl" +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_TOOLCHAIN_BUILDROOT_LOCALE=y +BR2_TOOLCHAIN_BUILDROOT_USE_SSP=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_SOC_VENDOR)-t31.tar.gz" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/kernel/t10.generic.config" +BR2_LINUX_KERNEL_UIMAGE=y +BR2_LINUX_KERNEL_LZMA=y + +# OpenIPC +BR2_OPENIPC_SOC_VENDOR="ingenic" +BR2_OPENIPC_SOC_MODEL="t10" +BR2_OPENIPC_SOC_FAMILY="t20" +BR2_OPENIPC_FLAVOR="lite" +BR2_OPENIPC_FLASH_SIZE="8" + +# Filesystem +# BR2_TARGET_TZ_INFO is not set +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_SQUASHFS=y +BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL)/overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL)/scripts/rootfs_script.sh" + +# OpenIPC configuration +BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc" +BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC" +BR2_TARGET_GENERIC_HOSTNAME="openipc-t10" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL)/package/all-patches" + +# OpenIPC packages +BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/package/busybox/busybox.config" +BR2_PACKAGE_DROPBEAR_OPENIPC=y +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +# BR2_PACKAGE_FDK_AAC_OPENIPC is not set +BR2_PACKAGE_UBOOT_TOOLS=y +BR2_PACKAGE_INGENIC_OSDRV_T20=y +BR2_PACKAGE_IPCTOOL=y +BR2_PACKAGE_JSON_C=y +BR2_PACKAGE_JSONFILTER=y +BR2_PACKAGE_LIBCURL_OPENIPC=y +BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y +# BR2_PACKAGE_LIBCURL_OPENIPC_VERBOSE is not set +# 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_LIBCURL_OPENIPC_MBEDTLS=y +BR2_PACKAGE_LIBEVENT_OPENIPC=y +BR2_PACKAGE_LIBEVENT_OPENIPC_REMOVE_PYSCRIPT=y +BR2_PACKAGE_LIBOGG_OPENIPC=y +BR2_PACKAGE_LIBYAML=y +BR2_PACKAGE_MAJESTIC_FONTS=y +BR2_PACKAGE_MAJESTIC=y +BR2_PACKAGE_MBEDTLS_OPENIPC=y +# BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set +# BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set +BR2_PACKAGE_WEBUI=y +# BR2_PACKAGE_MINI_SNMPD is not set +# BR2_PACKAGE_MOTORS is not set +BR2_PACKAGE_OPUS_OPENIPC=y +BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y +# BR2_PACKAGE_SSHPASS is not set +# BR2_PACKAGE_UACME_OPENIPC is not set +BR2_PACKAGE_VTUND_OPENIPC=y +BR2_PACKAGE_YAML_CLI=y +BR2_PACKAGE_QUIRC_OPENIPC=y +# BR2_PACKAGE_AUTONIGHT is not set + +# WiFi +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y +BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y +BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y +#BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y +# BR2_PACKAGE_RTL8188EU is not set + +# WIREGUARD +BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y +BR2_PACKAGE_WIREGUARD_TOOLS=y + +# DEBUG +BR2_PACKAGE_INGENIC_PWM=y +BR2_PACKAGE_LOGCAT_OPENIPC=y +# BR2_PACKAGE_HOST_GDB is not set +# BR2_PACKAGE_GDB is not set + +# CCACHE +BR2_CCACHE=y +BR2_CCACHE_DIR="$(HOME)/.ccache" + +# Compression +BR2_PACKAGE_ZLIB=y + +# External +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="mipsel-openipc-linux-musl" +BR2_TOOLCHAIN_EXTERNAL_CXX=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y +BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/openipc/firmware/releases/download/$(OPENIPC_TOOLCHAIN).tgz" diff --git a/devices/t10_lite_jvs-ingt10-gqs60ep/general/overlay/usr/share/openipc/customizer.sh b/devices/t10_lite_jvs-ingt10-gqs60ep/general/overlay/usr/share/openipc/customizer.sh new file mode 100644 index 00000000..b3033851 --- /dev/null +++ b/devices/t10_lite_jvs-ingt10-gqs60ep/general/overlay/usr/share/openipc/customizer.sh @@ -0,0 +1,32 @@ +#!/bin/sh +# +# Perform basic settings on a known IP camera +# +# +# Set custom upgrade url +# +fw_setenv upgrade 'https://github.com/OpenIPC/builder/releases/download/latest/t10_lite_jvs-ingt10-gqs60ep-nor.tgz' +# +# +# Set custom majestic settings +# +cli -s .nightMode.enabled true +cli -s .nightMode.irSensorPin 19 +cli -s .nightMode.irCutPin1 25 +cli -s .nightMode.irCutPin2 26 +cli -s .video0.codec h264 +# +# +# Set wlan device and credentials if need +# +#fw_setenv wlandev rtl8188fu-generic +#fw_setenv wlanssid Router +#fw_setenv wlanpass 12345678 +# +# +# Set osmem and rmem +# +#fw_setenv osmem 39M +#fw_setenv rmem 25M@0x2700000 +# +exit 0 diff --git a/devices/t10_lite_jvs-ingt10-gqs60ep/general/package/ingenic-opensdk/0001-add-ov9750.patch b/devices/t10_lite_jvs-ingt10-gqs60ep/general/package/ingenic-opensdk/0001-add-ov9750.patch new file mode 100644 index 00000000..e5bedd10 --- /dev/null +++ b/devices/t10_lite_jvs-ingt10-gqs60ep/general/package/ingenic-opensdk/0001-add-ov9750.patch @@ -0,0 +1,10 @@ +diff --git a/kernel/sensors/t20/Kbuild b/kernel/sensors/t20/Kbuild +index 176c5ae..25145c0 100644 +--- a/kernel/sensors/t20/Kbuild ++++ b/kernel/sensors/t20/Kbuild +@@ -7,4 +7,5 @@ include $(src)/sensors/$(SOC)/jxh62/Kbuild + include $(src)/sensors/$(SOC)/jxh65/Kbuild + include $(src)/sensors/$(SOC)/jxk02/Kbuild + include $(src)/sensors/$(SOC)/jxv01/Kbuild ++include $(src)/sensors/$(SOC)/ov9750/Kbuild + diff --git a/devices/t10_lite_jvs-ingt10-gqs60ep/general/package/ingenic-osdrv-t20/ingenic-osdrv-t20.mk b/devices/t10_lite_jvs-ingt10-gqs60ep/general/package/ingenic-osdrv-t20/ingenic-osdrv-t20.mk new file mode 100644 index 00000000..8fdee57d --- /dev/null +++ b/devices/t10_lite_jvs-ingt10-gqs60ep/general/package/ingenic-osdrv-t20/ingenic-osdrv-t20.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# ingenic-osdrv-t20 +# +################################################################################ + +INGENIC_OSDRV_T20_VERSION = +INGENIC_OSDRV_T20_SITE = +INGENIC_OSDRV_T20_LICENSE = MIT +INGENIC_OSDRV_T20_LICENSE_FILES = LICENSE + +define INGENIC_OSDRV_T20_INSTALL_TARGET_CMDS + $(INSTALL) -m 755 -d $(TARGET_DIR)/etc/sensor + $(INSTALL) -m 644 -t $(TARGET_DIR)/etc/sensor $(INGENIC_OSDRV_T20_PKGDIR)/files/sensor/*.yaml + + $(INSTALL) -m 644 -t $(TARGET_DIR)/etc/sensor $(INGENIC_OSDRV_T20_PKGDIR)/files/sensor/params/ov9750.bin + + $(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin + $(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(INGENIC_OSDRV_T20_PKGDIR)/files/script/load* + + $(INSTALL) -m 755 -d $(TARGET_DIR)/usr/lib + $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(INGENIC_OSDRV_T20_PKGDIR)/files/lib/*.so +endef + +$(eval $(generic-package)) diff --git a/devices/t10_lite_jvs-ingt10-gqs60ep/general/scripts/excludes/t10_lite.list b/devices/t10_lite_jvs-ingt10-gqs60ep/general/scripts/excludes/t10_lite.list new file mode 100644 index 00000000..60792322 --- /dev/null +++ b/devices/t10_lite_jvs-ingt10-gqs60ep/general/scripts/excludes/t10_lite.list @@ -0,0 +1,31 @@ +/etc/sensor/gc2053.yaml +/etc/sensor/jxf22.bin +/etc/sensor/jxf22.yaml +/etc/sensor/jxf23.bin +/etc/sensor/jxf23.yaml +/etc/sensor/jxf37.yaml +/etc/sensor/jxh42.bin +/etc/sensor/jxh42.yaml +/etc/sensor/jxh62.bin +/etc/sensor/jxh62.yaml +/etc/sensor/ov2735.yaml +/etc/sensor/ov2735b.yaml +/etc/sensor/ov4689.yaml +/etc/sensor/ps5260.yaml +/etc/sensor/sc2135.bin +/etc/sensor/sc2232.bin +/etc/sensor/sc2232.yaml +/etc/sensor/sc2232h.yaml +/etc/sensor/sc2235.bin +/etc/sensor/sc2335.yaml + +/lib/modules/3.10.14/ingenic/sensor_jxf22_t10.ko +/lib/modules/3.10.14/ingenic/sensor_jxf23_t10.ko +/lib/modules/3.10.14/ingenic/sensor_jxf28_t10.ko +/lib/modules/3.10.14/ingenic/sensor_jxh42_t10.ko +/lib/modules/3.10.14/ingenic/sensor_jxh61_t10.ko +/lib/modules/3.10.14/ingenic/sensor_jxh62_t10.ko +/lib/modules/3.10.14/ingenic/sensor_jxh65_t10.ko +/lib/modules/3.10.14/ingenic/sensor_jxk02_t10.ko +/lib/modules/3.10.14/ingenic/sensor_jxv01_t10.ko +