[no ci] Sigmastar: add infinity6c osdrv package

pull/1166/head
Viktor 2023-11-28 01:13:54 +01:00
parent 5d0f86b4e1
commit 0f52ea6660
42 changed files with 220 additions and 222 deletions

View File

@ -641,7 +641,6 @@ CONFIG_MODULE_UNLOAD=y
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_TRIM_UNUSED_KSYMS is not set
CONFIG_BLOCK=y
CONFIG_BLK_SCSI_REQUEST=y
# CONFIG_BLK_DEV_BSG is not set
# CONFIG_BLK_DEV_BSGLIB is not set
# CONFIG_BLK_DEV_INTEGRITY is not set
@ -759,7 +758,10 @@ CONFIG_UNIX_SCM=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
# CONFIG_IP_PNP is not set
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
# CONFIG_IP_PNP_BOOTP is not set
# CONFIG_IP_PNP_RARP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE_DEMUX is not set
# CONFIG_IP_MROUTE is not set
@ -770,9 +772,28 @@ CONFIG_SYN_COOKIES=y
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_DIAG is not set
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=y
# CONFIG_TCP_CONG_CUBIC is not set
CONFIG_TCP_CONG_WESTWOOD=y
# CONFIG_TCP_CONG_HTCP is not set
# CONFIG_TCP_CONG_HSTCP is not set
# CONFIG_TCP_CONG_HYBLA is not set
# CONFIG_TCP_CONG_VEGAS is not set
# CONFIG_TCP_CONG_NV is not set
# CONFIG_TCP_CONG_SCALABLE is not set
# CONFIG_TCP_CONG_LP is not set
# CONFIG_TCP_CONG_VENO is not set
# CONFIG_TCP_CONG_YEAH is not set
# CONFIG_TCP_CONG_ILLINOIS is not set
# CONFIG_TCP_CONG_DCTCP is not set
# CONFIG_TCP_CONG_CDG is not set
CONFIG_TCP_CONG_BBR=y
# CONFIG_DEFAULT_BIC is not set
# CONFIG_DEFAULT_WESTWOOD is not set
CONFIG_DEFAULT_BBR=y
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="bbr"
# CONFIG_TCP_MD5SIG is not set
# CONFIG_IPV6 is not set
# CONFIG_MPTCP is not set
@ -913,7 +934,7 @@ CONFIG_REGMAP_MMIO=y
# CONFIG_CONNECTOR is not set
# CONFIG_GNSS is not set
CONFIG_MTD=y
CONFIG_MTD_TESTS=m
# CONFIG_MTD_TESTS is not set
#
# Partition parsers
@ -1019,7 +1040,17 @@ CONFIG_OF_RESERVED_MEM=y
# CONFIG_OF_OVERLAY is not set
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
# CONFIG_PARPORT is not set
# CONFIG_BLK_DEV is not set
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_NULL_BLK is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=2
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_DRBD is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_BLK_DEV_RBD is not set
#
# NVME Support
@ -1079,40 +1110,9 @@ CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
#
# SCSI device support
#
CONFIG_SCSI_MOD=m
CONFIG_SCSI_MOD=y
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=m
CONFIG_SCSI_DMA=y
CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_SG is not set
# CONFIG_CHR_DEV_SCH is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
# CONFIG_SCSI_SCAN_ASYNC is not set
#
# SCSI Transports
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_SRP_ATTRS is not set
# end of SCSI Transports
CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_ISCSI_BOOT_SYSFS is not set
# CONFIG_SCSI_UFSHCD is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_DH is not set
# CONFIG_SCSI is not set
# end of SCSI device support
# CONFIG_ATA is not set
@ -1120,7 +1120,24 @@ CONFIG_SCSI_LOWLEVEL=y
# CONFIG_TARGET_CORE is not set
CONFIG_NETDEVICES=y
CONFIG_MII=y
# CONFIG_NET_CORE is not set
CONFIG_NET_CORE=y
# CONFIG_BONDING is not set
# CONFIG_DUMMY is not set
# CONFIG_WIREGUARD is not set
# CONFIG_EQUALIZER is not set
# CONFIG_NET_TEAM is not set
# CONFIG_MACVLAN is not set
# CONFIG_IPVLAN is not set
# CONFIG_VXLAN is not set
# CONFIG_GENEVE is not set
# CONFIG_BAREUDP is not set
# CONFIG_GTP is not set
# CONFIG_MACSEC is not set
# CONFIG_NETCONSOLE is not set
CONFIG_TUN=m
# CONFIG_TUN_VNET_CROSS_LE is not set
# CONFIG_VETH is not set
# CONFIG_NLMON is not set
#
# Distributed Switch Architecture drivers
@ -1698,13 +1715,11 @@ CONFIG_USB_EHCI_TT_NEWSCHED=y
#
# also be needed; see USB_STORAGE Help for more info
#
# CONFIG_USB_STORAGE is not set
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USBIP_CORE is not set
# CONFIG_USB_CDNS3 is not set
# CONFIG_USB_MUSB_HDRC is not set
@ -2368,7 +2383,7 @@ CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# CONFIG_LWFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V2=m
# CONFIG_NFS_V2 is not set
CONFIG_NFS_V3=m
# CONFIG_NFS_V3_ACL is not set
# CONFIG_NFS_V4 is not set
@ -2381,14 +2396,7 @@ CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
# CONFIG_SUNRPC_DEBUG is not set
# CONFIG_CEPH_FS is not set
CONFIG_CIFS=m
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
CONFIG_CIFS_WEAK_PW_HASH=y
# CONFIG_CIFS_UPCALL is not set
# CONFIG_CIFS_XATTR is not set
# CONFIG_CIFS_DEBUG is not set
# CONFIG_CIFS_DFS_UPCALL is not set
# CONFIG_CIFS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
CONFIG_NLS=y
@ -2441,7 +2449,7 @@ CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_MAC_INUIT is not set
# CONFIG_NLS_MAC_ROMANIAN is not set
# CONFIG_NLS_MAC_TURKISH is not set
CONFIG_NLS_UTF8=m
CONFIG_NLS_UTF8=y
# CONFIG_DLM is not set
# CONFIG_UNICODE is not set
# end of File systems
@ -2607,7 +2615,7 @@ CONFIG_CRYPTO_AES=y
# CONFIG_CRYPTO_DEFLATE is not set
CONFIG_CRYPTO_LZO=y
# CONFIG_CRYPTO_842 is not set
# CONFIG_CRYPTO_LZ4 is not set
CONFIG_CRYPTO_LZ4=y
# CONFIG_CRYPTO_LZ4HC is not set
# CONFIG_CRYPTO_ZSTD is not set
@ -2631,11 +2639,9 @@ CONFIG_CRYPTO_HASH_INFO=y
# Crypto library routines
#
CONFIG_CRYPTO_LIB_AES=y
CONFIG_CRYPTO_LIB_ARC4=m
# CONFIG_CRYPTO_LIB_BLAKE2S is not set
# CONFIG_CRYPTO_LIB_CHACHA is not set
# CONFIG_CRYPTO_LIB_CURVE25519 is not set
CONFIG_CRYPTO_LIB_DES=m
CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9
# CONFIG_CRYPTO_LIB_POLY1305 is not set
# CONFIG_CRYPTO_LIB_CHACHA20POLY1305 is not set
@ -2694,6 +2700,7 @@ CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_LZ4_COMPRESS=y
CONFIG_LZ4_DECOMPRESS=y
CONFIG_ZSTD_DECOMPRESS=y
CONFIG_XZ_DEC=y
@ -2749,7 +2756,6 @@ CONFIG_OID_REGISTRY=y
CONFIG_HAVE_GENERIC_VDSO=y
CONFIG_GENERIC_GETTIMEOFDAY=y
CONFIG_GENERIC_VDSO_32=y
CONFIG_SG_POOL=y
CONFIG_SBITMAP=y
# CONFIG_STRING_SELFTEST is not set
# end of Library routines

