From 59b062659aecf322c16c8b212b6f49e9838ed07c Mon Sep 17 00:00:00 2001 From: Igor Zalatov <flyrouter@gmail.com> Date: Mon, 26 Apr 2021 22:15:50 +0300 Subject: [PATCH] Add sigmastar-osdrv-ssc335 --- br-ext-chip-sigmastar/Config.in | 2 +- .../infinity6b0/kernel/ssc335.generic.config | 2 +- .../unknown_unknown_ssc335_openipc_defconfig | 2 +- br-ext-chip-sigmastar/external.mk | 2 +- .../package/sigmastar-osdrv-ssc335/Config.in | 6 + .../files/script/debug_level.sh | 69 ++++++++ .../files/script/load_modules.sh | 159 ++++++++++++++++++ .../sigmastar-osdrv-ssc335.mk | 56 ++++++ 8 files changed, 294 insertions(+), 4 deletions(-) create mode 100644 br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/Config.in create mode 100755 br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/files/script/debug_level.sh create mode 100755 br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/files/script/load_modules.sh create mode 100644 br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/sigmastar-osdrv-ssc335.mk diff --git a/br-ext-chip-sigmastar/Config.in b/br-ext-chip-sigmastar/Config.in index d67506b4..0f30989f 100644 --- a/br-ext-chip-sigmastar/Config.in +++ b/br-ext-chip-sigmastar/Config.in @@ -1,6 +1,6 @@ source "$BR2_EXTERNAL_SIGMASTAR_PATH/linux/Config.ext.in" source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/sigmastar_patcher/Config.in" -#source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/sigmastar-osdrv-ssc335/Config.in" +source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/sigmastar-osdrv-ssc335/Config.in" source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/fwprintenv-ng/Config.in" source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/ipctool/Config.in" source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/libevent-mini/Config.in" diff --git a/br-ext-chip-sigmastar/board/infinity6b0/kernel/ssc335.generic.config b/br-ext-chip-sigmastar/board/infinity6b0/kernel/ssc335.generic.config index 551135a2..c0ae0e95 100644 --- a/br-ext-chip-sigmastar/board/infinity6b0/kernel/ssc335.generic.config +++ b/br-ext-chip-sigmastar/board/infinity6b0/kernel/ssc335.generic.config @@ -1988,7 +1988,7 @@ CONFIG_AUTO_DETECT_WRITE=y CONFIG_MS_SPI_INFINITY=y # CONFIG_CAM_CLK is not set # CONFIG_MS_EMMC is not set -# CONFIG_MS_SDMMC is not set +CONFIG_MS_SDMMC=y CONFIG_MS_EMAC=y # CONFIG_EMAC_SUPPLY_RNG is not set # CONFIG_MSTAR_HW_TX_CHECKSUM 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 12d7341a..ea4b77d5 100644 --- a/br-ext-chip-sigmastar/configs/unknown_unknown_ssc335_openipc_defconfig +++ b/br-ext-chip-sigmastar/configs/unknown_unknown_ssc335_openipc_defconfig @@ -46,7 +46,7 @@ BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches" BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config" BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_FWPRINTENV_NG=y -# BR2_PACKAGE_SIGMASTAR_OSDRV_SSC335 is not set +BR2_PACKAGE_SIGMASTAR_OSDRV_SSC335=y BR2_PACKAGE_IPCTOOL=y BR2_PACKAGE_JSON_C=y BR2_PACKAGE_LAME=y diff --git a/br-ext-chip-sigmastar/external.mk b/br-ext-chip-sigmastar/external.mk index 22bcc1d4..02a5cce8 100644 --- a/br-ext-chip-sigmastar/external.mk +++ b/br-ext-chip-sigmastar/external.mk @@ -1,6 +1,6 @@ include $(BR2_EXTERNAL_SIGMASTAR_PATH)/linux/linux-ext-sigmastar_patcher.mk include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/sigmastar_patcher/sigmastar_patcher.mk -#include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/sigmastar-osdrv-ssc335/sigmastar-osdrv-ssc335.mk +include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/sigmastar-osdrv-ssc335/sigmastar-osdrv-ssc335.mk include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/fwprintenv-ng/fwprintenv-ng.mk include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/ipctool/ipctool.mk include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/libevent-mini/libevent-mini.mk diff --git a/br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/Config.in b/br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/Config.in new file mode 100644 index 00000000..5dc07c85 --- /dev/null +++ b/br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_SIGMASTAR_OSDRV_SSC335 + bool "sigmastar-osdrv-ssc335" + help + sigmastar-osdrv-ssc335 - SigmaStar kernel modules and libs + + https://openipc.org diff --git a/br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/files/script/debug_level.sh b/br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/files/script/debug_level.sh new file mode 100755 index 00000000..845c159a --- /dev/null +++ b/br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/files/script/debug_level.sh @@ -0,0 +1,69 @@ +#!/bin/sh +# +# OpenIPC.org | 2021.04.26 +# + +if [ TEST$2 != "TEST" ]; +then + export level=$2 +else + export level=0 +fi + +echo "$0 $1 $level" + + +set_level() +{ + export DEBUGLEVEL=$1 + echo $DEBUGLEVEL > /proc/mi_modules/mi_ai/debug_level + echo $DEBUGLEVEL > /proc/mi_modules/mi_ao/debug_level + echo $DEBUGLEVEL > /proc/mi_modules/mi_divp/debug_level + echo $DEBUGLEVEL > /proc/mi_modules/mi_rgn/debug_level + echo $DEBUGLEVEL > /proc/mi_modules/mi_sensor/debug_level + echo $DEBUGLEVEL > /proc/mi_modules/mi_shadow/debug_level + echo $DEBUGLEVEL > /proc/mi_modules/mi_sys/debug_level + echo $DEBUGLEVEL > /proc/mi_modules/mi_venc/debug_level + echo $DEBUGLEVEL > /proc/mi_modules/mi_vif/debug_level + echo $DEBUGLEVEL > /proc/mi_modules/mi_vpe/debug_level +} + + +show_level() +{ + export SHELLCMD="cat /proc/mi_modules/mi_ai/debug_level " + echo $SHELLCMD && $SHELLCMD + export SHELLCMD="cat /proc/mi_modules/mi_ao/debug_level " + echo $SHELLCMD && $SHELLCMD + export SHELLCMD="cat /proc/mi_modules/mi_divp/debug_level " + echo $SHELLCMD && $SHELLCMD + export SHELLCMD="cat /proc/mi_modules/mi_rgn/debug_level " + echo $SHELLCMD && $SHELLCMD + export SHELLCMD="cat /proc/mi_modules/mi_sensor/debug_level " + echo $SHELLCMD && $SHELLCMD + export SHELLCMD="cat /proc/mi_modules/mi_shadow/debug_level " + echo $SHELLCMD && $SHELLCMD + export SHELLCMD="cat /proc/mi_modules/mi_sys/debug_level " + echo $SHELLCMD && $SHELLCMD + export SHELLCMD="cat /proc/mi_modules/mi_venc/debug_level " + echo $SHELLCMD && $SHELLCMD + export SHELLCMD="cat /proc/mi_modules/mi_vif/debug_level " + echo $SHELLCMD && $SHELLCMD + export SHELLCMD="cat /proc/mi_modules/mi_vpe/debug_level " + echo $SHELLCMD && $SHELLCMD +} + + +case "$1" in + set) + set_level $level + show_level + ;; + show) + show_level + ;; + *) + echo $"Usage: $0 {set|show}" + exit 1 + ;; +esac diff --git a/br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/files/script/load_modules.sh b/br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/files/script/load_modules.sh new file mode 100755 index 00000000..219a9051 --- /dev/null +++ b/br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/files/script/load_modules.sh @@ -0,0 +1,159 @@ +#!/bin/sh +# +# OpenIPC.org | 2021.04.26 +# +# +# Useage: ./load [ -r|-i|-a ] +# -r : rmmod all modules +# -i : insmod all modules +# default : rmmod all moules and then insmod them +# + +PATH_MODULE=/opt/lib/modules/ + +insert_ko() +{ + insmod ${PATH_MODULE}/mhal.ko + insmod ${PATH_MODULE}/mi_common.ko + + major=$(awk '$2=="mi" {print $1}' /proc/devices) + minor=0 + + insmod ${PATH_MODULE}/mi_sys.ko cmdQBufSize=256 logBufSize=256 + if [ $? -eq 0 ]; then + mknod /dev/mi_sys c $major $minor + let minor++ + fi + + insmod ${PATH_MODULE}/mi_ai.ko + if [ $? -eq 0 ]; then + mknod /dev/mi_ai c $major $minor + let minor++ + fi + + insmod ${PATH_MODULE}/mi_ao.ko + if [ $? -eq 0 ]; then + mknod /dev/mi_ao c $major $minor + let minor++ + fi + + insmod ${PATH_MODULE}/mi_rgn.ko + if [ $? -eq 0 ]; then + mknod /dev/mi_rgn c $major $minor + let minor++ + fi + + insmod ${PATH_MODULE}/mi_divp.ko thread_priority=98 + if [ $? -eq 0 ]; then + mknod /dev/mi_divp c $major $minor + let minor++ + fi + + insmod ${PATH_MODULE}/mi_ipu.ko + if [ $? -eq 0 ]; then + mknod /dev/mi_ipu c $major $minor + let minor++ + fi + + insmod ${PATH_MODULE}/mi_vpe.ko thread_priority=98 + if [ $? -eq 0 ]; then + mknod /dev/mi_vpe c $major $minor + let minor++ + fi + + insmod ${PATH_MODULE}/mi_sensor.ko + if [ $? -eq 0 ]; then + mknod /dev/mi_sensor c $major $minor + let minor++ + fi + + insmod ${PATH_MODULE}/mi_vif.ko thread_priority=98 + if [ $? -eq 0 ]; then + mknod /dev/mi_vif c $major $minor + let minor++ + fi + + insmod ${PATH_MODULE}/mi_venc.ko max_width=2304 max_height=1296 thread_priority=99 + if [ $? -eq 0 ]; then + mknod /dev/mi_venc c $major $minor + let minor++ + fi + + insmod ${PATH_MODULE}/mi_shadow.ko + if [ $? -eq 0 ]; then + mknod /dev/mi_shadow c $major $minor + let minor++ + fi + + major=$(awk '$2=="mi_poll" {print $1}' /proc/devices) + mknod /dev/mi_poll c $major 0 + + echo hvsp2 down /config/iqfile/filter.txt /config/iqfile/filter.txt > /sys/class/mstar/mscl/hvsp + + insmod ${PATH_MODULE}/imx307_MIPI.ko chmap=1 lane_num=2 hdr_lane_num=2 + mdev -s +} + + +remove_ko() +{ + rmmod mhal + rmmod mi_common + rmmod mi_sys + rmmod mi_ai + rmmod mi_ao + rmmod mi_rgn + rmmod mi_divp + rmmod mi_ipu + rmmod mi_vpe + rmmod mi_sensor + rmmod mi_vif + rmmod mi_venc + rmmod mi_shadow + rmmod imx307_MIPI +} + + +if [ "$1" = "-i" ] +then + insert_ko +fi + +if [ "$1" = "-r" ] +then + remove_ko +fi + +if [ $# -eq 0 ] || [ "$1" = "-a" ] +then + remove_ko + insert_ko +fi + + +exit 0 + + + + +) 1280x 720, 30 fps max --> 192function:parese_Cmdline,pCmd_Section:0x3fe0000 +0x1080 [m--] WDR sn lx len:mmap->u32Size:0x7fe0000,but kernel len:0x3fe0000,fail!!!! + +нет ipu + + mi_ai 187375 0 - Live 0xbfb2f000 (PO) + mi_divp 48340 0 - Live 0xbfb1e000 (PO) +mi_disp 93595 0 - Live 0xbfaff000 (PO) +mi_panel 24836 0 - Live 0xbfaf4000 (O) + mi_venc 155868 0 - Live 0xbfac3000 (PO) + mi_vif 39235 0 - Live 0xbfab4000 (PO) +mi_gyro 11246 0 - Live 0xbfaad000 (PO) + mi_shadow 34375 0 - Live 0xbfa9f000 (PO) + mi_vpe 131267 0 - Live 0xbfa76000 (PO) + mi_rgn 74250 2 mi_divp,mi_vpe, Live 0xbfa5d000 (PO) + mi_ao 72914 0 - Live 0xbfa45000 (PO) + mi_sensor 21952 0 - Live 0xbfa3b000 (PO) + mi_sys 411756 12 mi_ai,mi_divp,mi_disp,mi_panel,mi_venc,mi_vif,mi_gyro,mi_shadow,mi_vpe,mi_rgn,mi_ao,mi_sensor, Live 0xbf9c2000 (PO) + mi_common 5599 13 mi_ai,mi_divp,mi_disp,mi_panel,mi_venc,mi_vif,mi_gyro,mi_shadow,mi_vpe,mi_rgn,mi_ao,mi_sensor,mi_sys, Live 0xbf9bd000 (PO) + mhal 1471673 12 mi_ai,mi_divp,mi_disp,mi_panel,mi_venc,mi_vif,mi_gyro,mi_vpe,mi_rgn,mi_ao,mi_sensor,mi_sys, Live 0xbf804000 (PO) +ms_notify 1281 0 - Live 0xbf800000 diff --git a/br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/sigmastar-osdrv-ssc335.mk b/br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/sigmastar-osdrv-ssc335.mk new file mode 100644 index 00000000..285d8670 --- /dev/null +++ b/br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/sigmastar-osdrv-ssc335.mk @@ -0,0 +1,56 @@ +################################################################################ +# +# sigmastar-osdrv-ssc335 +# +################################################################################ + +SIGMASTAR_OSDRV_SSC335_VERSION = +SIGMASTAR_OSDRV_SSC335_SITE = +SIGMASTAR_OSDRV_SSC335_LICENSE = MIT +SIGMASTAR_OSDRV_SSC335_LICENSE_FILES = LICENSE +SIGMASTAR_OSDRV_SSC335_INSTALL_STAGING = YES + + +define SIGMASTAR_OSDRV_SSC335_INSTALL_STAGING_CMDS + $(INSTALL) -m 755 -d $(STAGING_DIR)/usr/include/sigmastar + # $(INSTALL) -m 644 -t $(STAGING_DIR)/usr/include/sigmastar $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/sigmastar-osdrv-ssc335/files/include/* + + # $(INSTALL) -m 755 -d $(BUILD_DIR)/sigmastar-osdrv-ssc335/include + # $(INSTALL) -m 644 -t $(BUILD_DIR)/sigmastar-osdrv-ssc335/include $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/sigmastar-osdrv-ssc335/files/include/* + + # $(INSTALL) -m 755 -d $(BUILD_DIR)/sigmastar-osdrv-ssc335/kmod + # $(INSTALL) -m 644 -t $(BUILD_DIR)/sigmastar-osdrv-ssc335/kmod $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/sigmastar-osdrv-ssc335/files/kmod/*.ko + + # $(INSTALL) -m 755 -d $(BUILD_DIR)/sigmastar-osdrv-ssc335/lib + # $(INSTALL) -m 644 -t $(BUILD_DIR)/sigmastar-osdrv-ssc335/lib $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/sigmastar-osdrv-ssc335/files/lib/*.so +endef + + +define SIGMASTAR_OSDRV_SSC335_INSTALL_TARGET_CMDS + # $(INSTALL) -m 755 -d $(TARGET_DIR)/etc/sensors + # $(INSTALL) -m 644 -t $(TARGET_DIR)/etc/sensors $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/sigmastar-osdrv-ssc335/files/sensor/config/*.ini + + # $(INSTALL) -m 755 -d $(TARGET_DIR)/lib/modules/4.9.x/sigmastar + # $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.x/sigmastar $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/sigmastar-osdrv-ssc335/files/kmod/*.ko + # $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.x/sigmastar $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/sigmastar-osdrv-ssc335/files/kmod/usb/*.ko + + $(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin + $(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/sigmastar-osdrv-ssc335/files/script/* + + # $(INSTALL) -m 755 -d $(TARGET_DIR)/usr/lib/fonts + # $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/fonts $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/sigmastar-osdrv-ssc335/files/fonts/*.bin + + # $(INSTALL) -m 755 -d $(TARGET_DIR)/usr/lib/sensors + # $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/sensors $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/sigmastar-osdrv-ssc335/files/sensor/*.so + + # $(INSTALL) -m 755 -d $(TARGET_DIR)/usr/lib + # $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_SIGMASTAR_PATH)/package/sigmastar-osdrv-ssc335/files/lib/*.so +endef + +$(eval $(generic-package)) + + + + + +