From f958ee107fbd3dc2a7e76475e757e16b265b39e0 Mon Sep 17 00:00:00 2001
From: "Igor Zalatov (via Araneus server)" <flyrouter@gmail.com>
Date: Thu, 8 Jul 2021 18:41:14 +0300
Subject: [PATCH] Some updates and changes

---
 .github/workflows/ssc335_images.yml           |  5 ++
 .../unknown_unknown_ssc335_musl_defconfig     | 78 +++++++++++++++++++
 .../unknown_unknown_ssc335_openipc_defconfig  | 13 ++--
 .../files/sample/crutches/01_vpe_fixed.patch  | 10 +++
 building.sh                                   | 16 ++--
 .../etc/init.d/{S30modules => S10modules}     |  0
 .../overlay/etc/init.d/{S10mdev => S40mdev}   |  0
 general/package/busybox/busybox.config        |  2 +-
 8 files changed, 112 insertions(+), 12 deletions(-)
 create mode 100644 br-ext-chip-sigmastar/configs/unknown_unknown_ssc335_musl_defconfig
 create mode 100644 br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/files/sample/crutches/01_vpe_fixed.patch
 rename general/overlay/etc/init.d/{S30modules => S10modules} (100%)
 rename general/overlay/etc/init.d/{S10mdev => S40mdev} (100%)

diff --git a/.github/workflows/ssc335_images.yml b/.github/workflows/ssc335_images.yml
index 84de87b9..86ee8657 100644
--- a/.github/workflows/ssc335_images.yml
+++ b/.github/workflows/ssc335_images.yml
@@ -1,6 +1,11 @@
 name: OpenIPC for SSC335
 
 on:
+  push:
+    branches:
+      - master
+    tags:
+      - "v*"
   workflow_dispatch:
 
 jobs:
diff --git a/br-ext-chip-sigmastar/configs/unknown_unknown_ssc335_musl_defconfig b/br-ext-chip-sigmastar/configs/unknown_unknown_ssc335_musl_defconfig
new file mode 100644
index 00000000..559bea42
--- /dev/null
+++ b/br-ext-chip-sigmastar/configs/unknown_unknown_ssc335_musl_defconfig
@@ -0,0 +1,78 @@
+# Architecture
+BR2_arm=y
+BR2_cortex_a7=y
+BR2_ARM_EABI=y
+BR2_ARM_FPU_NEON_VFPV4=y
+BR2_ARM_INSTRUCTIONS_THUMB2=y
+BR2_KERNEL_HEADERS_VERSION=y
+BR2_DEFAULT_KERNEL_VERSION="4.9.84"
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
+
+# Toolchain
+BR2_PER_PACKAGE_DIRECTORIES=y
+BR2_GCC_VERSION_7_X=y
+# BR2_TOOLCHAIN_USES_UCLIBC is not set
+# BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
+# BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
+BR2_TOOLCHAIN_USES_MUSL=y
+BR2_TOOLCHAIN_BUILDROOT_MUSL=y
+BR2_TOOLCHAIN_BUILDROOT_LIBC="musl"
+BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
+BR2_TOOLCHAIN_BUILDROOT_USE_SSP=y
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.84"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_SIGMASTAR_PATH)/board/infinity6b0/kernel/ssc335.generic.config"
+BR2_LINUX_KERNEL_UIMAGE=y
+BR2_LINUX_KERNEL_XZ=y
+BR2_LINUX_KERNEL_EXT_SIGMASTAR_PATCHER=y
+BR2_LINUX_KERNEL_EXT_SIGMASTAR_PATCHER_LIST="$(BR2_EXTERNAL_SIGMASTAR_PATH)/board/infinity6b0/kernel/patches/ $(BR2_EXTERNAL_SIGMASTAR_PATH)/board/infinity6b0/kernel/overlay"
+
+# Filesystem
+# BR2_TARGET_TZ_INFO is not set
+BR2_TARGET_ROOTFS_SQUASHFS=y
+BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
+BR2_ROOTFS_OVERLAY="$(TOPDIR)/../general/overlay"
+BR2_ROOTFS_POST_BUILD_SCRIPT="$(TOPDIR)/../scripts/executing_commands_for_$(BR2_TOOLCHAIN_BUILDROOT_LIBC).sh"
+
+# OpenIPC configuration
+BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc"
+BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC v2.1"
+BR2_TARGET_GENERIC_HOSTNAME="openipc"
+BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches"
+
+# Packages
+BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config"
+BR2_PACKAGE_DROPBEAR=y
+BR2_PACKAGE_FWPRINTENV_NG=y
+# BR2_PACKAGE_HASERL is not set
+BR2_PACKAGE_IPCTOOL=y
+BR2_PACKAGE_JSON_C=y
+# BR2_PACKAGE_LAME is not set
+# BR2_PACKAGE_LIBEVENT_MINI is not set
+BR2_PACKAGE_LIBYAML=y
+# BR2_PACKAGE_MAJESTIC is not set
+# BR2_PACKAGE_MINI_SNMPD is not set
+BR2_PACKAGE_SIGMASTAR_OSDRV_SSC335=y
+BR2_PACKAGE_VTUND_LITE=y
+BR2_PACKAGE_YAML_CLI=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=y
+BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y
+
+# Unused
+# BR2_SHARED_STATIC_LIBS is not set
+# BR2_PACKAGE_JPEG_TURBO is not set
+# BR2_PACKAGE_MINIHTTP is not set
+# BR2_PACKAGE_MXML is not set
+# BR2_PACKAGE_SSHPASS is not set
+# BR2_PACKAGE_RTL8188EU is not set
diff --git a/br-ext-chip-sigmastar/configs/unknown_unknown_ssc335_openipc_defconfig b/br-ext-chip-sigmastar/configs/unknown_unknown_ssc335_openipc_defconfig
index 559bea42..db617704 100644
--- a/br-ext-chip-sigmastar/configs/unknown_unknown_ssc335_openipc_defconfig
+++ b/br-ext-chip-sigmastar/configs/unknown_unknown_ssc335_openipc_defconfig
@@ -11,12 +11,13 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
 BR2_GCC_VERSION_7_X=y