View File

@ -95,6 +95,7 @@ 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_RTL8188FU_OPENIPC is not set
# Debug
# BR2_PACKAGE_HOST_GDB is not set

View File

@ -93,6 +93,7 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/rtw-hostapd/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-motors/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-osdrv-infinity6/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-osdrv-infinity6b0/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-osdrv-infinity6c/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-osdrv-infinity6e/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-osdrv-msc313e/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-osdrv-sensors/Config.in"

View File

@ -1,81 +0,0 @@
#!/bin/sh
# DAY mode
ir_cut_enable() {
# Pin_mux
[ ! -d /sys/class/gpio/gpio$gpio_0 ] && echo "$gpio_0" >/sys/class/gpio/export
[ ! -d /sys/class/gpio/gpio$gpio_1 ] && echo "$gpio_1" >/sys/class/gpio/export
# Dir
echo "out" >/sys/class/gpio/gpio$gpio_0/direction
echo "out" >/sys/class/gpio/gpio$gpio_1/direction
# Data, gpio_1: 0, gpio_0: 1 (day mode)
echo "1" >/sys/class/gpio/gpio$gpio_0/value
echo "0" >/sys/class/gpio/gpio$gpio_1/value
# Sleep 1s
sleep 1
# Back to original
echo "0" >/sys/class/gpio/gpio$gpio_0/value
echo "0" >/sys/class/gpio/gpio$gpio_1/value
}
# NIGHT mode
ir_cut_disable() {
# Pin_mux
[ ! -d /sys/class/gpio/gpio$gpio_0 ] && echo "$gpio_0" >/sys/class/gpio/export
[ ! -d /sys/class/gpio/gpio$gpio_1 ] && echo "$gpio_1" >/sys/class/gpio/export
# Dir
echo "out" >/sys/class/gpio/gpio$gpio_0/direction
echo "out" >/sys/class/gpio/gpio$gpio_1/direction
# Data, gpio_1: 1, gpio_0: 0 (night mode)
echo "0" >/sys/class/gpio/gpio$gpio_0/value
echo "1" >/sys/class/gpio/gpio$gpio_1/value
# Sleep 1s
sleep 1
# Back to original
echo "0" >/sys/class/gpio/gpio$gpio_0/value
echo "0" >/sys/class/gpio/gpio$gpio_1/value
}
gpio_0=0
gpio_1=0
if [ $# -lt 2 ]; then
echo "Usage: ircut_demo <vendor> <mode>"
echo "For example:"
echo "NIGHT : ircut_demo anjoy 1"
else
if [ $1 = "anjoy" ]; then
gpio_0=78
gpio_1=79
elif [ $1 = "brovotech" ]; then
gpio_0=78
gpio_1=79
elif [ $1 = "gospell" ]; then
gpio_0=78
gpio_1=79
elif [ $1 = "uniview" ]; then
gpio_0=78
gpio_1=79
else
echo -e "Wrong vendor name: $1\nPlease select: anjoy, brovotech, gospell, uniview"
exit
fi
if [ $2 -eq 0 ]; then
echo "DAY mode, ir_cut on"
ir_cut_enable >/dev/null
elif [ $2 -eq 1 ]; then
echo "NIGHT mode, ir_cut off"
ir_cut_disable >/dev/null
else
echo "Invalid mode, please slect 0 or 1"
fi
fi

View File

@ -0,0 +1,5 @@
config BR2_PACKAGE_SIGMASTAR_OSDRV_INFINITY6C
bool "sigmastar-osdrv-infinity6c"
select BR2_PACKAGE_SIGMASTAR_OSDRV_SENSORS
help
Sigmastar infinity6c kernel modules

View File

@ -0,0 +1,36 @@
{
"mi_fb": {
"fb_device_disp_path": [
{
"fb_hwlayer_id": 2,
"fb_hwwin_id": 0,
"fb_hwlayer_dst": 3,
"fb_hwwin_format": 5,
"fb_hwlayer_outputcolor": 0,
"fb_width": 1024,
"fb_height": 600,
"fb_timing_width": 1024,
"fb_timing_height": 600,
"fb_mmap_name": "E_MMAP_ID_FB",
"fb_buffer_len": 8192
}
],
"fb_device_video_path": [
{
"fb_buf_id_path": {
"fb_gwin_id": 7,
"fb_mod": 34,
"fb_dev": 1,
"fb_chn": 0,
"fb_port": 0
},
"fb_hwwin_format": 6,
"fb_width": 1920,
"fb_height": 1080,
"fb_timing_width": 1920,
"fb_timing_height": 1080,
"fb_buf_cnt": 3
}
]
}
}

View File

@ -0,0 +1,24 @@
{
"E_MI_MODULE_ID_SYS" :
{
"cmdQBufSize" : 400
},
"E_MI_MODULE_ID_DISP" :
{
"threadPriority" : 98,
"debugFilePath" : "",
"u64CpuMaskAffinity" : "0x0"
},
"E_MI_MODULE_ID_MIPITX" :
{
"threadPriority" : 70
},
"E_MI_MODULE_ID_PANEL" :
{
"debugFilePath" : ""
},
"E_MI_MODULE_ID_FB" :
{
"default_reserved_mem_name": "fb"
}
}

View File

@ -0,0 +1,61 @@
#!/bin/sh
#
# OpenIPC.org | 2023.11.01
#
PATH_MODULE=/lib/modules/5.10.61/sigmastar
PATH_SENSOR=${PATH_MODULE}/sensor
SENSOR=$(fw_printenv -n sensor)
detect_sensor() {
#devmem 0x1F2079A4 16 0x0111
#devmem 0x1F207188 16 0x0001
#devmem 0x1F2608FC 16 0x0003
SENSOR=$(ipcinfo -s)
fw_setenv sensor ${SENSOR}
}
set_sensor() {
case ${SENSOR} in
sc401ai)
insmod ${PATH_SENSOR}/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 ${PATH_MODULE}/mi_common.ko g_ModParamPath=${PATH_MODULE}/param.json config_json_path=/${PATH_MODULE}/config.json
insmod ${PATH_MODULE}/mi_isp.ko
insmod ${PATH_MODULE}/mi_rgn.ko
insmod ${PATH_MODULE}/mi_sensor.ko
insmod ${PATH_MODULE}/mi_sys.ko
insmod ${PATH_MODULE}/mi_vcodec.ko drv_codec40_common.fw_load_path=/etc/firmware/chagall.bin
insmod ${PATH_MODULE}/mi_venc.ko
insmod ${PATH_MODULE}/mi_vif.ko
major=$(awk '$2=="mi_poll" {print $1}' /proc/devices)
mknod /dev/mi_poll c $major 0
echo isproot /etc/firmware > /dev/ispmid
}
if [ ! -e /dev/mi_poll ]; then
insert_ko
fi
if [ -z ${SENSOR} ]; then
echo -e "\n\e[1;33mAutodetect sensor\e[0m\n" | logger -s -t OpenIPC
detect_sensor
fi
if [ -z ${SENSOR} ]; then
echo -e "\n\e[1;31mSensor parameter MISSING\e[0m\n" | logger -s -t OpenIPC
exit 1
else
echo -e "\n\e[1;32mSensor assigned - ${SENSOR}\e[0m\n" | logger -s -t OpenIPC
$(lsmod | grep -q ${SENSOR}) || set_sensor
fi
exit 0

