diff --git a/br-ext-chip-allwinner/Config.in b/br-ext-chip-allwinner/Config.in index 774e5703..d50c5077 100644 --- a/br-ext-chip-allwinner/Config.in +++ b/br-ext-chip-allwinner/Config.in @@ -1,5 +1,5 @@ source "$BR2_EXTERNAL_ALLWINNER_PATH/linux/Config.ext.in" -#source "$BR2_EXTERNAL_ALLWINNER_PATH/package/allwinner-osdrv-v83x/Config.in" +source "$BR2_EXTERNAL_ALLWINNER_PATH/package/allwinner-osdrv-v83x/Config.in" source "$BR2_EXTERNAL_ALLWINNER_PATH/package/allwinner_patcher/Config.in" source "$BR2_EXTERNAL_ALLWINNER_PATH/package/atbm603x/Config.in" source "$BR2_EXTERNAL_ALLWINNER_PATH/package/aura-httpd/Config.in" diff --git a/br-ext-chip-allwinner/board/v83x/kernel/patches/00000-drivers_media_platform_sunxi-vin_modules_sensor_Makefile.patch b/br-ext-chip-allwinner/board/v83x/kernel/patches/00000-drivers_media_platform_sunxi-vin_modules_sensor_Makefile.patch index d97a686e..c44fde6f 100644 --- a/br-ext-chip-allwinner/board/v83x/kernel/patches/00000-drivers_media_platform_sunxi-vin_modules_sensor_Makefile.patch +++ b/br-ext-chip-allwinner/board/v83x/kernel/patches/00000-drivers_media_platform_sunxi-vin_modules_sensor_Makefile.patch @@ -12,21 +12,21 @@ diff -drupN a/drivers/media/platform/sunxi-vin/modules/sensor/Makefile b/drivers +#obj-m += imx274_slvds.o +#obj-m += imx291_dvp.o +#obj-m += imx291_mipi.o -+obj-m += imx317_mipi.o -+obj-m += imx335_mipi.o ++#obj-m += imx317_mipi.o ++#obj-m += imx335_mipi.o +#obj-m += imx326_mipi.o +#obj-m += imx477_mipi.o +#obj-m += ov2710_mipi.o +#obj-m += ov2718_mipi.o +#obj-m += ar0238.o -+obj-m += imx278_mipi.o -+obj-m += imx258_mipi.o -+obj-m += imx386_mipi.o -+obj-m += ov9732_mipi.o ++#obj-m += imx278_mipi.o ++#obj-m += imx258_mipi.o ++#obj-m += imx386_mipi.o ++#obj-m += ov9732_mipi.o +#obj-m += s5k3h5xa.o +#obj-m += ar0238_hispi.o +#obj-m += nvp6134/ +#obj-m += nvp6324/ -+obj-m += tp9950.o -+obj-m += sc2232_mipi.o -+obj-m += gc2053_mipi.o ++#obj-m += tp9950.o ++#obj-m += sc2232_mipi.o ++#obj-m += gc2053_mipi.o diff --git a/br-ext-chip-allwinner/configs/v83x_lite_defconfig b/br-ext-chip-allwinner/configs/v83x_lite_defconfig index b9fd6e10..51de2996 100644 --- a/br-ext-chip-allwinner/configs/v83x_lite_defconfig +++ b/br-ext-chip-allwinner/configs/v83x_lite_defconfig @@ -52,7 +52,7 @@ BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config" BR2_PACKAGE_DROPBEAR_OPENIPC=y # BR2_PACKAGE_FDK_AAC_OPENIPC is not set BR2_PACKAGE_FWPRINTENV_OPENIPC=y -# BR2_PACKAGE_ALLWINNER_OSDRV_V83X=y +BR2_PACKAGE_ALLWINNER_OSDRV_V83X=y BR2_PACKAGE_HASERL=y # BR2_PACKAGE_HISI_GPIO is not set BR2_PACKAGE_IPCTOOL=y diff --git a/br-ext-chip-allwinner/configs/v83x_ultimate_defconfig b/br-ext-chip-allwinner/configs/v83x_ultimate_defconfig index 734f4067..df03e939 100644 --- a/br-ext-chip-allwinner/configs/v83x_ultimate_defconfig +++ b/br-ext-chip-allwinner/configs/v83x_ultimate_defconfig @@ -52,7 +52,7 @@ BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config" BR2_PACKAGE_DROPBEAR_OPENIPC=y # BR2_PACKAGE_FDK_AAC_OPENIPC is not set BR2_PACKAGE_FWPRINTENV_OPENIPC=y -# BR2_PACKAGE_ALLWINNER_OSDRV_V83X=y +BR2_PACKAGE_ALLWINNER_OSDRV_V83X=y BR2_PACKAGE_HASERL=y # BR2_PACKAGE_HISI_GPIO is not set BR2_PACKAGE_IPCTOOL=y diff --git a/br-ext-chip-allwinner/package/allwinner-osdrv-v83x b/br-ext-chip-allwinner/package/allwinner-osdrv-v83x new file mode 120000 index 00000000..7f4a1085 --- /dev/null +++ b/br-ext-chip-allwinner/package/allwinner-osdrv-v83x @@ -0,0 +1 @@ +../../general/package/allwinner-osdrv-v83x \ No newline at end of file diff --git a/general/package/allwinner-osdrv-v83x/Config.in b/general/package/allwinner-osdrv-v83x/Config.in new file mode 100644 index 00000000..699e5323 --- /dev/null +++ b/general/package/allwinner-osdrv-v83x/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_ALLWINNER_OSDRV_V83X + bool "allwinner-osdrv-v83x" + help + allwinner-osdrv-v83x - Allwinner kernel modules and libs + + https://openipc.org diff --git a/general/package/allwinner-osdrv-v83x/allwinner-osdrv-v83x.mk b/general/package/allwinner-osdrv-v83x/allwinner-osdrv-v83x.mk new file mode 100644 index 00000000..81b06dbf --- /dev/null +++ b/general/package/allwinner-osdrv-v83x/allwinner-osdrv-v83x.mk @@ -0,0 +1,34 @@ +################################################################################ +# +# allwinner-osdrv-v83x +# +################################################################################ + +ALLWINNER_OSDRV_V83X_VERSION = +ALLWINNER_OSDRV_V83X_SITE = +ALLWINNER_OSDRV_V83X_LICENSE = MIT +ALLWINNER_OSDRV_V83X_LICENSE_FILES = LICENSE + +define ALLWINNER_OSDRV_V83X_INSTALL_TARGET_CMDS + $(INSTALL) -m 755 -d $(TARGET_DIR)/etc/init.d + # $(INSTALL) -m 755 -t $(TARGET_DIR)/etc/init.d $(BR2_EXTERNAL_ALLWINNER_PATH)/package/allwinner-osdrv-v83x/files/script/S95rockchip + + $(INSTALL) -m 755 -d $(TARGET_DIR)/etc/sensors + # $(INSTALL) -m 644 -t $(TARGET_DIR)/etc/sensors $(BR2_EXTERNAL_ALLWINNER_PATH)/package/allwinner-osdrv-v83x/files/sensor/config/* + + $(INSTALL) -m 755 -d $(TARGET_DIR)/lib/modules/4.9.118/allwinner + # $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.118/allwinner $(BR2_EXTERNAL_ALLWINNER_PATH)/package/allwinner-osdrv-v83x/files/kmod/*.ko + $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.118/allwinner $(BR2_EXTERNAL_ALLWINNER_PATH)/package/allwinner-osdrv-v83x/files/kmod/gc2053_mipi.ko + + $(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin + # $(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(BR2_EXTERNAL_ALLWINNER_PATH)/package/allwinner-osdrv-v83x/files/script/load* + # $(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(BR2_EXTERNAL_ALLWINNER_PATH)/package/allwinner-osdrv-v83x/files/sample/* + + $(INSTALL) -m 755 -d $(TARGET_DIR)/usr/lib/sensors + # $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/sensors $(BR2_EXTERNAL_ALLWINNER_PATH)/package/allwinner-osdrv-v83x/files/sensor/*.so + + $(INSTALL) -m 755 -d $(TARGET_DIR)/usr/lib + # $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_ALLWINNER_PATH)/package/allwinner-osdrv-v83x/files/lib/*.so +endef + +$(eval $(generic-package)) diff --git a/general/package/allwinner-osdrv-v83x/files/kmod/gc2053_mipi.ko b/general/package/allwinner-osdrv-v83x/files/kmod/gc2053_mipi.ko new file mode 100644 index 00000000..5c2d69ed Binary files /dev/null and b/general/package/allwinner-osdrv-v83x/files/kmod/gc2053_mipi.ko differ diff --git a/general/package/allwinner-osdrv-v83x/files/kmod/imx258_mipi.ko b/general/package/allwinner-osdrv-v83x/files/kmod/imx258_mipi.ko new file mode 100644 index 00000000..62955cf5 Binary files /dev/null and b/general/package/allwinner-osdrv-v83x/files/kmod/imx258_mipi.ko differ diff --git a/general/package/allwinner-osdrv-v83x/files/kmod/imx278_mipi.ko b/general/package/allwinner-osdrv-v83x/files/kmod/imx278_mipi.ko new file mode 100644 index 00000000..33c3943f Binary files /dev/null and b/general/package/allwinner-osdrv-v83x/files/kmod/imx278_mipi.ko differ diff --git a/general/package/allwinner-osdrv-v83x/files/kmod/imx317_mipi.ko b/general/package/allwinner-osdrv-v83x/files/kmod/imx317_mipi.ko new file mode 100644 index 00000000..e0afe708 Binary files /dev/null and b/general/package/allwinner-osdrv-v83x/files/kmod/imx317_mipi.ko differ diff --git a/general/package/allwinner-osdrv-v83x/files/kmod/imx335_mipi.ko b/general/package/allwinner-osdrv-v83x/files/kmod/imx335_mipi.ko new file mode 100644 index 00000000..2459cf80 Binary files /dev/null and b/general/package/allwinner-osdrv-v83x/files/kmod/imx335_mipi.ko differ diff --git a/general/package/allwinner-osdrv-v83x/files/kmod/imx386_mipi.ko b/general/package/allwinner-osdrv-v83x/files/kmod/imx386_mipi.ko new file mode 100644 index 00000000..d759b01c Binary files /dev/null and b/general/package/allwinner-osdrv-v83x/files/kmod/imx386_mipi.ko differ diff --git a/general/package/allwinner-osdrv-v83x/files/kmod/ov9732_mipi.ko b/general/package/allwinner-osdrv-v83x/files/kmod/ov9732_mipi.ko new file mode 100644 index 00000000..554204f3 Binary files /dev/null and b/general/package/allwinner-osdrv-v83x/files/kmod/ov9732_mipi.ko differ diff --git a/general/package/allwinner-osdrv-v83x/files/kmod/sc2232_mipi.ko b/general/package/allwinner-osdrv-v83x/files/kmod/sc2232_mipi.ko new file mode 100644 index 00000000..e0025d12 Binary files /dev/null and b/general/package/allwinner-osdrv-v83x/files/kmod/sc2232_mipi.ko differ diff --git a/general/package/allwinner-osdrv-v83x/files/kmod/tp9950.ko b/general/package/allwinner-osdrv-v83x/files/kmod/tp9950.ko new file mode 100644 index 00000000..5b482673 Binary files /dev/null and b/general/package/allwinner-osdrv-v83x/files/kmod/tp9950.ko differ diff --git a/general/package/allwinner-osdrv-v83x/files/lib/.gitkeep b/general/package/allwinner-osdrv-v83x/files/lib/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/general/package/allwinner-osdrv-v83x/files/script/S95allwinner b/general/package/allwinner-osdrv-v83x/files/script/S95allwinner new file mode 100755 index 00000000..66581256 --- /dev/null +++ b/general/package/allwinner-osdrv-v83x/files/script/S95allwinner @@ -0,0 +1,80 @@ +#!/bin/sh + +DAEMON="majestic" +PIDFILE="/var/run/$DAEMON.pid" + +DAEMON_ARGS="-s" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +load_majestic() { + printf 'Starting %s: ' "$DAEMON" + [ -f /usr/bin/$DAEMON ] || echo -en "DISABLED, " + # shellcheck disable=SC2086 # we need the word splitting + [ -f /etc/coredump.conf ] && . /etc/coredump.conf + if [ "$coredump_enabled" ]; then + [ "$(yaml-cli -i /etc/majestic.yaml -g .watchdog.timeout)" -lt "30" ] && yaml-cli -i /etc/majestic.yaml -s .watchdog.timeout 30 + ulimit -c unlimited && echo "|/usr/sbin/sendcoredump.sh" >/proc/sys/kernel/core_pattern + fi + start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/bin/$DAEMON" \ + -- $DAEMON_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +# The daemon does not create a pidfile, and use "-m" to instruct start-stop-daemon to create one. +start() { + logger -s -p daemon.info -t allwinner "Check MAC for allwinner devices" + if [ "$(fw_printenv -n ethaddr)" = "00:00:23:34:45:66" ]; then + logger -s -p daemon.info -t allwinner "The eth0 interface has a lousy MAC, let's try to change it.." + XMMAC="$(ipcinfo --xm-mac)" && [ -n "${XMMAC}" ] && fw_setenv ethaddr ${XMMAC} && reboot -f || logger -s -p daemon.info -t allwinner "It is not possible to install a new MAC on the eth0 interface.." + else + logger -s -p daemon.info -t allwinner "The eth0 interface has a correct MAC - $(fw_printenv -n ethaddr)" + fi + # + logger -s -p daemon.info -t allwinner "Loading of kernel modules and initialization of the video system has started" + export TZ=$(cat /etc/TZ) + #load_allwinner + # + export SENSOR=$(fw_printenv -n sensor) + #load_majestic +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + [ -f /usr/bin/$DAEMON ] || echo -en "DISABLED, " + start-stop-daemon -K -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + rm -f "$PIDFILE" + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + reload +} + +reload() { + load_majestic +} + +case "$1" in + start|stop|restart|reload) + "$1";; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac + diff --git a/general/package/allwinner-osdrv-v83x/files/script/load_allwinner b/general/package/allwinner-osdrv-v83x/files/script/load_allwinner new file mode 100755 index 00000000..e69de29b diff --git a/general/package/allwinner-osdrv-v83x/files/sensor/.gitkeep b/general/package/allwinner-osdrv-v83x/files/sensor/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/general/package/allwinner-osdrv-v83x/files/sensor/config/.gitkeep b/general/package/allwinner-osdrv-v83x/files/sensor/config/.gitkeep new file mode 100644 index 00000000..e69de29b