diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index dd874af..4b71d28 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -99,10 +99,9 @@ jobs: # Ruby - gk7205v200_rubyfpv - - gk7205v210_rubyfpv - - gk7205v300_rubyfpv - ssc30kq_rubyfpv - ssc338q_rubyfpv + - ssc338q_rubyfpv_thinker_internal_wifi # LTE - hi3516ev200_lte diff --git a/devices/ssc30kq_rubyfpv/br-ext-chip-sigmastar/configs/ssc30kq_rubyfpv_defconfig b/devices/ssc30kq_rubyfpv/br-ext-chip-sigmastar/configs/ssc30kq_rubyfpv_defconfig new file mode 100644 index 0000000..6bd532a --- /dev/null +++ b/devices/ssc30kq_rubyfpv/br-ext-chip-sigmastar/configs/ssc30kq_rubyfpv_defconfig @@ -0,0 +1,69 @@ +# Architecture +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_ARM_INSTRUCTIONS_THUMB2=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="arm-openipc-linux-gnueabihf" +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +# BR2_TOOLCHAIN_EXTERNAL_INET_RPC is not set +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)/infinity6e-ssc012b.config" +BR2_LINUX_KERNEL_UIMAGE=y +BR2_LINUX_KERNEL_XZ=y + +# Filesystem +BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/package/busybox/busybox.config" +BR2_PACKAGE_EXFATPROGS=y +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_AP_SUPPORT=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="sigmastar" +BR2_OPENIPC_SOC_MODEL="ssc30kq" +BR2_OPENIPC_SOC_FAMILY="infinity6e" +BR2_OPENIPC_VARIANT="rubyfpv" +BR2_OPENIPC_FLASH_SIZE="16" + +# Packages +BR2_PACKAGE_DROPBEAR_OPENIPC=y +BR2_PACKAGE_EXFAT_OPENIPC=y +BR2_PACKAGE_IPCTOOL=y +BR2_PACKAGE_JSONFILTER=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=y +BR2_PACKAGE_MBEDTLS_OPENIPC=y +BR2_PACKAGE_OPUS_OPENIPC=y +BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y +BR2_PACKAGE_RTL88X2EU_OPENIPC=y +BR2_PACKAGE_RTL8812AU_OPENIPC=y +BR2_PACKAGE_RUBYFPV=y +BR2_PACKAGE_SIGMASTAR_OSDRV_INFINITY6E=y +BR2_PACKAGE_YAML_CLI=y diff --git a/devices/ssc338q_rubyfpv_generic/general/overlay/usr/share/openipc/customizer.sh b/devices/ssc30kq_rubyfpv/general/overlay/usr/share/openipc/customizer.sh similarity index 69% rename from devices/ssc338q_rubyfpv_generic/general/overlay/usr/share/openipc/customizer.sh rename to devices/ssc30kq_rubyfpv/general/overlay/usr/share/openipc/customizer.sh index 125da33..4d3a9e2 100644 --- a/devices/ssc338q_rubyfpv_generic/general/overlay/usr/share/openipc/customizer.sh +++ b/devices/ssc30kq_rubyfpv/general/overlay/usr/share/openipc/customizer.sh @@ -1,6 +1,6 @@ #!/bin/sh # Set custom upgrade url -fw_setenv upgrade 'https://github.com/OpenIPC/builder/releases/download/latest/ssc338q_rubyfpv_generic-nor.tgz' +fw_setenv upgrade 'https://github.com/OpenIPC/builder/releases/download/latest/ssc30kq_rubyfpv-nor.tgz' exit 0 diff --git a/devices/ssc338q_rubyfpv_generic/general/package/sigmastar-osdrv-infinity6e/files/script/load_sigmastar b/devices/ssc30kq_rubyfpv/general/package/sigmastar-osdrv-infinity6e/files/script/load_sigmastar similarity index 100% rename from devices/ssc338q_rubyfpv_generic/general/package/sigmastar-osdrv-infinity6e/files/script/load_sigmastar rename to devices/ssc30kq_rubyfpv/general/package/sigmastar-osdrv-infinity6e/files/script/load_sigmastar diff --git a/devices/ssc338q_rubyfpv_generic/general/scripts/excludes/ssc338q_rubyfpv.list b/devices/ssc30kq_rubyfpv/general/scripts/excludes/ssc30kq_rubyfpv.list similarity index 100% rename from devices/ssc338q_rubyfpv_generic/general/scripts/excludes/ssc338q_rubyfpv.list rename to devices/ssc30kq_rubyfpv/general/scripts/excludes/ssc30kq_rubyfpv.list diff --git a/devices/ssc338q_rubyfpv_generic/br-ext-chip-sigmastar/configs/ssc338q_rubyfpv_generic_defconfig b/devices/ssc338q_rubyfpv/br-ext-chip-sigmastar/configs/ssc338q_rubyfpv_defconfig similarity index 100% rename from devices/ssc338q_rubyfpv_generic/br-ext-chip-sigmastar/configs/ssc338q_rubyfpv_generic_defconfig rename to devices/ssc338q_rubyfpv/br-ext-chip-sigmastar/configs/ssc338q_rubyfpv_defconfig diff --git a/devices/ssc338q_rubyfpv_thinker/general/overlay/usr/share/openipc/customizer.sh b/devices/ssc338q_rubyfpv/general/overlay/usr/share/openipc/customizer.sh similarity index 69% rename from devices/ssc338q_rubyfpv_thinker/general/overlay/usr/share/openipc/customizer.sh rename to devices/ssc338q_rubyfpv/general/overlay/usr/share/openipc/customizer.sh index c29ca0a..e69cf3a 100644 --- a/devices/ssc338q_rubyfpv_thinker/general/overlay/usr/share/openipc/customizer.sh +++ b/devices/ssc338q_rubyfpv/general/overlay/usr/share/openipc/customizer.sh @@ -1,6 +1,6 @@ #!/bin/sh # Set custom upgrade url -fw_setenv upgrade 'https://github.com/OpenIPC/builder/releases/download/latest/ssc338q_rubyfpv_thinker-nor.tgz' +fw_setenv upgrade 'https://github.com/OpenIPC/builder/releases/download/latest/ssc338q_rubyfpv-nor.tgz' exit 0 diff --git a/devices/ssc338q_rubyfpv_thinker/general/package/sigmastar-osdrv-infinity6e/files/script/load_sigmastar b/devices/ssc338q_rubyfpv/general/package/sigmastar-osdrv-infinity6e/files/script/load_sigmastar similarity index 100% rename from devices/ssc338q_rubyfpv_thinker/general/package/sigmastar-osdrv-infinity6e/files/script/load_sigmastar rename to devices/ssc338q_rubyfpv/general/package/sigmastar-osdrv-infinity6e/files/script/load_sigmastar diff --git a/devices/ssc338q_rubyfpv_thinker/general/scripts/excludes/ssc338q_rubyfpv.list b/devices/ssc338q_rubyfpv/general/scripts/excludes/ssc338q_rubyfpv.list similarity index 100% rename from devices/ssc338q_rubyfpv_thinker/general/scripts/excludes/ssc338q_rubyfpv.list rename to devices/ssc338q_rubyfpv/general/scripts/excludes/ssc338q_rubyfpv.list diff --git a/devices/ssc338q_rubyfpv_thinker/br-ext-chip-sigmastar/configs/ssc338q_rubyfpv_thinker_defconfig b/devices/ssc338q_rubyfpv_thinker_internal_wifi/br-ext-chip-sigmastar/configs/ssc338q_rubyfpv_thinker_internal_wifi_defconfig similarity index 98% rename from devices/ssc338q_rubyfpv_thinker/br-ext-chip-sigmastar/configs/ssc338q_rubyfpv_thinker_defconfig rename to devices/ssc338q_rubyfpv_thinker_internal_wifi/br-ext-chip-sigmastar/configs/ssc338q_rubyfpv_thinker_internal_wifi_defconfig index c7c9fe4..a703f59 100644 --- a/devices/ssc338q_rubyfpv_thinker/br-ext-chip-sigmastar/configs/ssc338q_rubyfpv_thinker_defconfig +++ b/devices/ssc338q_rubyfpv_thinker_internal_wifi/br-ext-chip-sigmastar/configs/ssc338q_rubyfpv_thinker_internal_wifi_defconfig @@ -63,7 +63,7 @@ BR2_PACKAGE_OPUS_OPENIPC=y BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y BR2_PACKAGE_RTL8733BU_OPENIPC=y BR2_PACKAGE_RTL8812AU_OPENIPC=y -BR2_PACKAGE_RTL8812EU_OPENIPC=y +BR2_PACKAGE_RTL88X2EU_OPENIPC=n BR2_PACKAGE_RUBYFPV=y BR2_PACKAGE_SIGMASTAR_OSDRV_INFINITY6E=y BR2_PACKAGE_YAML_CLI=y diff --git a/devices/ssc338q_rubyfpv_thinker_internal_wifi/general/overlay/usr/share/openipc/customizer.sh b/devices/ssc338q_rubyfpv_thinker_internal_wifi/general/overlay/usr/share/openipc/customizer.sh new file mode 100644 index 0000000..f118caf --- /dev/null +++ b/devices/ssc338q_rubyfpv_thinker_internal_wifi/general/overlay/usr/share/openipc/customizer.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +# Set custom upgrade url +fw_setenv upgrade 'https://github.com/OpenIPC/builder/releases/download/latest/ssc338q_rubyfpv_thinker_internal_wifi-nor.tgz' + +exit 0 diff --git a/devices/ssc338q_rubyfpv_thinker_internal_wifi/general/package/sigmastar-osdrv-infinity6e/files/script/load_sigmastar b/devices/ssc338q_rubyfpv_thinker_internal_wifi/general/package/sigmastar-osdrv-infinity6e/files/script/load_sigmastar new file mode 100644 index 0000000..28e528c --- /dev/null +++ b/devices/ssc338q_rubyfpv_thinker_internal_wifi/general/package/sigmastar-osdrv-infinity6e/files/script/load_sigmastar @@ -0,0 +1,72 @@ +#!/bin/sh +# +# OpenIPC.org | 2024 +# + +MODULE=/lib/modules/4.9.84/sigmastar + +detect_sensor() { + insmod $MODULE/sensor_config.ko + if [ -e /dev/srcfg ]; then + echo srcfg 0 1 0 0 0 0 > /dev/srcfg + rmmod sensor_config + fi + SENSOR=$(ipcinfo -s) +} + +set_sensor() { + case $SENSOR in + imx307|imx335|imx347|imx415) + insmod $MODULE/sensor_${SENSOR}_mipi.ko chmap=1 + ;; + *) + echo -e "\n\e[1;31mUNSUPPORTED sensor - $SENSOR\e[0m\n" | logger -s -t OpenIPC + ;; + esac +} + +insert_ko() { + insmod $MODULE/mhal.ko + insmod $MODULE/mi_common.ko + insmod $MODULE/mi_sys.ko cmdQBufSize=768 logBufSize=256 + insmod $MODULE/mi_rgn.ko + insmod $MODULE/mi_ldc.ko + insmod $MODULE/mi_ai.ko + insmod $MODULE/mi_ao.ko + insmod $MODULE/mi_mipitx.ko + insmod $MODULE/mi_sensor.ko + insmod $MODULE/mi_shadow.ko + insmod $MODULE/mi_divp.ko + insmod $MODULE/mi_vif.ko + insmod $MODULE/mi_vpe.ko + insmod $MODULE/mi_venc.ko fw_path=/etc/firmware/chagall.bin + + MAJOR=$(awk '$2=="mi_poll" {print $1}' /proc/devices) + mknod /dev/mi_poll c "$MAJOR" 0 + echo isproot /etc/firmware > /dev/ispmid +} + +if [ ! -e /sys/module/mi_common ]; then + insert_ko +fi + +echo -e "\n\e[1;33mAutodetect sensor\e[0m\n" | logger -s -t OpenIPC +detect_sensor + +if [ -z "$SENSOR" ]; then + echo -e "\n\e[1;31mSensor parameter MISSING\e[0m\n" | logger -s -t OpenIPC + exit 1 +fi + +DRIVER=$(ls /sys/module | grep $SENSOR) +if [ -n "$DRIVER" ]; then + rmmod $DRIVER +fi + +echo -e "\n\e[1;32mSensor assigned - $SENSOR\e[0m\n" | logger -s -t OpenIPC +set_sensor + +# Custom settings +gpio set 29 + +exit 0 diff --git a/devices/ssc338q_rubyfpv_thinker_internal_wifi/general/scripts/excludes/ssc338q_rubyfpv.list b/devices/ssc338q_rubyfpv_thinker_internal_wifi/general/scripts/excludes/ssc338q_rubyfpv.list new file mode 100644 index 0000000..44fee48 --- /dev/null +++ b/devices/ssc338q_rubyfpv_thinker_internal_wifi/general/scripts/excludes/ssc338q_rubyfpv.list @@ -0,0 +1,12 @@ +/etc/sensors/gc2053.bin +/etc/sensors/gc4653.bin +/etc/sensors/sc501ai.bin +/lib/modules/4.9.84/kernel/fs/lockd/*.ko +/lib/modules/4.9.84/kernel/fs/nfs/*.ko +/lib/modules/4.9.84/kernel/fs/nfs_common/*.ko +/lib/modules/4.9.84/kernel/net/sunrpc/*.ko +/lib/modules/4.9.84/sigmastar/sensor_gc2053_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_gc4653_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_os04c10_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_sc501ai_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_sc8235_mipi.ko