mirror of
https://github.com/nikdoof/builder.git
synced 2025-12-13 15:42:20 +00:00
Add support Lenovo snowman 1080p camera (#13)
* add-lenovo-snowman-1080p * Correct flavor from lite to ultimate * Delete devices/hi3518ev200_ultimate_lenovo-snowman-1080p/general/overlay/etc/builder.msg * Delete devices/hi3518ev200_ultimate_lenovo-snowman-1080p/general/overlay/etc/wireless/usb * deleted: bin/load_hisilicon moved changes to firmware * Removal from the list deletion of staging modules because in not build anymore * Delete undeeded option and set wlandev env variable * Delete changes, work at default 30fps * Add mux GPIO 37 for audio speaker * Add lite flavor lenovo snowman 1080p * Cosmetic changes * Removal preset sensor --------- Co-authored-by: andrew <andrew@gradient.ru> Co-authored-by: Signor Pellegrino <68112357+FlyRouter@users.noreply.github.com>
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,126 @@
|
||||
# Architecture
|
||||
BR2_arm=y
|
||||
BR2_arm926t=y
|
||||
BR2_ARM_EABI=y
|
||||
# BR2_ARM_INSTRUCTIONS_THUMB is not set
|
||||
BR2_KERNEL_HEADERS_VERSION=y
|
||||
BR2_DEFAULT_KERNEL_VERSION="4.9.37"
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
|
||||
|
||||
# Toolchain
|
||||
BR2_PER_PACKAGE_DIRECTORIES=y
|
||||
BR2_GCC_VERSION_12_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_CXX=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_USE_SSP=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)/kernel/hi3518ev200.generic.config"
|
||||
BR2_LINUX_KERNEL_UIMAGE=y
|
||||
BR2_LINUX_KERNEL_XZ=y
|
||||
|
||||
# OpenIPC
|
||||
BR2_OPENIPC_SOC_VENDOR="hisilicon"
|
||||
BR2_OPENIPC_SOC_MODEL="hi3518ev200"
|
||||
BR2_OPENIPC_SOC_FAMILY="hi3516cv200"
|
||||
BR2_OPENIPC_VARIANT="lite"
|
||||
BR2_OPENIPC_FLASH_SIZE="8"
|
||||
|
||||
# Filesystem
|
||||
# BR2_TARGET_TZ_INFO is not set
|
||||
BR2_TARGET_ROOTFS_CPIO=y
|
||||
BR2_TARGET_ROOTFS_SQUASHFS=y
|
||||
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
|
||||
BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL)/overlay"
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL)/scripts/rootfs_script.sh"
|
||||
|
||||
# OpenIPC configuration
|
||||
BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc"
|
||||
BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC"
|
||||
BR2_TARGET_GENERIC_HOSTNAME="openipc-hi3518ev200"
|
||||
BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL)/package/all-patches"
|
||||
|
||||
# OpenIPC packages
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/package/busybox/busybox.config"
|
||||
BR2_PACKAGE_DROPBEAR_OPENIPC=y
|
||||
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
||||
# BR2_PACKAGE_FDK_AAC_OPENIPC is not set
|
||||
BR2_PACKAGE_UBOOT_TOOLS=y
|
||||
# BR2_PACKAGE_HISI_GPIO is not set
|
||||
BR2_PACKAGE_HISILICON_OSDRV_HI3516CV200=y
|
||||
BR2_PACKAGE_IPCTOOL=y
|
||||
BR2_PACKAGE_JSON_C=y
|
||||
BR2_PACKAGE_JSONFILTER=y
|
||||
BR2_PACKAGE_LIBCURL_OPENIPC=y
|
||||
BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y
|
||||
# BR2_PACKAGE_LIBCURL_OPENIPC_VERBOSE is not set
|
||||
# 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_LIBCURL_OPENIPC_MBEDTLS=y
|
||||
BR2_PACKAGE_LIBEVENT_OPENIPC=y
|
||||
BR2_PACKAGE_LIBEVENT_OPENIPC_REMOVE_PYSCRIPT=y
|
||||
BR2_PACKAGE_LIBOGG_OPENIPC=y
|
||||
BR2_PACKAGE_LIBYAML=y
|
||||
BR2_PACKAGE_MAJESTIC_FONTS=y
|
||||
BR2_PACKAGE_MAJESTIC=y
|
||||
BR2_PACKAGE_MBEDTLS_OPENIPC=y
|
||||
# BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set
|
||||
# BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set
|
||||
BR2_PACKAGE_WEBUI=y
|
||||
# BR2_PACKAGE_MINI_SNMPD is not set
|
||||
# BR2_PACKAGE_MOTORS is not set
|
||||
BR2_PACKAGE_OPUS_OPENIPC=y
|
||||
BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y
|
||||
# BR2_PACKAGE_SSHPASS is not set
|
||||
# BR2_PACKAGE_UACME_OPENIPC is not set
|
||||
BR2_PACKAGE_VTUND_OPENIPC=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_OPENIPC is not set
|
||||
# BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U is not set
|
||||
# BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_RTL_8188EU is not set
|
||||
# BR2_PACKAGE_RTL8188EU is not set
|
||||
BR2_PACKAGE_RTL8188EUS_OPENIPC=y
|
||||
# BR2_PACKAGE_RTL8188FU_OPENIPC is not set
|
||||
|
||||
# WIREGUARD
|
||||
BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
|
||||
BR2_PACKAGE_WIREGUARD_TOOLS=y
|
||||
|
||||
# DEBUG
|
||||
# BR2_PACKAGE_HOST_GDB is not set
|
||||
# BR2_PACKAGE_GDB is not set
|
||||
|
||||
# CCACHE
|
||||
BR2_CCACHE=y
|
||||
BR2_CCACHE_DIR="$(HOME)/.ccache"
|
||||
|
||||
# Compression
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
|
||||
# External
|
||||
BR2_TOOLCHAIN_EXTERNAL=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-musleabi"
|
||||
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/openipc/firmware/releases/download/$(OPENIPC_TOOLCHAIN).tgz"
|
||||
@@ -0,0 +1,19 @@
|
||||
#!/bin/sh
|
||||
|
||||
# load vendor specific drivers
|
||||
vendor=$(ipcinfo -v)
|
||||
|
||||
log_vendor() {
|
||||
logger -s -p daemon.info -t ${vendor} "$1"
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
[ "${vendor}" = "goke" ] || [ "${vendor}" = "hisilicon" ] && status=$(check_mac)
|
||||
[ -n "${status}" ] && log_vendor "${status}"
|
||||
# mux GPIO37 for speaker
|
||||
devmem 0x200f0068 32 0x0
|
||||
echo -e '\nLoading of kernel modules...'
|
||||
load_${vendor} -i
|
||||
;;
|
||||
esac
|
||||
93
devices/hi3518ev200_lite_lenovo-snowman-1080p/general/overlay/usr/sbin/light
Executable file
93
devices/hi3518ev200_lite_lenovo-snowman-1080p/general/overlay/usr/sbin/light
Executable file
@@ -0,0 +1,93 @@
|
||||
#!/bin/sh
|
||||
|
||||
GPIO_RED=48
|
||||
GPIO_GREEN=47
|
||||
GPIO_BLUE=49
|
||||
|
||||
help() {
|
||||
echo -e "\n================= LIGHT usage =================\n"
|
||||
echo -e "Set the colour of the status light\n"
|
||||
echo -e "light <off|red|green|blue|yellow|magenta|cyan|white>\n"
|
||||
}
|
||||
|
||||
setRed() {
|
||||
if [ -n "$GPIO_RED" ]; then
|
||||
[ $1 -eq 1 ] && gpio set "$GPIO_RED" || gpio clear "$GPIO_RED"
|
||||
else
|
||||
echo "[INFO] Status Lights: Red GPIO undefined in /usr/sbin/light" > /dev/kmsg
|
||||
fi
|
||||
}
|
||||
|
||||
setGreen() {
|
||||
if [ -n "$GPIO_GREEN" ]; then
|
||||
[ $1 -eq 1 ] && gpio set "$GPIO_GREEN" || gpio clear "$GPIO_GREEN"
|
||||
else
|
||||
echo "[INFO] Status Lights: Green GPIO undefined in /usr/sbin/light" > /dev/kmsg
|
||||
fi
|
||||
}
|
||||
|
||||
setBlue() {
|
||||
if [ -n "$GPIO_BLUE" ]; then
|
||||
[ $1 -eq 1 ] && gpio set "$GPIO_BLUE" || gpio clear "$GPIO_BLUE"
|
||||
else
|
||||
echo "[INFO] Status Lights: Blue GPIO undefined in /usr/sbin/light" > /dev/kmsg
|
||||
fi
|
||||
}
|
||||
|
||||
if [ -n $1 ]; then
|
||||
case $1 in
|
||||
off)
|
||||
setRed 1
|
||||
setGreen 1
|
||||
setBlue 1
|
||||
;;
|
||||
|
||||
red)
|
||||
setRed 0
|
||||
setGreen 1
|
||||
setBlue 1
|
||||
;;
|
||||
|
||||
green)
|
||||
setRed 1
|
||||
setGreen 0
|
||||
setBlue 1
|
||||
;;
|
||||
|
||||
blue)
|
||||
setRed 1
|
||||
setGreen 1
|
||||
setBlue 0
|
||||
;;
|
||||
|
||||
yellow)
|
||||
setRed 0
|
||||
setGreen 0
|
||||
setBlue 1
|
||||
;;
|
||||
|
||||
magenta|purple)
|
||||
setRed 0
|
||||
setGreen 1
|
||||
setBlue 0
|
||||
;;
|
||||
|
||||
cyan)
|
||||
setRed 1
|
||||
setGreen 0
|
||||
setBlue 0
|
||||
;;
|
||||
|
||||
white)
|
||||
setRed 0
|
||||
setGreen 0
|
||||
setBlue 0
|
||||
;;
|
||||
|
||||
*)
|
||||
help
|
||||
;;
|
||||
esac
|
||||
else
|
||||
help
|
||||
fi
|
||||
@@ -0,0 +1,32 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Set Reset switch GPIO
|
||||
GPIO=3
|
||||
|
||||
[ -z $GPIO ] && echo "GPIO pin for resetd is not set" && echo "[resetd] GPIO undefined in /usr/sbin/resetd" > /dev/kmsg && exit
|
||||
|
||||
# Counter for button press until reset
|
||||
count=0
|
||||
|
||||
# prepare the pin
|
||||
if [ ! -d /sys/class/gpio/gpio${GPIO} ]; then
|
||||
echo "${GPIO}" > /sys/class/gpio/export
|
||||
echo "in" > /sys/class/gpio/gpio"${GPIO}"/direction
|
||||
fi
|
||||
|
||||
# continuously monitor current value of reset switch
|
||||
while [ true ]; do
|
||||
if [ "$(cat /sys/class/gpio/gpio"${GPIO}"/value)" -eq 1 ]; then
|
||||
count=0
|
||||
else
|
||||
count=$((count+1))
|
||||
|
||||
# 20 counts =~ 5 seconds @ 0.25 sleep intervals
|
||||
if [ $count -eq 20 ]; then
|
||||
echo 'RESETTING FIRMWARE'
|
||||
firstboot
|
||||
fi
|
||||
fi
|
||||
# This interval uses 1% CPU. Less sleep = more CPU
|
||||
sleep 0.25
|
||||
done
|
||||
@@ -0,0 +1,23 @@
|
||||
#!/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/hi3518ev200_lite_lenovo-snowman-1080p-nor.tgz'
|
||||
fw_setenv wlandev 'rtl8188eus-hi3518ev200-lenovo'
|
||||
#
|
||||
#
|
||||
# Set custom majestic settings
|
||||
#
|
||||
cli -s .system.staticDir /var/www/majestic
|
||||
cli -s .nightMode.enabled true
|
||||
cli -s .nightMode.irCutPin1 33
|
||||
cli -s .nightMode.irCutSingleInvert true
|
||||
cli -s .nightMode.backlightPin 50
|
||||
cli -s .audio.speakerPin 37
|
||||
|
||||
#
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,52 @@
|
||||
/etc/sensors/ar0130_i2c_720p.ini
|
||||
/etc/sensors/gc1034_i2c_720p.ini
|
||||
/etc/sensors/imx222_i2c_1080p.ini
|
||||
/etc/sensors/imx222_i2c_720p.ini
|
||||
/etc/sensors/imx291_i2c_lvds_1080p.ini
|
||||
/etc/sensors/imx323_i2c_dc_1080p.ini
|
||||
/etc/sensors/imx323_spi_dc_1080p.ini
|
||||
/etc/sensors/jxf22_i2c_1080p.ini
|
||||
/etc/sensors/jxf23_i2c_1080p.ini
|
||||
/etc/sensors/jxh62_i2c_720p.ini
|
||||
/etc/sensors/jxh65_i2c_960p.ini
|
||||
/etc/sensors/ov2735_i2c_1080p.ini
|
||||
/etc/sensors/ov9712_i2c_720p.ini
|
||||
/etc/sensors/ov9732_i2c_720p.ini
|
||||
/etc/sensors/ov9750_i2c_960p.ini
|
||||
/etc/sensors/sc1135_i2c_720p.ini
|
||||
/etc/sensors/sc1145_i2c_720p.ini
|
||||
/etc/sensors/sc1235_i2c_dc_960p.ini
|
||||
/etc/sensors/sc2135_i2c_1080p.ini
|
||||
/etc/sensors/sc2235_i2c_dc_1080p.ini
|
||||
/etc/sensors/ar0237_i2c_dc_1080p.ini
|
||||
#
|
||||
/etc/sensors/iq/ar0230.ini
|
||||
/etc/sensors/iq/imx222.ini
|
||||
/etc/sensors/iq/ov9732.ini
|
||||
/etc/sensors/iq/ov9750.ini
|
||||
#
|
||||
/usr/lib/sensors/libsns_ar0130.so
|
||||
/usr/lib/sensors/libsns_gc1034.so
|
||||
/usr/lib/sensors/libsns_gc2023.so
|
||||
/usr/lib/sensors/libsns_imx122.so
|
||||
/usr/lib/sensors/libsns_imx222.so
|
||||
/usr/lib/sensors/libsns_imx291.so
|
||||
/usr/lib/sensors/libsns_imx323_i2c_dc.so
|
||||
/usr/lib/sensors/libsns_imx323_i2c_dc_v1.so
|
||||
/usr/lib/sensors/libsns_jxf22.so
|
||||
/usr/lib/sensors/libsns_jxf23.so
|
||||
/usr/lib/sensors/libsns_jxh62.so
|
||||
/usr/lib/sensors/libsns_jxh65.so
|
||||
/usr/lib/sensors/libsns_mn34222.so
|
||||
/usr/lib/sensors/libsns_ov2718.so
|
||||
/usr/lib/sensors/libsns_ov2735.so
|
||||
/usr/lib/sensors/libsns_ov9712.so
|
||||
/usr/lib/sensors/libsns_ov9732.so
|
||||
/usr/lib/sensors/libsns_ov9750.so
|
||||
/usr/lib/sensors/libsns_ov9752.so
|
||||
/usr/lib/sensors/libsns_sc1135.so
|
||||
/usr/lib/sensors/libsns_sc1145.so
|
||||
/usr/lib/sensors/libsns_sc1235.so
|
||||
/usr/lib/sensors/libsns_sc2135.so
|
||||
/usr/lib/sensors/libsns_sc2235.so
|
||||
#
|
||||
Reference in New Issue
Block a user