diff --git a/.github/scripts/ci-matrix.py b/.github/scripts/ci-matrix.py index c5dfb7f31..b0a72d304 100644 --- a/.github/scripts/ci-matrix.py +++ b/.github/scripts/ci-matrix.py @@ -117,6 +117,7 @@ "ssc30kq_rubyfpv_generic", # devices/common, rubyfpv "gk7205v200_otg_generic", # otg "ssc338q_apfpv", # devices/apfpv + "xm530_lite_anbiux-a8b-3mp", # Xiongmai ] # LICENSE and README anchored to whole filenames; unanchored they would also diff --git a/README.md b/README.md index cb70931e5..f97766ba4 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ _(based on Buildroot)_ ### List of known and supported devices ``` +anbiux A8B-3MP XM530AI SC3335 ATBM603X_USB NOR_8M in progress Aoni EP01J05 T31L ? RTL8188FU_USB NOR_16M new Azarton C1 T20X JXF23 RTL8189FS_SDIO NOR_16M done Azarton C1 T31X GC2053 RTL8189FS_SDIO NOR_16M done diff --git a/devices/xm530_lite_anbiux-a8b-3mp/br-ext-chip-xiongmai/configs/xm530_lite_anbiux-a8b-3mp_defconfig b/devices/xm530_lite_anbiux-a8b-3mp/br-ext-chip-xiongmai/configs/xm530_lite_anbiux-a8b-3mp_defconfig new file mode 100644 index 000000000..16d320c95 --- /dev/null +++ b/devices/xm530_lite_anbiux-a8b-3mp/br-ext-chip-xiongmai/configs/xm530_lite_anbiux-a8b-3mp_defconfig @@ -0,0 +1,71 @@ +# Architecture +BR2_arm=y +BR2_cortex_a5=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_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)/xm530.generic.config" +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_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="xiongmai" +BR2_OPENIPC_SOC_MODEL="xm530" +BR2_OPENIPC_SOC_FAMILY="xm530" +# xm550 is firmware-identical to xm530 (same SOC_FAMILY, kernel, osdrv); it is +# built only as xm530 now and routed here for cameras still reporting xm550. +BR2_OPENIPC_SOC_ALIASES="xm550" +BR2_OPENIPC_VARIANT="lite" +BR2_OPENIPC_FLASH_SIZE="8" + +# Packages +# ATBM60XX WiFi: AltoBeam ATBM6032 USB chip (007a:8888), PDN on gpio 96 +BR2_PACKAGE_ATBM60XX=y +BR2_PACKAGE_ATBM60XX_MODEL_603X=y +BR2_PACKAGE_ATBM60XX_INTERFACE_USB=y +BR2_PACKAGE_DROPBEAR_OPENIPC=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_LINUX_FIRMWARE_OPENIPC=y +# BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U is not set +BR2_PACKAGE_MAJESTIC_FONTS=y +BR2_PACKAGE_MAJESTIC_WEBUI=y +BR2_PACKAGE_MAJESTIC=y +BR2_PACKAGE_MBEDTLS_OPENIPC=y +BR2_PACKAGE_MOTORS=y +BR2_PACKAGE_OPUS_OPENIPC=y +BR2_PACKAGE_VTUND_OPENIPC=y +BR2_PACKAGE_XIONGMAI_OSDRV_XM530=y +BR2_PACKAGE_YAML_CLI=y diff --git a/devices/xm530_lite_anbiux-a8b-3mp/general/overlay/usr/share/openipc/customizer.sh b/devices/xm530_lite_anbiux-a8b-3mp/general/overlay/usr/share/openipc/customizer.sh new file mode 100644 index 000000000..dd11f27d3 --- /dev/null +++ b/devices/xm530_lite_anbiux-a8b-3mp/general/overlay/usr/share/openipc/customizer.sh @@ -0,0 +1,19 @@ +#!/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/xm530_lite_anbiux-a8b-3mp-nor.tgz' +# +# Set wlan device, its PDN gpio and credentials if need +# +fw_setenv wlandev atbm603x-xm530-usb +fw_setenv wifipdn 96 +#fw_setenv wlanssid Router +#fw_setenv wlanpass 12345678 +# +(sleep 3 ; reboot -f) & + +exit 0 diff --git a/devices/xm530_lite_anbiux-a8b-3mp/general/scripts/excludes/xm530_lite.list b/devices/xm530_lite_anbiux-a8b-3mp/general/scripts/excludes/xm530_lite.list new file mode 100644 index 000000000..b04211516 --- /dev/null +++ b/devices/xm530_lite_anbiux-a8b-3mp/general/scripts/excludes/xm530_lite.list @@ -0,0 +1,5 @@ +# This device carries the AltoBeam ATBM6032 (USB) radio; prune the +# wifi stacks it does not use to leave room for the atbm60xx module. +/lib/modules/3.10.103+/xiongmai/xm711.ko +/lib/modules/3.10.103+/xiongmai/compat.ko +/lib/modules/3.10.103+/xiongmai/8188fu.ko