Skip to content

Commit

Permalink
add China Mobile HDC-51 A6-V11 (#3)
Browse files Browse the repository at this point in the history
  • Loading branch information
jimsmt committed Jan 15, 2024
1 parent 3f417ae commit ce88bd2
Show file tree
Hide file tree
Showing 9 changed files with 327 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ Wansview Q5 2K T31L SC2336 ATBM6031_SDIO NOR_8M done
Xiaomi MJSXJ02HL HI3518EV300 JXF22 RTL8189FS_SDIO NOR_16M preparation
Xiaomi MJSXJ03HL T31N JXQ03P RTL8189FS_SDIO NOR_16M done
Xiaomi MJSXJ05HL T31L GC2053 ATBM6031_SDIO NOR_16M preparation
CMCC HDC-51 A6-V11 T31L SC2332 RTL8188FU_USB NOR_16M done
```


Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
# 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_KERNEL).tar.gz"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/t31/kernel/t31.generic.config"
BR2_LINUX_KERNEL_UIMAGE=y
BR2_LINUX_KERNEL_LZMA=y

# OpenIPC
BR2_OPENIPC_SOC_VENDOR="ingenic"
BR2_OPENIPC_SOC_MODEL="t31"
BR2_OPENIPC_SOC_FAMILY="t31"
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-t31"
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_T31=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=y
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
BR2_PACKAGE_INGENIC_LIBIMP_CONTROL=y

# 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_RTL8188FU_OPENIPC=y

# WIREGUARD
BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
BR2_PACKAGE_WIREGUARD_TOOLS=y

# EXPERIMENTAL
# BR2_PACKAGE_ONVIF_SIMPLE_SERVER is not set

# DEBUG
BR2_PACKAGE_INGENIC_PWM=y
BR2_PACKAGE_LOGCAT_OPENIPC=y
BR2_PACKAGE_INGENIC_DIAG_TOOLS=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"
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#
Experimental system for building OpenIPC firmware for known devices
#
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
sensor:
name: sc2332
address: 0x30
width: 1920
height: 1080
bus: i2c
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/sh

set_gpio() {
[ "$2" -eq 1 ] && gpio set $1 || gpio clear $1
sleep 1
}

# Generic RTL8188FU
if [ "$1" = "rtl8188fu-generic" ]; then
modprobe 8188fu
exit 0
fi

exit 1
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/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/t31_lite_chinamobile-hdc-51-a6-v11-nor.tgz'
#
#
# Set custom majestic settings
#
cli -s .audio.speakerPin 63
cli -s .nightMode.enabled true
cli -s .nightMode.irSensorPin 7
cli -s .nightMode.irCutPin1 58
cli -s .nightMode.irCutPin2 57
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
diff --git a/kernel/sensors/t31/Kbuild b/kernel/sensors/t31/Kbuild
index 5f96204..30b34f5 100644
--- a/kernel/sensors/t31/Kbuild
+++ b/kernel/sensors/t31/Kbuild
@@ -1,19 +1 @@
-include $(src)/sensors/$(SOC)/gc2053/Kbuild
-include $(src)/sensors/$(SOC)/gc2083/Kbuild
-include $(src)/sensors/$(SOC)/gc4023/Kbuild
-include $(src)/sensors/$(SOC)/gc4653/Kbuild
-include $(src)/sensors/$(SOC)/imx307/Kbuild
-include $(src)/sensors/$(SOC)/imx327/Kbuild
-include $(src)/sensors/$(SOC)/jxf37/Kbuild
-include $(src)/sensors/$(SOC)/jxh62/Kbuild
-include $(src)/sensors/$(SOC)/jxh63/Kbuild
-include $(src)/sensors/$(SOC)/jxq03/Kbuild
-include $(src)/sensors/$(SOC)/jxq03p/Kbuild
-include $(src)/sensors/$(SOC)/os03b10/Kbuild
-include $(src)/sensors/$(SOC)/sc200ai/Kbuild
-include $(src)/sensors/$(SOC)/sc2232h/Kbuild
-include $(src)/sensors/$(SOC)/sc2335/Kbuild
-include $(src)/sensors/$(SOC)/sc2336/Kbuild
-include $(src)/sensors/$(SOC)/sc3338/Kbuild
-include $(src)/sensors/$(SOC)/sc5235/Kbuild
-include $(src)/sensors/$(SOC)/sc4236/Kbuild
+include $(src)/sensors/$(SOC)/sc2332/Kbuild
diff --git a/kernel/sensors/t31/sc2332/Kbuild b/kernel/sensors/t31/sc2332/Kbuild
index 12cef4b..9e9672c 100644
--- a/kernel/sensors/t31/sc2332/Kbuild
+++ b/kernel/sensors/t31/sc2332/Kbuild
@@ -1,7 +1,7 @@
MODULE_NAME := sensor_sc2332_t31
OUT := $(MODULE_NAME)

-DIR=sensors/$(SOC)/sc2332
+DIR=sensors/$(SOC)

SRCS := $(DIR)/sc2332/sc2332.c

Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
################################################################################
#
# ingenic-osdrv-t31
#
################################################################################

INGENIC_OSDRV_T31_VERSION =
INGENIC_OSDRV_T31_SITE =
INGENIC_OSDRV_T31_LICENSE = MIT
INGENIC_OSDRV_T31_LICENSE_FILES = LICENSE

define INGENIC_OSDRV_T31_INSTALL_TARGET_CMDS
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/sensor
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc/sensor $(INGENIC_OSDRV_T31_PKGDIR)/files/sensor/*.yaml
# $(INSTALL) -m 644 -t $(TARGET_DIR)/etc/sensor $(INGENIC_OSDRV_T31_PKGDIR)/files/sensor/params/*.bin

$(INSTALL) -m 644 -t $(TARGET_DIR)/etc/sensor $(INGENIC_OSDRV_T31_PKGDIR)/files/sensor/params/sc2332-t31.bin

# Modules for T31 are built from the openingenic repository sources, so we don't need to copy them.
# $(INSTALL) -m 755 -d $(TARGET_DIR)/lib/modules/3.10.14__isvp_swan_1.0__/ingenic
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/3.10.14__isvp_swan_1.0__/ingenic $(INGENIC_OSDRV_T31_PKGDIR)/files/kmod/*.ko

$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(INGENIC_OSDRV_T31_PKGDIR)/files/script/load*

$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/lib
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(INGENIC_OSDRV_T31_PKGDIR)/files/lib/*.so
endef

$(eval $(generic-package))
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
etc/sensor/gc2053-t31.bin
etc/sensor/gc2083-t31.bin
etc/sensor/gc4023-t31.bin
etc/sensor/gc4653-t31.bin
etc/sensor/imx307-t31.bin
etc/sensor/imx327-t31.bin
etc/sensor/jxf37-t31.bin
etc/sensor/jxh62-t31.bin
etc/sensor/jxq03-t31.bin
etc/sensor/jxq03p-t31.bin
etc/sensor/os03b10-t31.bin
etc/sensor/sc200ai-t31.bin
etc/sensor/sc2232h-t31.bin
etc/sensor/sc2335-t31.bin
etc/sensor/sc3335-t31.bin
etc/sensor/sc3338-t31.bin
etc/sensor/sc4236-t31.bin
etc/sensor/sc5235-t31.bin
#
etc/sensor/gc2053.yaml
etc/sensor/gc2083.yaml
etc/sensor/gc4023.yaml
etc/sensor/gc4653.yaml
etc/sensor/imx307.yaml
etc/sensor/imx327.yaml
etc/sensor/imx335.yaml
etc/sensor/jxf22.yaml
etc/sensor/jxf23.yaml
etc/sensor/jxf37.yaml
etc/sensor/jxh42.yaml
etc/sensor/jxh62.yaml
etc/sensor/jxh63.yaml
etc/sensor/jxk04.yaml
etc/sensor/jxq03.yaml
etc/sensor/jxq03p.yaml
etc/sensor/os03b10.yaml
etc/sensor/ov2735.yaml
etc/sensor/ov2735b.yaml
etc/sensor/ov4689.yaml
etc/sensor/ps5260.yaml
etc/sensor/sc200ai.yaml
etc/sensor/sc2232.yaml
etc/sensor/sc2232h.yaml
etc/sensor/sc2335.yaml
etc/sensor/sc3335.yaml
etc/sensor/sc3338.yaml
etc/sensor/sc4236.yaml
etc/sensor/sc5235.yaml
etc/sensor/sc2236.yaml
#
lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_gc2053_t31.ko
lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_gc2083_t31.ko
lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_gc4023_t31.ko
lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_gc4653_t31.ko
lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_imx307_t31.ko
lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_imx327_t31.ko
lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_jxf37_t31.ko
lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_jxh62_t31.ko
lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_jxh63_t31.ko
lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_jxq03_t31.ko
lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_jxq03p_t31.ko
lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_os03b10_t31.ko
lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_sc200ai_t31.ko
lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_sc2232h_t31.ko
lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_sc2335_t31.ko
lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_sc3338_t31.ko
lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_sc4236_t31.ko
lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_sc5235_t31.ko

0 comments on commit ce88bd2

Please sign in to comment.