mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
Merge pull request #3794 from codesnake/wetek_dvb
wetek_play: Add full support for WeTek internal DVB-T/T2, DVB-C, DVB-S/S2 and ATSC tuners
This commit is contained in:
commit
17bc2cf305
@ -19,7 +19,7 @@
|
|||||||
PKG_NAME="linux"
|
PKG_NAME="linux"
|
||||||
case "$LINUX" in
|
case "$LINUX" in
|
||||||
amlogic)
|
amlogic)
|
||||||
PKG_VERSION="amlogic-3.10-b992de0"
|
PKG_VERSION="amlogic-3.10-24e850b"
|
||||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||||
;;
|
;;
|
||||||
imx6)
|
imx6)
|
||||||
|
BIN
projects/WeTek_Play/filesystem/lib/firmware/dvb-fe-avl6211.fw
Normal file
BIN
projects/WeTek_Play/filesystem/lib/firmware/dvb-fe-avl6211.fw
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
projects/WeTek_Play/filesystem/lib/modules/wetekdvb.ko
Normal file
BIN
projects/WeTek_Play/filesystem/lib/modules/wetekdvb.ko
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
|||||||
|
../wetek-dvb-driver.service
|
@ -0,0 +1,13 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=WeTek DVB driver
|
||||||
|
DefaultDependencies=no
|
||||||
|
Before=local-fs.target shutdown.target
|
||||||
|
Conflicts=shutdown.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=/sbin/insmod /lib/modules/wetekdvb.ko
|
||||||
|
RemainAfterExit=yes
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=local-fs.target
|
@ -1130,6 +1130,7 @@ CONFIG_AM_DISPLAY_MODULE=y
|
|||||||
# Amlogic video output module
|
# Amlogic video output module
|
||||||
#
|
#
|
||||||
CONFIG_AM_TV_OUTPUT=y
|
CONFIG_AM_TV_OUTPUT=y
|
||||||
|
CONFIG_AML_VOUT_FRAMERATE_AUTOMATION=y
|
||||||
# CONFIG_AM_LCD_OUTPUT is not set
|
# CONFIG_AM_LCD_OUTPUT is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -1230,16 +1231,18 @@ CONFIG_DEINTERLACE=y
|
|||||||
#
|
#
|
||||||
# Amlogic DVB driver
|
# Amlogic DVB driver
|
||||||
#
|
#
|
||||||
CONFIG_AM_DVB=y
|
# CONFIG_AM_DVB is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# AMLOGIC CI Driver
|
# AMLOGIC CI Driver
|
||||||
#
|
#
|
||||||
# CONFIG_AM_CI is not set
|
|
||||||
# CONFIG_AM_PCMCIA is not set
|
# CONFIG_AM_PCMCIA is not set
|
||||||
# CONFIG_AM_IOBUS is not set
|
# CONFIG_AM_IOBUS is not set
|
||||||
# CONFIG_AM_SI2177 is not set
|
|
||||||
CONFIG_AM_AVL6211=y
|
#
|
||||||
|
# WetekPlay driver
|
||||||
|
#
|
||||||
|
CONFIG_WETEK=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# GPU (ARM Mali)
|
# GPU (ARM Mali)
|
||||||
@ -2848,7 +2851,7 @@ CONFIG_USB_SERIAL=y
|
|||||||
# CONFIG_USB_SERIAL_MOS7840 is not set
|
# CONFIG_USB_SERIAL_MOS7840 is not set
|
||||||
# CONFIG_USB_SERIAL_MOTOROLA is not set
|
# CONFIG_USB_SERIAL_MOTOROLA is not set
|
||||||
# CONFIG_USB_SERIAL_NAVMAN is not set
|
# CONFIG_USB_SERIAL_NAVMAN is not set
|
||||||
# CONFIG_USB_SERIAL_PL2303 is not set
|
CONFIG_USB_SERIAL_PL2303=m
|
||||||
# CONFIG_USB_SERIAL_OTI6858 is not set
|
# CONFIG_USB_SERIAL_OTI6858 is not set
|
||||||
# CONFIG_USB_SERIAL_QCAUX is not set
|
# CONFIG_USB_SERIAL_QCAUX is not set
|
||||||
# CONFIG_USB_SERIAL_QUALCOMM is not set
|
# CONFIG_USB_SERIAL_QUALCOMM is not set
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
diff -Naur a/drivers/media/dvb-core/dvb_frontend.c b/drivers/media/dvb-core/dvb_frontend.c
|
|
||||||
--- a/drivers/media/dvb-core/dvb_frontend.c 2014-12-08 17:33:43.262657721 +0100
|
|
||||||
+++ b/drivers/media/dvb-core/dvb_frontend.c 2014-12-08 17:34:37.126207052 +0100
|
|
||||||
@@ -2416,6 +2416,9 @@
|
|
||||||
if(cmd == FE_SET_PROPERTY) {
|
|
||||||
tvps = (struct dtv_properties __user *)parg;
|
|
||||||
|
|
||||||
+ if(fe->ops.set_mode)
|
|
||||||
+ fe->ops.set_mode(fe, FE_QPSK);
|
|
||||||
+
|
|
||||||
dev_dbg(fe->dvb->device, "%s: properties.num = %d\n", __func__, tvps->num);
|
|
||||||
dev_dbg(fe->dvb->device, "%s: properties.props = %p\n", __func__, tvps->props);
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
6082
projects/WeTek_Play/patches/linux/20-wetek_dvb_code.patch
Normal file
6082
projects/WeTek_Play/patches/linux/20-wetek_dvb_code.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
|||||||
diff -Naur a/arch/arm/boot/dts/amlogic/meson6_g18.dtd b/arch/arm/boot/dts/amlogic/meson6_g18.dtd
|
diff -Naur a/arch/arm/boot/dts/amlogic/meson6_g18.dtd b/arch/arm/boot/dts/amlogic/meson6_g18.dtd
|
||||||
--- a/arch/arm/boot/dts/amlogic/meson6_g18.dtd 2014-12-11 15:25:42.771688733 +0100
|
--- a/arch/arm/boot/dts/amlogic/meson6_g18.dtd 2015-01-12 21:28:39.000000000 +0100
|
||||||
+++ b/arch/arm/boot/dts/amlogic/meson6_g18.dtd 2014-12-11 15:30:01.493678109 +0100
|
+++ b/arch/arm/boot/dts/amlogic/meson6_g18.dtd 2015-01-12 21:25:40.000000000 +0100
|
||||||
@@ -1,761 +1,751 @@
|
@@ -1,761 +1,751 @@
|
||||||
-/*
|
-/*
|
||||||
- * Amlogic-MX SKT Device Tree Source
|
- * Amlogic-MX SKT Device Tree Source
|
||||||
@ -1556,7 +1556,7 @@ diff -Naur a/arch/arm/boot/dts/amlogic/meson6_g18.dtd b/arch/arm/boot/dts/amlogi
|
|||||||
partition = <&nand_partitions>;
|
partition = <&nand_partitions>;
|
||||||
rb_detect = <1>;
|
rb_detect = <1>;
|
||||||
};
|
};
|
||||||
@@ -856,547 +823,578 @@
|
@@ -856,547 +823,595 @@
|
||||||
offset=<0x0 0x4a800000>;
|
offset=<0x0 0x4a800000>;
|
||||||
size=<0x0 0x20000000>;
|
size=<0x0 0x20000000>;
|
||||||
};
|
};
|
||||||
@ -2223,6 +2223,15 @@ diff -Naur a/arch/arm/boot/dts/amlogic/meson6_g18.dtd b/arch/arm/boot/dts/amlogi
|
|||||||
+ };
|
+ };
|
||||||
+
|
+
|
||||||
+
|
+
|
||||||
|
+/// **************************************************************************************
|
||||||
|
+/// - Smartcard
|
||||||
|
+ smartcard{
|
||||||
|
+ compatible = "amlogic,smartcard";
|
||||||
|
+ smc_reset_level = <1>;
|
||||||
|
+ smc_reset = "GPIOX_31";
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&smc_pins>;
|
||||||
|
+ };
|
||||||
+
|
+
|
||||||
+
|
+
|
||||||
+
|
+
|
||||||
@ -2246,6 +2255,14 @@ diff -Naur a/arch/arm/boot/dts/amlogic/meson6_g18.dtd b/arch/arm/boot/dts/amlogi
|
|||||||
+ dev_name = "pinmux";
|
+ dev_name = "pinmux";
|
||||||
+ #pinmux-cells=<2>;
|
+ #pinmux-cells=<2>;
|
||||||
+
|
+
|
||||||
|
+ smc_pins:smc_pins{
|
||||||
|
+ amlogic,setmask = <4 0x003c0000>;
|
||||||
|
+ amlogic,clrmask = <4 0x000003c0
|
||||||
|
+ 4 0x03c00000
|
||||||
|
+ 8 0x3f000000>;
|
||||||
|
+ amlogic,pins = "GPIOX_17","GPIOX_18","GPIOX_19","GPIOX_20";
|
||||||
|
+ };
|
||||||
|
+
|
||||||
+//$$ MATCH "uart_ao_pin_match" = "&ao_uart_pins"
|
+//$$ MATCH "uart_ao_pin_match" = "&ao_uart_pins"
|
||||||
+//$$ L2 PROP_U32 2 = "amlogic,setmask"
|
+//$$ L2 PROP_U32 2 = "amlogic,setmask"
|
||||||
+//$$ L2 PROP_STR 2 = "amlogic,pins"
|
+//$$ L2 PROP_STR 2 = "amlogic,pins"
|
||||||
|
@ -0,0 +1,55 @@
|
|||||||
|
diff -Naur a/drivers/amlogic/amports/esparser.c b/drivers/amlogic/amports/esparser.c
|
||||||
|
--- a/drivers/amlogic/amports/esparser.c 2015-01-04 18:07:57.000000000 +0100
|
||||||
|
+++ b/drivers/amlogic/amports/esparser.c 2015-01-01 16:42:13.000000000 +0100
|
||||||
|
@@ -296,11 +296,14 @@
|
||||||
|
WRITE_MPEG_REG(RESET1_REGISTER, RESET_PARSER);
|
||||||
|
|
||||||
|
/* TS data path */
|
||||||
|
+ /* Ignore FEC control for WetekPlay */
|
||||||
|
+#ifndef CONFIG_WETEK
|
||||||
|
#ifndef CONFIG_AM_DVB
|
||||||
|
WRITE_MPEG_REG(FEC_INPUT_CONTROL, 0);
|
||||||
|
#else
|
||||||
|
tsdemux_set_reset_flag();
|
||||||
|
#endif
|
||||||
|
+#endif
|
||||||
|
CLEAR_MPEG_REG_MASK(TS_HIU_CTL, 1 << USE_HI_BSF_INTERFACE);
|
||||||
|
CLEAR_MPEG_REG_MASK(TS_HIU_CTL_2, 1 << USE_HI_BSF_INTERFACE);
|
||||||
|
CLEAR_MPEG_REG_MASK(TS_HIU_CTL_3, 1 << USE_HI_BSF_INTERFACE);
|
||||||
|
diff -Naur a/drivers/amlogic/amports/psparser.c b/drivers/amlogic/amports/psparser.c
|
||||||
|
--- a/drivers/amlogic/amports/psparser.c 2015-01-04 18:07:58.000000000 +0100
|
||||||
|
+++ b/drivers/amlogic/amports/psparser.c 2015-01-01 16:43:58.000000000 +0100
|
||||||
|
@@ -833,11 +833,15 @@
|
||||||
|
WRITE_MPEG_REG(RESET1_REGISTER, RESET_PARSER);
|
||||||
|
|
||||||
|
/* TS data path */
|
||||||
|
+ /* Ignore FEC control for WetekPlay */
|
||||||
|
+#ifndef CONFIG_WETEK
|
||||||
|
#ifndef CONFIG_AM_DVB
|
||||||
|
WRITE_MPEG_REG(FEC_INPUT_CONTROL, 0);
|
||||||
|
#else
|
||||||
|
tsdemux_set_reset_flag();
|
||||||
|
#endif
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
CLEAR_MPEG_REG_MASK(TS_HIU_CTL, 1 << USE_HI_BSF_INTERFACE);
|
||||||
|
CLEAR_MPEG_REG_MASK(TS_HIU_CTL_2, 1 << USE_HI_BSF_INTERFACE);
|
||||||
|
CLEAR_MPEG_REG_MASK(TS_HIU_CTL_3, 1 << USE_HI_BSF_INTERFACE);
|
||||||
|
diff -Naur a/drivers/amlogic/amports/rmparser.c b/drivers/amlogic/amports/rmparser.c
|
||||||
|
--- a/drivers/amlogic/amports/rmparser.c 2015-01-04 18:07:58.000000000 +0100
|
||||||
|
+++ b/drivers/amlogic/amports/rmparser.c 2015-01-01 16:44:39.000000000 +0100
|
||||||
|
@@ -80,11 +80,14 @@
|
||||||
|
WRITE_MPEG_REG(RESET1_REGISTER, RESET_PARSER);
|
||||||
|
|
||||||
|
/* TS data path */
|
||||||
|
+ /* Ignore FEC control for WetekPlay */
|
||||||
|
+#ifndef CONFIG_WETEK
|
||||||
|
#ifndef CONFIG_AM_DVB
|
||||||
|
WRITE_MPEG_REG(FEC_INPUT_CONTROL, 0);
|
||||||
|
#else
|
||||||
|
tsdemux_set_reset_flag();
|
||||||
|
#endif
|
||||||
|
+#endif
|
||||||
|
CLEAR_MPEG_REG_MASK(TS_HIU_CTL, 1 << USE_HI_BSF_INTERFACE);
|
||||||
|
CLEAR_MPEG_REG_MASK(TS_HIU_CTL_2, 1 << USE_HI_BSF_INTERFACE);
|
||||||
|
CLEAR_MPEG_REG_MASK(TS_HIU_CTL_3, 1 << USE_HI_BSF_INTERFACE);
|
Loading…
x
Reference in New Issue
Block a user