View File

@ -0,0 +1,29 @@
################################################################################
#
# sigmastar-osdrv-infinity6c
#
################################################################################
SIGMASTAR_OSDRV_INFINITY6C_VERSION =
SIGMASTAR_OSDRV_INFINITY6C_SITE =
SIGMASTAR_OSDRV_INFINITY6C_LICENSE = MIT
SIGMASTAR_OSDRV_INFINITY6C_LICENSE_FILES = LICENSE
define SIGMASTAR_OSDRV_INFINITY6C_INSTALL_TARGET_CMDS
$(INSTALL) -m 755 -d $(TARGET_DIR)/lib/modules/5.10.61/sigmastar
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/5.10.61/sigmastar $(SIGMASTAR_OSDRV_INFINITY6C_PKGDIR)/files/kmod/*
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/firmware
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc/firmware $(SIGMASTAR_OSDRV_INFINITY6C_PKGDIR)/files/sensor/firmware/*
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/sensors
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc/sensors $(SIGMASTAR_OSDRV_INFINITY6C_PKGDIR)/files/sensor/configs/*
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/lib
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(SIGMASTAR_OSDRV_INFINITY6C_PKGDIR)/files/lib/*
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(SIGMASTAR_OSDRV_INFINITY6C_PKGDIR)/files/script/*
endef
$(eval $(generic-package))

View File

@ -1,84 +0,0 @@
#!/bin/sh
# DAY mode
ir_cut_enable() {
# Pin_mux
[ ! -d /sys/class/gpio/gpio$gpio_0 ] && echo "$gpio_0" >/sys/class/gpio/export
[ ! -d /sys/class/gpio/gpio$gpio_1 ] && echo "$gpio_1" >/sys/class/gpio/export
# Dir
echo "out" >/sys/class/gpio/gpio$gpio_0/direction
echo "out" >/sys/class/gpio/gpio$gpio_1/direction
# Data, gpio_1: 0, gpio_0: 1 (day mode)
echo "1" >/sys/class/gpio/gpio$gpio_0/value
echo "0" >/sys/class/gpio/gpio$gpio_1/value
# Sleep 1s
sleep 1
# Back to original
echo "0" >/sys/class/gpio/gpio$gpio_0/value
echo "0" >/sys/class/gpio/gpio$gpio_1/value
}
# NIGHT mode
ir_cut_disable() {
# Pin_mux
[ ! -d /sys/class/gpio/gpio$gpio_0 ] && echo "$gpio_0" >/sys/class/gpio/export
[ ! -d /sys/class/gpio/gpio$gpio_1 ] && echo "$gpio_1" >/sys/class/gpio/export
# Dir
echo "out" >/sys/class/gpio/gpio$gpio_0/direction
echo "out" >/sys/class/gpio/gpio$gpio_1/direction
# Data, gpio_1: 1, gpio_0: 0 (night mode)
echo "0" >/sys/class/gpio/gpio$gpio_0/value
echo "1" >/sys/class/gpio/gpio$gpio_1/value
# Sleep 1s
sleep 1
# Back to original
echo "0" >/sys/class/gpio/gpio$gpio_0/value
echo "0" >/sys/class/gpio/gpio$gpio_1/value
}
gpio_0=0
gpio_1=0
if [ $# -lt 2 ]; then
echo "Usage: ircut_demo <vendor> <mode>"
echo "For example:"
echo "NIGHT: ircut_demo anjoy 1"
else
if [ $1 = "anjoy" ]; then
gpio_0=78
gpio_1=79
elif [ $1 = "brovotech" ]; then
gpio_0=78
gpio_1=79
elif [ $1 = "camhi" ]; then
gpio_0=23
gpio_1=24
elif [ $1 = "gospell" ]; then
gpio_0=78
gpio_1=79
elif [ $1 = "uniview" ]; then
gpio_0=78
gpio_1=79
else
echo -e "Wrong vendor name: $1\nPlease select: anjoy, brovotech, camhi, gospell, uniview"
exit
fi
if [ $2 -eq 0 ]; then
echo "DAY mode, ir_cut on"
ir_cut_enable >/dev/null
elif [ $2 -eq 1 ]; then
echo "NIGHT mode, ir_cut off"
ir_cut_disable >/dev/null
else
echo "Invalid mode, please slect 0 or 1"
fi
fi