Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Architecture
BR2_arm=y
BR2_cortex_a35=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-musleabihf"
BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_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)/infinity6c-ssc027a.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_WIREGUARD_LINUX_COMPAT=y
BR2_PACKAGE_WIREGUARD_TOOLS=y
BR2_PACKAGE_WIRELESS_REGDB=y
BR2_PACKAGE_WIRELESS_TOOLS=y
BR2_PACKAGE_WPA_SUPPLICANT=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="ssc377"
BR2_OPENIPC_SOC_FAMILY="infinity6c"
BR2_OPENIPC_VARIANT="lite"
BR2_OPENIPC_FLASH_SIZE="8"

# 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_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_RTL8188FU_OPENIPC=y
BR2_PACKAGE_SIGMASTAR_OSDRV_INFINITY6C=y
BR2_PACKAGE_VTUND_OPENIPC=y
BR2_PACKAGE_YAML_CLI=y
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/sh

set_gpio() {
[ "$2" -eq 1 ] && gpio set $1 || gpio clear $1
sleep 1
}

# SSC377 Tapo C120 v1
if [ "$1" = " rtl8188fu-ssc377-tapo-c120" ]; then
set_gpio 42 1
modprobe 8188fu
exit 0
fi

exit 1
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#!/bin/sh
#
# Perform basic settings on a known IP camera
#
#
# Set custom upgrade url
#
fw_setenv upgrade 'https://github.com/OpenIPC/builder/releases/download/latest/ssc377_lite_tp-link-tapo-c120-v1-nor.tgz'
#
#
# Set custom majestic settings
#
cli -s .nightMode.irCutPin1 81
cli -s .nightMode.irCutSingleInvert true
cli -s .nightMode.backlightPin 14
cli -s .nightMode.colorToGray true
cli -s .video0.codec h264
cli -s .video0.fps 25
cli -s .audio.speakerPin 43
cli -s .audio.srate 48000
cli -s .audio.codec pcm
cli -s .audio.enabled false
cli -s .audio.volume 0
cli -s .audio.outputEnabled true
cli -s .audio.outputVolume 60
#
#
# Set wlan device and credentials if need
#
fw_setenv wlandev rtl8188fu-ssc377-tapo-c120
#fw_setenv wlanssid Router
#fw_setenv wlanpass 12345678

exit 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
alarm_in=-1
alarm_out=-1
button=0
ircut1=81
ircut2=-1
led1=10 # red
led2=11 # green
led3=14 # white
light_ir=12
light_wl=-1
light_sensor=-1
mmc_pwr=-1
speaker=43
usb=-1
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh
. /usr/share/openipc/gpio.conf

Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
#!/bin/sh
#
# OpenIPC.org | 2024
#

MODULE=/lib/modules/5.10.61/sigmastar
SENSOR=$(fw_printenv -n sensor)

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)
fw_setenv sensor "$SENSOR"
}

set_sensor() {
case $SENSOR in
gc4653|imx335|imx415|os04a10|sc4336p|sc401ai|sc430ai|sc501ai|sc830ai|sc850sl)
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/mi.ko drv_codec40_common.fw_load_path=/etc/firmware/chagall.bin
echo isproot /etc/firmware > /dev/ispmid
}

if [ ! -e /sys/module/mi_common ]; then
insert_ko
fi

if [ -z "$1" ] || [ -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
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

exit 0