From ec15836118b2772fa38124f2f52e0863ce862d6b Mon Sep 17 00:00:00 2001 From: tagbug <41150861+tagbug@users.noreply.github.com> Date: Wed, 9 Sep 2026 21:45:15 +0800 Subject: [PATCH] Add t31_lite_zte-k545 device profile (ZTE K545, SC4336, ATBM6012B Wi-Fi) --- README.md | 1 + .../configs/t31_lite_zte-k545_defconfig | 71 +++++++++++++++++++ .../overlay/usr/share/openipc/customizer.sh | 50 +++++++++++++ .../0001-change-mmc-detect-gpio-to-50.patch | 13 ++++ 4 files changed, 135 insertions(+) create mode 100644 devices/t31_lite_zte-k545/br-ext-chip-ingenic/configs/t31_lite_zte-k545_defconfig create mode 100755 devices/t31_lite_zte-k545/general/overlay/usr/share/openipc/customizer.sh create mode 100644 devices/t31_lite_zte-k545/general/package/all-patches/linux/0001-change-mmc-detect-gpio-to-50.patch diff --git a/README.md b/README.md index 2b5b67762..09e8f7365 100644 --- a/README.md +++ b/README.md @@ -102,6 +102,7 @@ Xiaomi MJSXJ03HL T31N JXQ03 RTL8189FS_SDIO NOR_16M done Xiaomi MJSXJ03HL T31N JXQ03P RTL8189FS_SDIO NOR_16M done Xiaomi MJSXJ05HL T31L GC2053 ATBM6031_SDIO NOR_16M preparation ZTE K540 T31X SC4336 ATBM6012B_USB NOR_16M done +ZTE K545 T31X SC4336 ATBM6012B_USB NOR_16M done 4G Camera XG521 V1.2 GK7202V300 GC1054 EC800E-CN_USB NOR_8M done XM IPG-G3-WR GK7202V300 JXH63 ATBM60321S_USB NOR_8M done ``` diff --git a/devices/t31_lite_zte-k545/br-ext-chip-ingenic/configs/t31_lite_zte-k545_defconfig b/devices/t31_lite_zte-k545/br-ext-chip-ingenic/configs/t31_lite_zte-k545_defconfig new file mode 100644 index 000000000..74124f627 --- /dev/null +++ b/devices/t31_lite_zte-k545/br-ext-chip-ingenic/configs/t31_lite_zte-k545_defconfig @@ -0,0 +1,71 @@ +# Architecture +BR2_mipsel=y +BR2_mips_xburst=y +# BR2_MIPS_SOFT_FLOAT is not set +BR2_MIPS_FP32_MODE_32=y + +# Toolchain +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=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="mipsel-openipc-linux-musl" +BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=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)/t31.generic.config" +BR2_LINUX_KERNEL_LZMA=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_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_SQUASHFS=y +BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y + +# OpenIPC +BR2_OPENIPC_SOC_VENDOR="ingenic" +BR2_OPENIPC_SOC_MODEL="t31" +BR2_OPENIPC_SOC_FAMILY="t31" +BR2_OPENIPC_SNS_MODEL="sc4336" +BR2_OPENIPC_VARIANT="lite" +BR2_OPENIPC_FLASH_SIZE="8" + +# Packages +BR2_PACKAGE_ATBM60XX=y +BR2_PACKAGE_ATBM60XX_MODEL_603X=y +BR2_PACKAGE_DROPBEAR_OPENIPC=y +BR2_PACKAGE_INGENIC_OSDRV_T31=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_MBEDTLS_OPENIPC=y +# BR2_PACKAGE_MOTORS is not set +BR2_PACKAGE_GPIO_MOTORS=y +BR2_PACKAGE_OPUS_OPENIPC=y +BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y +# BR2_PACKAGE_QUIRC_OPENIPC=y +# BR2_PACKAGE_VTUND_OPENIPC is not set +BR2_PACKAGE_YAML_CLI=y diff --git a/devices/t31_lite_zte-k545/general/overlay/usr/share/openipc/customizer.sh b/devices/t31_lite_zte-k545/general/overlay/usr/share/openipc/customizer.sh new file mode 100755 index 000000000..61adbb9e5 --- /dev/null +++ b/devices/t31_lite_zte-k545/general/overlay/usr/share/openipc/customizer.sh @@ -0,0 +1,50 @@ +#!/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_zte-k545-nor.tgz' +# +# +# Set custom majestic settings +# +cli -s .nightMode.irCutPin1 57 +cli -s .nightMode.irCutPin2 58 +cli -s .nightMode.colorToGray true +cli -s .nightMode.backlightPin 11 +cli -s .video0.codec h264 +cli -s .audio.speakerPin 64 +cli -s .audio.speakerPinInvert true +# +# +# Set wlan device and credentials if need +# +fw_setenv wlandev atbm603x-t31-zte-k540 +#fw_setenv wlanssid Router +#fw_setenv wlanpass 12345678 +# +# +# Set ptz motor pins +# +fw_setenv ptz_control gpio +fw_setenv ptz_gpio '49 63 62 61 59 52 53 54' +# +# +# Set osmem and rmem +# +fw_setenv osmem 64M +fw_setenv rmem 64M@0x4000000 +# +# Status LEDs (active low: 0 = on, 1 = off): +# Blue: GPIO 10 +# Red: GPIO 16 +# Green: GPIO 17 +# +# Example to turn on green LED on boot: +# echo 17 > /sys/class/gpio/export 2>/dev/null +# echo out > /sys/class/gpio/gpio17/direction 2>/dev/null +# echo 0 > /sys/class/gpio/gpio17/value 2>/dev/null +# +exit 0 diff --git a/devices/t31_lite_zte-k545/general/package/all-patches/linux/0001-change-mmc-detect-gpio-to-50.patch b/devices/t31_lite_zte-k545/general/package/all-patches/linux/0001-change-mmc-detect-gpio-to-50.patch new file mode 100644 index 000000000..e16977581 --- /dev/null +++ b/devices/t31_lite_zte-k545/general/package/all-patches/linux/0001-change-mmc-detect-gpio-to-50.patch @@ -0,0 +1,13 @@ +diff --git a/arch/mips/xburst/soc-t31/chip-t31/isvp/Swan/board.h b/arch/mips/xburst/soc-t31/chip-t31/isvp/Swan/board.h +index d9058e1271..b53c252c64 100644 +--- a/arch/mips/xburst/soc-t31/chip-t31/isvp/Swan/board.h ++++ b/arch/mips/xburst/soc-t31/chip-t31/isvp/Swan/board.h +@@ -32,7 +32,7 @@ + /* ****************************GPIO MMC START******************************** */ + #define GPIO_MMC_RST_N -1 + #define GPIO_MMC_RST_N_LEVEL LOW_ENABLE +-#define GPIO_MMC_CD_N GPIO_PB(27) ++#define GPIO_MMC_CD_N GPIO_PB(18) + #define GPIO_MMC_CD_N_LEVEL LOW_ENABLE + #define GPIO_MMC_PWR -1 + #define GPIO_MMC_PWR_LEVEL HIGH_ENABLE