From bc7b89f9906f0894460ba34f41e65b68661bd83e Mon Sep 17 00:00:00 2001 From: vanhofen Date: Sun, 13 Nov 2022 23:43:58 +0100 Subject: [PATCH] - add protek4k --- make/environment-box.mk | 20 ++++++++++--------- make/environment-linux.mk | 6 +++--- make/flash-images.mk | 10 +++++----- make/linux-kernel.mk | 3 +++ make/target-blobs.mk | 17 +++++++++++++--- package/graphlcd-base/graphlcd-base.mk | 4 ++++ .../0007-graphlcd-protek4k-conf.patch-custom | 17 ++++++++++++++++ package/init-scripts/init-scripts.mk | 6 +++--- package/sysvinit/sysvinit.mk | 2 +- support/config.example | 3 +++ support/online-update/update.php | 6 ++++++ 11 files changed, 70 insertions(+), 24 deletions(-) create mode 100644 package/graphlcd-base/patches/0007-graphlcd-protek4k-conf.patch-custom diff --git a/make/environment-box.mk b/make/environment-box.mk index 1efa8b40..d89a4fbd 100644 --- a/make/environment-box.mk +++ b/make/environment-box.mk @@ -15,13 +15,13 @@ # - Armbox -------------------------------------------------------------------- -# BOXTYPE + ----- armbox ----- + -# / \ -# BOXSERIES + hd5x + hd6x -# / \ | -# BOXFAMILY bcm7251s bcm7252s + hi3798mv200 + -# / | \ | / | | \ -# BOXMODEL hd51 bre2ze4k h7 e4hdultra hd60 hd61 multibox multiboxse +# BOXTYPE + ------- armbox -------- + +# / \ +# BOXSERIES + --- hd5x --- + hd6x +# / \ | +# BOXFAMILY bcm7251s bcm7252s + hi3798mv200 + +# / | \ / \ / | | \ +# BOXMODEL hd51 bre2ze4k h7 e4hdultra protek4k hd60 hd61 multibox multiboxse # BOXTYPE armbox + ------ + ---- + -------- + ------- + ---- + # / | \ \ \ \ \ @@ -169,7 +169,7 @@ else ifneq ($(BOXMODEL),) BOXTYPE = armbox BOXSERIES = hd5x BOXFAMILY = bcm7251s - else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),e4hdultra)) + else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),e4hdultra protek4k)) BOXTYPE = armbox BOXSERIES = hd5x BOXFAMILY = bcm7252s @@ -245,6 +245,8 @@ else ifeq ($(BOXMODEL),h7) BOXNAME = "Air Digital Zgemma H7" else ifeq ($(BOXMODEL),e4hdultra) BOXNAME = "AXAS E4HD 4K Ultra" +else ifeq ($(BOXMODEL),protek4k) + BOXNAME = "Protek 4K UHD" else ifeq ($(BOXMODEL),hd60) BOXNAME = "AX/Mut@nt HD60" else ifeq ($(BOXMODEL),hd61) @@ -273,7 +275,7 @@ endif BOXMODELS = nevis apollo shiner kronos kronos_v2 BOXMODELS += hd51 bre2ze4k h7 -BOXMODELS += e4hdultra +BOXMODELS += e4hdultra protek4k BOXMODELS += hd60 hd61 multibox multiboxse BOXMODELS += vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse BOXMODELS += vuduo diff --git a/make/environment-linux.mk b/make/environment-linux.mk index bad1fd92..5a357032 100644 --- a/make/environment-linux.mk +++ b/make/environment-linux.mk @@ -27,7 +27,7 @@ else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),apollo shiner kronos kronos_v2)) KERNEL_CONFIG = $(PKG_FILES_DIR)/kernel-kronos.defconfig endif -else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra)) +else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra protek4k)) KERNEL_VERSION = 4.10.12 KERNEL_DIR = linux-$(KERNEL_VERSION) KERNEL_SOURCE = linux-$(KERNEL_VERSION)-arm.tar.gz @@ -35,7 +35,7 @@ else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra)) KERNEL_BRANCH = $(empty) KERNEL_DTB = $(KERNEL_OBJ_DIR)/arch/$(TARGET_ARCH)/boot/dts/bcm7445-bcm97445svmb.dtb -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),e4hdultra)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),e4hdultra protek4k)) KERNEL_CONFIG = $(PKG_FILES_DIR)/kernel-hd5x-e4hdultra.defconfig else KERNEL_CONFIG = $(PKG_FILES_DIR)/kernel-hd5x.defconfig @@ -243,7 +243,7 @@ endif KERNEL_MAKE_TARGETS = $(KERNEL_IMAGE) # build also the kernel-dtb for arm-hd5x and arm-hd6x -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra hd60 hd61 multibox multiboxse)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra protek4k hd60 hd61 multibox multiboxse)) KERNEL_MAKE_TARGETS += $(notdir $(KERNEL_DTB)) endif diff --git a/make/flash-images.mk b/make/flash-images.mk index 98676983..56af73f9 100644 --- a/make/flash-images.mk +++ b/make/flash-images.mk @@ -63,7 +63,7 @@ ifeq ($(BOXMODEL),$(filter $(BOXMODEL),apollo shiner)) make flash-image-coolstream ERASE_SIZE=0x40000 IMAGE_SUFFIX=$(BOXTYPE_SC)-apollo BOXNAME="Tank" make flash-image-coolstream ERASE_SIZE=0x20000 IMAGE_SUFFIX=$(BOXTYPE_SC)-shiner BOXNAME="Trinity" endif -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra protek4k)) make flash-image-hd5x make flash-image-hd5x-multi endif @@ -135,7 +135,7 @@ flash-image-hd5x: | $(IMAGE_DIR) # ----------------------------------------------------------------------------- -# hd51, bre2ze4k, h7, e4hdultra +# hd51, bre2ze4k, h7, e4hdultra, protek4k HD5X_IMAGE_NAME = disk HD5X_BOOT_IMAGE = boot.img HD5X_IMAGE_LINK = $(HD5X_IMAGE_NAME).ext4 @@ -215,7 +215,7 @@ ifeq ($(IMAGE_LAYOUT),subdirboot) parted -s $(EMMC_IMAGE) unit KiB mkpart storage ext4 $(STORAGE_PARTITION_OFFSET) 100% dd if=/dev/zero of=$(IMAGE_BUILD_DIR)/$(HD5X_BOOT_IMAGE) bs=$(BLOCK_SIZE) count=$(shell expr $(BOOT_PARTITION_SIZE) \* $(BLOCK_SECTOR)) mkfs.msdos -S 512 $(IMAGE_BUILD_DIR)/$(HD5X_BOOT_IMAGE) -ifeq ($(BOXMODEL),e4hdultra) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),e4hdultra protek4k)) echo "boot emmcflash0.linuxkernel 'brcm_cma=504M@264M brcm_cma=192M@768M brcm_cma=1024M@2048M root=/dev/mmcblk0p3 rootsubdir=linuxrootfs1 kernel=/dev/mmcblk0p2 rw rootwait $(BOXMODEL)_4.boxmode=5'" > $(IMAGE_BUILD_DIR)/STARTUP echo "boot emmcflash0.linuxkernel 'brcm_cma=504M@264M brcm_cma=192M@768M brcm_cma=1024M@2048M root=/dev/mmcblk0p3 rootsubdir=linuxrootfs1 kernel=/dev/mmcblk0p2 rw rootwait $(BOXMODEL)_4.boxmode=5'" > $(IMAGE_BUILD_DIR)/STARTUP_1 echo "boot emmcflash0.linuxkernel2 'brcm_cma=504M@264M brcm_cma=192M@768M brcm_cma=1024M@2048M root=/dev/mmcblk0p8 rootsubdir=linuxrootfs2 kernel=/dev/mmcblk0p4 rw rootwait $(BOXMODEL)_4.boxmode=5'" > $(IMAGE_BUILD_DIR)/STARTUP_2 @@ -241,7 +241,7 @@ else # ($(IMAGE_LAYOUT),single) parted -s $(EMMC_IMAGE) unit KiB mkpart storage ext4 $(STORAGE_PARTITION_OFFSET) 100% dd if=/dev/zero of=$(IMAGE_BUILD_DIR)/$(HD5X_BOOT_IMAGE) bs=$(BLOCK_SIZE) count=$(shell expr $(BOOT_PARTITION_SIZE) \* $(BLOCK_SECTOR)) mkfs.msdos -S 512 $(IMAGE_BUILD_DIR)/$(HD5X_BOOT_IMAGE) -ifeq ($(BOXMODEL),e4hdultra) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),e4hdultra protek4k)) echo "boot emmcflash0.kernel1 'brcm_cma=504M@264M brcm_cma=192M@768M brcm_cma=1024M@2048M root=/dev/mmcblk0p3 rw rootwait $(BOXMODEL)_4.boxmode=5'" > $(IMAGE_BUILD_DIR)/STARTUP echo "boot emmcflash0.kernel1 'brcm_cma=504M@264M brcm_cma=192M@768M brcm_cma=1024M@2048M root=/dev/mmcblk0p3 rw rootwait $(BOXMODEL)_4.boxmode=5'" > $(IMAGE_BUILD_DIR)/STARTUP_1 echo "boot emmcflash0.kernel2 'brcm_cma=504M@264M brcm_cma=192M@768M brcm_cma=1024M@2048M root=/dev/mmcblk0p5 rw rootwait $(BOXMODEL)_4.boxmode=5'" > $(IMAGE_BUILD_DIR)/STARTUP_2 @@ -269,7 +269,7 @@ endif $(INSTALL) -d $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR) cp $(EMMC_IMAGE) $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR) cp $(SUPPORT_DIR)/splash-images/ni-splash.bmp $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/splash.bin -ifeq ($(BOXMODEL),e4hdultra) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),e4hdultra protek4k)) cp $(SUPPORT_DIR)/splash-images/lcdflashing_220x176.bmp $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/lcdflashing.bmp endif cp $(KERNEL_ZIMAGE_DTB) $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/kernel.bin diff --git a/make/linux-kernel.mk b/make/linux-kernel.mk index 1462bf32..f18a9e61 100644 --- a/make/linux-kernel.mk +++ b/make/linux-kernel.mk @@ -169,6 +169,9 @@ H7_PATCH = \ E4HDULTRA_PATCH = \ $(GFUTURES_4_10_PATCH) +PROTEK4K_PATCH = \ + $(GFUTURES_4_10_PATCH) + HD60_PATCH = \ $(GFUTURES_4_4_PATCH) diff --git a/make/target-blobs.mk b/make/target-blobs.mk index 69326810..013353e3 100644 --- a/make/target-blobs.mk +++ b/make/target-blobs.mk @@ -8,7 +8,7 @@ blobs: $(BLOBS_DEPENDENCIES) $(MAKE) firmware $(MAKE) $(BOXMODEL)-drivers -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra hd60 hd61 multibox multiboxse vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra protek4k hd60 hd61 multibox multiboxse vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse)) $(MAKE) $(BOXMODEL)-libgles ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61 multibox multiboxse)) $(MAKE) $(BOXMODEL)-libs @@ -63,6 +63,10 @@ E4HDULTRA_DRIVERS_VERSION = 20191101 E4HDULTRA_DRIVERS_SOURCE = e4hd-drivers-$(KERNEL_VERSION)-$(E4HDULTRA_DRIVERS_VERSION).zip E4HDULTRA_DRIVERS_SITE = http://source.mynonpublic.com/ceryon +PROTEK4K_DRIVERS_VERSION = 20191101 +PROTEK4K_DRIVERS_SOURCE = protek4k-drivers-$(KERNEL_VERSION)-$(PROTEK4K_DRIVERS_VERSION).zip +PROTEK4K_DRIVERS_SITE = http://source.mynonpublic.com/ceryon + HD60_DRIVERS_VERSION = 20200731 HD60_DRIVERS_SOURCE = hd60-drivers-$(KERNEL_VERSION)-$(HD60_DRIVERS_VERSION).zip HD60_DRIVERS_SITE = http://source.mynonpublic.com/gfutures @@ -176,7 +180,8 @@ endif hd51-drivers \ bre2ze4k-drivers \ h7-drivers \ -e4hdultra-drivers: $(DL_DIR)/$(BOXMODEL_DRIVERS_SOURCE) | $(TARGET_DIR) +e4hdultra-drivers \ +protek4k-drivers: $(DL_DIR)/$(BOXMODEL_DRIVERS_SOURCE) | $(TARGET_DIR) $(INSTALL) -d $(TARGET_modulesdir)/extra unzip -o $(DL_DIR)/$(BOXMODEL_DRIVERS_SOURCE) -d $(TARGET_modulesdir)/extra $(LINUX_RUN_DEPMOD) @@ -229,6 +234,11 @@ E4HDULTRA_LIBGLES_DIR = $(empty) E4HDULTRA_LIBGLES_SOURCE = 8100s-v3ddriver-$(E4HDULTRA_LIBGLES_VERSION).zip E4HDULTRA_LIBGLES_SITE = https://source.mynonpublic.com/ceryon +PROTEK4K_LIBGLES_VERSION = 20191101 +PROTEK4K_LIBGLES_DIR = $(empty) +PROTEK4K_LIBGLES_SOURCE = 8100s-v3ddriver-$(PROTEK4K_LIBGLES_VERSION).zip +PROTEK4K_LIBGLES_SITE = https://source.mynonpublic.com/ceryon + HD60_LIBGLES_VERSION = 20181201 HD60_LIBGLES_DIR = $(empty) HD60_LIBGLES_SOURCE = hd60-mali-$(HD60_LIBGLES_VERSION).zip @@ -302,7 +312,8 @@ endif hd51-libgles \ bre2ze4k-libgles \ h7-libgles \ -e4hdultra-libgles: $(DL_DIR)/$(BOXMODEL_LIBGLES_SOURCE) | $(TARGET_DIR) +e4hdultra-libgles \ +protek4k-libgles: $(DL_DIR)/$(BOXMODEL_LIBGLES_SOURCE) | $(TARGET_DIR) unzip -o $(DL_DIR)/$(BOXMODEL_LIBGLES_SOURCE) -d $(TARGET_libdir) ln -sf libv3ddriver.so $(TARGET_libdir)/libEGL.so ln -sf libv3ddriver.so $(TARGET_libdir)/libGLESv2.so diff --git a/package/graphlcd-base/graphlcd-base.mk b/package/graphlcd-base/graphlcd-base.mk index 889c9470..a2317318 100644 --- a/package/graphlcd-base/graphlcd-base.mk +++ b/package/graphlcd-base/graphlcd-base.mk @@ -19,6 +19,10 @@ ifeq ($(BOXMODEL),$(filter $(BOXMODEL),e4hdultra)) GRAPHLCD_BASE_PATCH_CUSTOM = 0006-graphlcd-e4hdultra-conf.patch-custom endif +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),protek4k)) +GRAPHLCD_BASE_PATCH_CUSTOM = 0007-graphlcd-protek4k-conf.patch-custom +endif + GRAPHLCD_BASE_MAKE_ENV = \ $(TARGET_CONFIGURE_ENV) diff --git a/package/graphlcd-base/patches/0007-graphlcd-protek4k-conf.patch-custom b/package/graphlcd-base/patches/0007-graphlcd-protek4k-conf.patch-custom new file mode 100644 index 00000000..93e1c1c2 --- /dev/null +++ b/package/graphlcd-base/patches/0007-graphlcd-protek4k-conf.patch-custom @@ -0,0 +1,17 @@ +diff --git a/graphlcd.conf b/graphlcd.conf +index 270cae8..d256e4b 100644 +--- a/graphlcd.conf ++++ b/graphlcd.conf +@@ -117,6 +117,12 @@ + + ######################################################################## + ++[protek4k] ++# Default for protek4k ++Driver=framebuffer ++Device=/dev/fb1 ++Zoom=0 ++ + [ax206dpf] + # THIS IS AN EXPERIMENTAL DRIVER! + # You have to uncomment the variable HAVE_DRIVER_AX206DPF diff --git a/package/init-scripts/init-scripts.mk b/package/init-scripts/init-scripts.mk index 06b71011..763b01be 100644 --- a/package/init-scripts/init-scripts.mk +++ b/package/init-scripts/init-scripts.mk @@ -62,18 +62,18 @@ $(TARGET_sysconfdir)/init.d/hostname: $(INSTALL_EXEC) -D $(INIT_SCRIPTS_FILES_DIR)/hostname.init $(@) $(TARGET_sysconfdir)/init.d/partitions-by-name: -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra hd60 hd61 multiboxse)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra protek4k hd60 hd61 multiboxse)) $(INSTALL_EXEC) -D $(INIT_SCRIPTS_FILES_DIR)/partitions-by-name.init $(@) endif $(TARGET_sysconfdir)/init.d/proc: -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra hd60 hd61 multiboxse vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse vuduo)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra protek4k hd60 hd61 multiboxse vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse vuduo)) $(INSTALL_EXEC) -D $(INIT_SCRIPTS_FILES_DIR)/proc.init $(@) $(UPDATE-RC.D) $(@F) start 90 S . endif $(TARGET_sysconfdir)/init.d/resizerootfs: -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra hd60 hd61 multiboxse)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra protek4k hd60 hd61 multiboxse)) $(INSTALL_EXEC) -D $(INIT_SCRIPTS_FILES_DIR)/resizerootfs.init $(@) endif diff --git a/package/sysvinit/sysvinit.mk b/package/sysvinit/sysvinit.mk index f95b11cc..bdc18297 100644 --- a/package/sysvinit/sysvinit.mk +++ b/package/sysvinit/sysvinit.mk @@ -24,7 +24,7 @@ ifeq ($(BOXMODEL),$(filter $(BOXMODEL),vusolo4k vuduo4k vuduo4kse vuultimo4k vuz define SYSVINIT_INSTALL_RCS $(INSTALL_EXEC) -D $(PKG_FILES_DIR)/rcS-vuplus $(TARGET_sysconfdir)/init.d/rcS endef -else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),e4hdultra)) +else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),e4hdultra protek4k)) define SYSVINIT_INSTALL_RCS $(INSTALL_EXEC) -D $(PKG_FILES_DIR)/rcS-$(BOXSERIES)-e4hdultra $(TARGET_sysconfdir)/init.d/rcS endef diff --git a/support/config.example b/support/config.example index 4caa3a12..0035838a 100644 --- a/support/config.example +++ b/support/config.example @@ -37,6 +37,9 @@ MAINTAINER = $(shell whoami) # AXAS #BOXMODEL = e4hdultra +# Protek +#BOXMODEL = protek4k + # Maxytec #BOXMODEL = multibox #BOXMODEL = multiboxse diff --git a/support/online-update/update.php b/support/online-update/update.php index e82b3c8c..bd0860fc 100644 --- a/support/online-update/update.php +++ b/support/online-update/update.php @@ -53,6 +53,12 @@ if ($revision == 1) // libstb-hal $boxseries = "hd5x"; $boxmodel = "e4hdultra"; } + elseif ($boxname == "protek 4k uhd") + { + $boxtype_sc = "arm"; + $boxseries = "hd5x"; + $boxmodel = "protek4k"; + } elseif ($boxname == "hd60") { $boxtype_sc = "arm";