t31: add XVI ISI-2010C device profile (T31N, GC2053, Ethernet only) (#166)
Ingenic T31N with a GalaxyCore GC2053, 64 MiB RAM, 8 MiB SPI NOR and wired Ethernet. Tested on the physical camera: builds, flashes and boots, with Ethernet, GC2053 video, H.264/H.265 streaming, automatic day/night switching, IR-cut control and audio capture/playback all working. The board has no radio, so the defconfig drops wireless-tools, wpa_supplicant and the Realtek driver that the nearest sibling carries, along with the QR onboarding helper that only exists to join a network. The kernel fragment turns off MMC, the wireless stack, USB and FAT rather than forking the generic T31 config. Because FAT goes with it, the profile also overrides /etc/modules: the stock list asks for vfat and exfat, which would no longer exist. The exclude list prunes motor.ko and the two sample_pwm modules. Those are built for every T31 board by ingenic-opensdk regardless of the pinned sensor, since they sit outside the sensor tree in the openingenic Kbuild, and no board in the tree had pruned them until now. There is no Kconfig symbol to disable them, so the exclude list is the only lever.
This commit is contained in:
@@ -102,6 +102,7 @@ Xiaomi MJSXJ02HL HI3518EV300 JXF22 RTL8189FS_SDIO NOR_16M prepa
|
||||
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
|
||||
XVI ISI-2010C T31N GC2053 - NOR_8M done
|
||||
YuanCam DGK-423403 HI3518EV300 JXH62 RTL8188FU_USB NOR_8M research
|
||||
ZTE K540 T31X SC4336 ATBM6012B_USB NOR_16M done
|
||||
ZTE K543 SSC337DE SC401AI MT7601U_USB NOR_16M done
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
# XVI ISI-2010C has no SD/MMC, Wi-Fi, USB path or removable FAT storage.
|
||||
# CONFIG_MMC is not set
|
||||
# CONFIG_WLAN is not set
|
||||
# CONFIG_WIRELESS is not set
|
||||
# CONFIG_USB_SUPPORT is not set
|
||||
# CONFIG_VFAT_FS is not set
|
||||
# CONFIG_FAT_FS is not set
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
# 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_CONFIG_FRAGMENT_FILES="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/xvi-isi-2010c.fragment"
|
||||
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=y
|
||||
BR2_PACKAGE_WIREGUARD_TOOLS=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="gc2053"
|
||||
BR2_OPENIPC_VARIANT="lite"
|
||||
BR2_OPENIPC_FLASH_SIZE="8"
|
||||
|
||||
# Packages
|
||||
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_OPUS_OPENIPC=y
|
||||
BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y
|
||||
BR2_PACKAGE_VTUND_OPENIPC=y
|
||||
BR2_PACKAGE_YAML_CLI=y
|
||||
@@ -0,0 +1 @@
|
||||
# XVI ISI-2010C has no removable storage.
|
||||
@@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
# XVI ISI-2010C: T31N + GC2053
|
||||
|
||||
fw_setenv upgrade 'https://github.com/OpenIPC/builder/releases/download/latest/t31_lite_xvi-isi-2010c-nor.tgz'
|
||||
fw_setenv sensor gc2053
|
||||
|
||||
# PA16 / GPIO16: daylight sensor
|
||||
# PB26 / GPIO58, PB25 / GPIO57: bistable IR-cut
|
||||
cli -s .nightMode.lightMonitor true
|
||||
cli -s .nightMode.lightSensorPin 16
|
||||
cli -s .nightMode.irCutPin1 58
|
||||
cli -s .nightMode.irCutPin2 57
|
||||
cli -s .video0.codec h264
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,4 @@
|
||||
# No pan/tilt motor or PWM peripheral is populated on XVI ISI-2010C.
|
||||
/lib/modules/3.10.14__isvp_swan_1.0__/ingenic/motor.ko
|
||||
/lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sample_pwm_core.ko
|
||||
/lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sample_pwm_hal.ko
|
||||
Reference in New Issue
Block a user