wetek_play: update kernel patches and enable WeTek DVB driver

This commit is contained in:
Alex Deryskyba 2015-01-15 02:50:39 +01:00
parent 8722535ea4
commit 8ee4c14a05
7 changed files with 7815 additions and 9820 deletions

View File

@ -1231,18 +1231,18 @@ CONFIG_DEINTERLACE=y
#
# Amlogic DVB driver
#
CONFIG_AM_DVB=y
# CONFIG_AM_DVB is not set
#
# AMLOGIC CI Driver
#
# CONFIG_AM_CI is not set
# CONFIG_AM_PCMCIA is not set
# CONFIG_AM_IOBUS is not set
# CONFIG_AM_SI2177 is not set
CONFIG_AM_AVL6211=y
# CONFIG_AM_SI2168 is not set
# CONFIG_AM_MXL101 is not set
#
# WetekPlay driver
#
CONFIG_WETEK=y
#
# GPU (ARM Mali)

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
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
+++ b/arch/arm/boot/dts/amlogic/meson6_g18.dtd 2014-12-11 15:30:01.493678109 +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 2015-01-12 21:25:40.000000000 +0100
@@ -1,761 +1,751 @@
-/*
- * 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>;
rb_detect = <1>;
};
@@ -856,547 +823,578 @@
@@ -856,547 +823,595 @@
offset=<0x0 0x4a800000>;
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";
+ #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"
+//$$ L2 PROP_U32 2 = "amlogic,setmask"
+//$$ L2 PROP_STR 2 = "amlogic,pins"

View File

@ -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);