-# BR2_TOOLCHAIN_USES_UCLIBC is not set
-# BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
-# BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
-BR2_TOOLCHAIN_USES_MUSL=y
-BR2_TOOLCHAIN_BUILDROOT_MUSL=y
-BR2_TOOLCHAIN_BUILDROOT_LIBC="musl"
+BR2_TOOLCHAIN_USES_UCLIBC=y
+BR2_TOOLCHAIN_BUILDROOT_UCLIBC=y
+BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
+# BR2_TOOLCHAIN_USES_MUSL is not set
+# BR2_TOOLCHAIN_BUILDROOT_MUSL is not set
+# BR2_TOOLCHAIN_BUILDROOT_LIBC="musl"
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
 BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
 BR2_TOOLCHAIN_BUILDROOT_USE_SSP=y
 
diff --git a/br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/files/sample/crutches/01_vpe_fixed.patch b/br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/files/sample/crutches/01_vpe_fixed.patch
new file mode 100644
index 00000000..35fa31d9
--- /dev/null
+++ b/br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/files/sample/crutches/01_vpe_fixed.patch
@@ -0,0 +1,10 @@
+--- a/app/encoder/main.cpp
++++ b/app/encoder/main.cpp
+@@ -919,6 +919,8 @@
+     stVpeChannelInfo.e3DNRLevel = pstConfig->en3dNrLevel;
+     stVpeChannelInfo.eHDRtype = eVpeHdrType;
+     stVpeChannelInfo.bRotation = FALSE;
++    stVpeChannelInfo.eBindSensorId = E_MI_VPE_SENSOR0;
+     STCHECKRESULT(ST_Vpe_CreateChannel(0, &stVpeChannelInfo));
+     STCHECKRESULT(ST_Vpe_StartChannel(0)); // ch 0,1,2
+     memset(&stBindInfo, 0x0, sizeof(ST_Sys_BindInfo_T));
diff --git a/building.sh b/building.sh
index 873e21d5..337e4ef8 100755
--- a/building.sh
+++ b/building.sh
@@ -99,6 +99,11 @@ ssc335_goodcam() {
   fresh && make PLATFORM=sigmastar BOARD=unknown_unknown_ssc335_goodcam all && rename
 }
 
+ssc335_musl() {
+  soc="ssc335"
+  fresh && make PLATFORM=sigmastar BOARD=unknown_unknown_ssc335_musl all && rename
+}
+
 ssc335_rotek() {
   soc="ssc335"
   fresh && make PLATFORM=sigmastar BOARD=unknown_unknown_ssc335_rotek all && rename
@@ -124,12 +129,13 @@ xm530() {
 # hi3516ev300                   # OK
 # hi3516ev300_dev               # testing..
 # hi3516ev300_glibc             # testing..
-# hi3516ev300_tehshield         # Partner. Tehshield.
+# hi3516ev300_tehshield         # Tehshield
 #
-# ssc335                        # OK
-ssc335_blackbird              # Partner. Sputnik.
-# ssc335_goodcam                # Partner. GoodCam.
-# ssc335_rotek                  # Partner. Rotek.
+ssc335                          # OpenIPC
+# ssc335_blackbird              # BlackBird/Sputnik
+# ssc335_goodcam                # GoodCam
+# ssc335_musl                   # Musl
+# ssc335_rotek                  # Rotek
 #
 # xm530                         # OK
 #
diff --git a/general/overlay/etc/init.d/S30modules b/general/overlay/etc/init.d/S10modules
similarity index 100%
rename from general/overlay/etc/init.d/S30modules
rename to general/overlay/etc/init.d/S10modules
diff --git a/general/overlay/etc/init.d/S10mdev b/general/overlay/etc/init.d/S40mdev
similarity index 100%
rename from general/overlay/etc/init.d/S10mdev
rename to general/overlay/etc/init.d/S40mdev
diff --git a/general/package/busybox/busybox.config b/general/package/busybox/busybox.config
index 7856c186..c62c0abb 100644
--- a/general/package/busybox/busybox.config
+++ b/general/package/busybox/busybox.config
@@ -1018,7 +1018,7 @@ CONFIG_PS=y
 # CONFIG_FEATURE_PS_TIME is not set
 # CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
 # CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set
-# CONFIG_PSTREE is not set
+CONFIG_PSTREE=y
 # CONFIG_PWDX is not set
 # CONFIG_SMEMCAP is not set
 CONFIG_BB_SYSCTL=y