From 6b91ad80018e345b5e088e4ca65c65c3cf236c95 Mon Sep 17 00:00:00 2001 From: kszaq Date: Sat, 3 Mar 2018 22:45:37 +0100 Subject: [PATCH 1/3] crazycat: fix building for Amlogic devices using 3.10 kernel Recently introduced patches to include drivers for internal DVB modules can't be used with 3.10 devices. Fix this by providing separate patch directory. --- .../dvb/crazycat/package.mk | 6 ++++-- ...ycat-01-add-AML-specific-to-backports.patch | 13 +++++++++++++ ...river.dvb.crazycat-02-media_build-fix.patch | 0 ...b.crazycat-03-frame_vector_workaround.patch | 0 .../driver.dvb.crazycat-04-AML-hacks.patch | 18 ++++++++++++++++++ ...ycat-01-add-AML-specific-to-backports.patch | 0 ...river.dvb.crazycat-02-media_build-fix.patch | 11 +++++++++++ ...b.crazycat-03-frame_vector_workaround.patch | 12 ++++++++++++ .../driver.dvb.crazycat-04-AML-hacks.patch | 0 .../driver.dvb.crazycat-05-compat_h-fix.patch | 0 10 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.10/driver.dvb.crazycat-01-add-AML-specific-to-backports.patch rename packages/linux-driver-addons/dvb/crazycat/patches/{amlogic => amlogic-3.10}/driver.dvb.crazycat-02-media_build-fix.patch (100%) rename packages/linux-driver-addons/dvb/crazycat/patches/{amlogic => amlogic-3.10}/driver.dvb.crazycat-03-frame_vector_workaround.patch (100%) create mode 100644 packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.10/driver.dvb.crazycat-04-AML-hacks.patch rename packages/linux-driver-addons/dvb/crazycat/patches/{amlogic => amlogic-3.14}/driver.dvb.crazycat-01-add-AML-specific-to-backports.patch (100%) create mode 100644 packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.14/driver.dvb.crazycat-02-media_build-fix.patch create mode 100644 packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.14/driver.dvb.crazycat-03-frame_vector_workaround.patch rename packages/linux-driver-addons/dvb/crazycat/patches/{amlogic => amlogic-3.14}/driver.dvb.crazycat-04-AML-hacks.patch (100%) rename packages/linux-driver-addons/dvb/crazycat/patches/{amlogic => amlogic-3.14}/driver.dvb.crazycat-05-compat_h-fix.patch (100%) diff --git a/packages/linux-driver-addons/dvb/crazycat/package.mk b/packages/linux-driver-addons/dvb/crazycat/package.mk index 72b12e1a79..53aa3fab18 100644 --- a/packages/linux-driver-addons/dvb/crazycat/package.mk +++ b/packages/linux-driver-addons/dvb/crazycat/package.mk @@ -35,8 +35,10 @@ PKG_ADDON_NAME="DVB drivers for TBS (CrazyCat)" PKG_ADDON_TYPE="xbmc.service" PKG_ADDON_VERSION="${ADDON_VERSION}.${PKG_REV}" -if [ $LINUX = "amlogic-3.14" -o $LINUX = "amlogic-3.10" ]; then - PKG_PATCH_DIRS="amlogic" +if [ $LINUX = "amlogic-3.10" ]; then + PKG_PATCH_DIRS="amlogic-3.10" +elif [ $LINUX = "amlogic-3.14" ]; then + PKG_PATCH_DIRS="amlogic-3.14" fi pre_make_target() { diff --git a/packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.10/driver.dvb.crazycat-01-add-AML-specific-to-backports.patch b/packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.10/driver.dvb.crazycat-01-add-AML-specific-to-backports.patch new file mode 100644 index 0000000000..93a0c5f378 --- /dev/null +++ b/packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.10/driver.dvb.crazycat-01-add-AML-specific-to-backports.patch @@ -0,0 +1,13 @@ +diff -Naur a/backports/backports.txt b/backports/backports.txt +--- a/backports/backports.txt 2017-12-30 22:14:58.000000000 +0200 ++++ b/backports/backports.txt 2018-02-23 13:50:01.327967293 +0200 +@@ -21,6 +21,9 @@ + + # All supported versions need those patches + [9.255.255] ++add linux-301-AML-videobuf-resource.patch ++add linux-302-AML-amlogic-video-dev.patch ++add linux-303-AML-meson-ir.patch + add api_version.patch + add pr_fmt.patch + add debug.patch diff --git a/packages/linux-driver-addons/dvb/crazycat/patches/amlogic/driver.dvb.crazycat-02-media_build-fix.patch b/packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.10/driver.dvb.crazycat-02-media_build-fix.patch similarity index 100% rename from packages/linux-driver-addons/dvb/crazycat/patches/amlogic/driver.dvb.crazycat-02-media_build-fix.patch rename to packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.10/driver.dvb.crazycat-02-media_build-fix.patch diff --git a/packages/linux-driver-addons/dvb/crazycat/patches/amlogic/driver.dvb.crazycat-03-frame_vector_workaround.patch b/packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.10/driver.dvb.crazycat-03-frame_vector_workaround.patch similarity index 100% rename from packages/linux-driver-addons/dvb/crazycat/patches/amlogic/driver.dvb.crazycat-03-frame_vector_workaround.patch rename to packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.10/driver.dvb.crazycat-03-frame_vector_workaround.patch diff --git a/packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.10/driver.dvb.crazycat-04-AML-hacks.patch b/packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.10/driver.dvb.crazycat-04-AML-hacks.patch new file mode 100644 index 0000000000..1115df85cc --- /dev/null +++ b/packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.10/driver.dvb.crazycat-04-AML-hacks.patch @@ -0,0 +1,18 @@ +diff -Naur a/linux/Makefile b/linux/Makefile +--- a/linux/Makefile 2017-12-30 22:01:38.000000000 +0200 ++++ b/linux/Makefile 2018-02-23 13:25:54.025763853 +0200 +@@ -112,6 +112,14 @@ + + untar: linux-media.tar.bz2 + tar xfj linux-media.tar.bz2 ++ mkdir -p drivers/media/amlogic/ ++ # Copy amlvideodri module ++ cp -a "$(SRCDIR)/drivers/amlogic/video_dev" "drivers/media/amlogic" ++ sed -i 's,common/,,g; s,"trace/,",g' `find drivers/media/amlogic/video_dev/ -type f` ++ # Copy videobuf-res module ++ cp -a "$(SRCDIR)/drivers/media/v4l2-core/videobuf-res.c" "drivers/media/v4l2-core/" ++ cp -a "$(SRCDIR)/include/media/videobuf-res.h" "include/media/" ++ + -rm -f .patches_applied .linked_dir .git_log.md5 + + clean: diff --git a/packages/linux-driver-addons/dvb/crazycat/patches/amlogic/driver.dvb.crazycat-01-add-AML-specific-to-backports.patch b/packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.14/driver.dvb.crazycat-01-add-AML-specific-to-backports.patch similarity index 100% rename from packages/linux-driver-addons/dvb/crazycat/patches/amlogic/driver.dvb.crazycat-01-add-AML-specific-to-backports.patch rename to packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.14/driver.dvb.crazycat-01-add-AML-specific-to-backports.patch diff --git a/packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.14/driver.dvb.crazycat-02-media_build-fix.patch b/packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.14/driver.dvb.crazycat-02-media_build-fix.patch new file mode 100644 index 0000000000..53f90509f8 --- /dev/null +++ b/packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.14/driver.dvb.crazycat-02-media_build-fix.patch @@ -0,0 +1,11 @@ +--- a/v4l/compat.h ++++ b/v4l/compat.h +@@ -1588,7 +1588,7 @@ + #endif + + #ifdef NEED_WRITEL_RELAXED +-#define writel_relaxed writel ++// #define writel_relaxed writel + #endif + + #ifdef NEED_GET_USER_PAGES_UNLOCKED diff --git a/packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.14/driver.dvb.crazycat-03-frame_vector_workaround.patch b/packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.14/driver.dvb.crazycat-03-frame_vector_workaround.patch new file mode 100644 index 0000000000..0d5dd1a588 --- /dev/null +++ b/packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.14/driver.dvb.crazycat-03-frame_vector_workaround.patch @@ -0,0 +1,12 @@ +--- a/v4l/Makefile ++++ b/v4l/Makefile +@@ -92,9 +92,6 @@ ifneq ($(filter $(no-makefile-media-targets), $(MAKECMDGOALS)),) + endif + + makefile-mm := 1 +-ifeq ($(wildcard ../linux/mm/frame_vector.c),) +- makefile-mm := 0 +-endif + + # If version not yet detected, we can't create/have these files yet + ifeq ($(KERNELRELEASE),) diff --git a/packages/linux-driver-addons/dvb/crazycat/patches/amlogic/driver.dvb.crazycat-04-AML-hacks.patch b/packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.14/driver.dvb.crazycat-04-AML-hacks.patch similarity index 100% rename from packages/linux-driver-addons/dvb/crazycat/patches/amlogic/driver.dvb.crazycat-04-AML-hacks.patch rename to packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.14/driver.dvb.crazycat-04-AML-hacks.patch diff --git a/packages/linux-driver-addons/dvb/crazycat/patches/amlogic/driver.dvb.crazycat-05-compat_h-fix.patch b/packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.14/driver.dvb.crazycat-05-compat_h-fix.patch similarity index 100% rename from packages/linux-driver-addons/dvb/crazycat/patches/amlogic/driver.dvb.crazycat-05-compat_h-fix.patch rename to packages/linux-driver-addons/dvb/crazycat/patches/amlogic-3.14/driver.dvb.crazycat-05-compat_h-fix.patch From 644ec66f6f032a6f6b54bf94b8de3b07d072a6fb Mon Sep 17 00:00:00 2001 From: kszaq Date: Sun, 4 Mar 2018 12:33:13 +0100 Subject: [PATCH 2/3] WeTek_Core: enable crazycat driver addon --- projects/WeTek_Core/options | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/projects/WeTek_Core/options b/projects/WeTek_Core/options index 5ed088fd64..4287062bcd 100644 --- a/projects/WeTek_Core/options +++ b/projects/WeTek_Core/options @@ -140,3 +140,11 @@ # kernel image name KERNEL_NAME="kernel.img" + + # build and install driver addons (yes / no) + DRIVER_ADDONS_SUPPORT="yes" + + # driver addons to install: + # for a list of additinoal drivers see packages/linux-driver-addons + # Space separated list is supported, + DRIVER_ADDONS="crazycat" From 5e5a53f1c3e3d9bf9a5984d3378269c408e54d77 Mon Sep 17 00:00:00 2001 From: kszaq Date: Wed, 7 Mar 2018 21:29:02 +0100 Subject: [PATCH 3/3] WeTek_Core: update kernel config for dvb driver addons --- projects/WeTek_Core/linux/linux.arm.conf | 31 +++++++++++++++--------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/projects/WeTek_Core/linux/linux.arm.conf b/projects/WeTek_Core/linux/linux.arm.conf index 3fcc7d09d0..9c244aadf7 100644 --- a/projects/WeTek_Core/linux/linux.arm.conf +++ b/projects/WeTek_Core/linux/linux.arm.conf @@ -1311,14 +1311,14 @@ CONFIG_POST_PROCESS_MANAGER_3D_PROCESS=y # # V4L2 Video Support # -CONFIG_V4L_AMLOGIC_VIDEO=y -CONFIG_V4L_AMLOGIC_VIDEO2=y +CONFIG_V4L_AMLOGIC_VIDEO=m +# CONFIG_V4L_AMLOGIC_VIDEO2 is not set # # Amlogic ion video support # -CONFIG_VIDEOBUF2_ION=y -CONFIG_AMLOGIC_IONVIDEO=y +# CONFIG_VIDEOBUF2_ION is not set +# CONFIG_AMLOGIC_IONVIDEO is not set # # Deinterlace driver @@ -1981,7 +1981,16 @@ CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y CONFIG_I2C_COMPAT=y CONFIG_I2C_CHARDEV=y -# CONFIG_I2C_MUX is not set +CONFIG_I2C_MUX=y + +# +# Multiplexer I2C Chip support +# +# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set +# CONFIG_I2C_MUX_GPIO is not set +# CONFIG_I2C_MUX_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_PINCTRL is not set CONFIG_I2C_HELPER_AUTO=y CONFIG_I2C_ALGOBIT=y @@ -2386,17 +2395,17 @@ CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y CONFIG_MEDIA_RADIO_SUPPORT=y CONFIG_MEDIA_RC_SUPPORT=y # CONFIG_MEDIA_CONTROLLER is not set -CONFIG_VIDEO_DEV=y -CONFIG_VIDEO_V4L2=y +CONFIG_VIDEO_DEV=m +CONFIG_VIDEO_V4L2=m # CONFIG_VIDEO_ADV_DEBUG is not set # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set CONFIG_VIDEO_TUNER=m -CONFIG_VIDEOBUF_GEN=y +CONFIG_VIDEOBUF_GEN=m CONFIG_VIDEOBUF_VMALLOC=m -CONFIG_VIDEOBUF_RESOURCE=y +CONFIG_VIDEOBUF_RESOURCE=m CONFIG_VIDEOBUF_DVB=m -CONFIG_VIDEOBUF2_CORE=y -CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_CORE=m +CONFIG_VIDEOBUF2_MEMOPS=m CONFIG_VIDEOBUF2_VMALLOC=m # CONFIG_VIDEO_V4L2_INT_DEVICE is not set CONFIG_DVB_CORE=m