linux: update rockchip-4.4 to bbea8b14

This commit is contained in:
Jonas Karlman 2017-12-13 18:52:02 +01:00
parent d1b9814e2d
commit 96bbec2e79
12 changed files with 6195 additions and 7203 deletions

View File

@ -47,8 +47,8 @@ case "$LINUX" in
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET aml-dtbtools:host"
;;
rockchip-4.4)
PKG_VERSION="a1af913e"
PKG_SHA256="09460e2fd0b8cdcd081ec7f7f465e4329f39e4f0ddc630d58f7a81af46074805"
PKG_VERSION="bbea8b14"
PKG_SHA256="6485f7ecbe4eac424b43df774fdce8c62b97ac7d9d406740d9fafb9f6a84e8af"
PKG_URL="https://github.com/rockchip-linux/kernel/archive/$PKG_VERSION.tar.gz"
PKG_SOURCE_DIR="kernel-$PKG_VERSION*"
PKG_PATCH_DIRS="rockchip-4.4"

View File

@ -18,3 +18,11 @@ You may have luck if your device vendor is open source friendly, otherwise keep
* https://github.com/rockchip-linux
* http://opensource.rock-chips.com
## Useful debug commands
* `cat /sys/kernel/debug/dri/0/summary`
* `cat /sys/kernel/debug/dw-hdmi/status`
* `cat /sys/kernel/debug/clk/clk_summary`
* `hexdump -C /sys/class/drm/card0-HDMI-A-1/edid`
* `edid-decode /sys/class/drm/card0-HDMI-A-1/edid`

View File

@ -1,101 +0,0 @@
From fd70e1ff1377e0d575ab2c685cf9e42c02b53565 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Thu, 2 Nov 2017 23:17:46 +0100
Subject: [PATCH] arm: dts: rk3288-miqi: update dts
---
arch/arm/boot/dts/rk3288-miqi.dts | 51 +++++++++++++++++++++++----------------
1 file changed, 30 insertions(+), 21 deletions(-)
diff --git a/arch/arm/boot/dts/rk3288-miqi.dts b/arch/arm/boot/dts/rk3288-miqi.dts
index b90b0e5969ec..121d1f2f4f03 100644
--- a/arch/arm/boot/dts/rk3288-miqi.dts
+++ b/arch/arm/boot/dts/rk3288-miqi.dts
@@ -55,29 +55,14 @@
sound {
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
- simple-audio-card,name = "DW-HDMI";
+ simple-audio-card,name = "HDMI";
simple-audio-card,mclk-fs = <512>;
-
- simple-audio-card,dai-link@0 { /* I2S - S/PDIF */
- format = "i2s";
- cpu {
- sound-dai = <&i2s>;
- };
- codec {
- sound-dai = <&hdmi>;
- };
+ simple-audio-card,cpu {
+ sound-dai = <&i2s>;
+ };
+ simple-audio-card,codec {
+ sound-dai = <&hdmi>;
};
-
- /*
- * If you want to support more cards,
- * you can add more dai-link node,
- * such as
- *
- * simple-audio-card,dai-link@1 {
- * ......
- * }
- */
-
};
ext_gmac: external-gmac-clock {
@@ -181,6 +166,19 @@
cpu0-supply = <&vdd_cpu>;
};
+&cpu0_opp_table {
+ opp-1704000000 {
+ opp-hz = /bits/ 64 <1704000000>;
+ opp-microvolt = <1350000>;
+ clock-latency-ns = <40000>;
+ };
+ opp-1800000000 {
+ opp-hz = /bits/ 64 <1800000000>;
+ opp-microvolt = <1400000>;
+ clock-latency-ns = <40000>;
+ };
+};
+
&gpu {
status = "okay";
mali-supply = <&vdd_gpu>;
@@ -203,6 +201,12 @@
#size-cells = <0>;
#sound-dai-cells = <0>;
status = "okay";
+ /* Don't use vopl for HDMI */
+ ports {
+ hdmi_in: port {
+ /delete-node/ endpoint@1;
+ };
+ };
};
&hevc_service {
@@ -413,6 +417,7 @@ I2C
&i2s {
#sound-dai-cells = <0>;
+ rockchip,bclk-fs = <128>;
status = "okay";
};
@@ -471,6 +476,10 @@ I2C
&vopl {
status = "okay";
+ /* Don't use vopl for HDMI */
+ vopl_out: port {
+ /delete-node/ endpoint@0;
+ };
};
&vopl_mmu {

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
From d2e1807b0248e9b0068a6f5f018bee44d5519797 Mon Sep 17 00:00:00 2001
From 0d7fc599ad0450f8f8581b66dc77df80bb2ba6b9 Mon Sep 17 00:00:00 2001
From: Ziyuan Xu <xzy.xu@rock-chips.com>
Date: Fri, 23 Sep 2016 13:43:18 +0800
Subject: [PATCH 1/5] MINIARM: HACK: switch vccio_sd to 3.3v while shutdowning
@ -46,7 +46,7 @@ index 29e3ae99edbc..531ad93ff912 100644
.name = "dwmmc_rockchip",
.of_match_table = dw_mci_rockchip_match,
From 6683b1dea673b2747a4c20611f058f8a584e5e19 Mon Sep 17 00:00:00 2001
From fe3a39115dbd63aee25d3aec6d46e4aed4f8faeb Mon Sep 17 00:00:00 2001
From: Ziyuan Xu <xzy.xu@rock-chips.com>
Date: Mon, 6 Feb 2017 08:39:46 +0800
Subject: [PATCH 2/5] MINIARM: HACK: mmc: dw_mmc-rockchip: enable vmmc supply
@ -87,7 +87,7 @@ index 531ad93ff912..eae304077e17 100644
if (!IS_ERR(mmc->supply.vqmmc))
regulator_set_voltage(mmc->supply.vqmmc, 3000000, 3300000);
From 9eb1e1e71abe6c2b0f10e3c1bd9dfba7acf2c8c5 Mon Sep 17 00:00:00 2001
From d1a6f5f0e4103138b4ef21bf89a54c90ba022bb9 Mon Sep 17 00:00:00 2001
From: Jacob Chen <jacob-chen@iotwrt.com>
Date: Sat, 22 Jul 2017 19:55:09 +0800
Subject: [PATCH 3/5] MINIARM: drm/rockchip: update phy settings
@ -99,10 +99,10 @@ Signed-off-by: Jacob Chen <jacob-chen@iotwrt.com>
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
index bc82b964943c..3585b0c10866 100644
index b3b6fd7ed698..7b13c633e28f 100644
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
@@ -268,8 +268,7 @@ static struct dw_hdmi_phy_config rockchip_phy_config[] = {
@@ -343,8 +343,7 @@ static struct dw_hdmi_phy_config rockchip_phy_config[] = {
/*pixelclk symbol term vlev*/
{ 74250000, 0x8009, 0x0004, 0x0272},
{ 165000000, 0x802b, 0x0004, 0x0209},
@ -113,7 +113,7 @@ index bc82b964943c..3585b0c10866 100644
};
From e764ad67f5cf429a368cd406a1a9a2e5ffe3773c Mon Sep 17 00:00:00 2001
From e47a2375fceb317e4be6e6f6c83a4ec0ff7ad05c Mon Sep 17 00:00:00 2001
From: Nickey Yang <nickey.yang@rock-chips.com>
Date: Mon, 17 Jul 2017 16:35:34 +0800
Subject: [PATCH 4/5] MINIARM: set npll be used for hdmi only
@ -126,7 +126,7 @@ Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
index b6d5dc42aee1..38f7c6dd11ca 100644
index 026288e9a2c9..7660a5e6ee95 100644
--- a/arch/arm/boot/dts/rk3288.dtsi
+++ b/arch/arm/boot/dts/rk3288.dtsi
@@ -979,7 +979,7 @@
@ -138,7 +138,7 @@ index b6d5dc42aee1..38f7c6dd11ca 100644
<300000000>, <150000000>,
<75000000>;
};
@@ -1199,6 +1199,8 @@
@@ -1201,6 +1201,8 @@
resets = <&cru SRST_LCDC0_AXI>, <&cru SRST_LCDC0_AHB>, <&cru SRST_LCDC0_DCLK>;
reset-names = "axi", "ahb", "dclk";
iommus = <&vopb_mmu>;
@ -148,7 +148,7 @@ index b6d5dc42aee1..38f7c6dd11ca 100644
vopb_out: port {
diff --git a/drivers/clk/rockchip/clk-rk3288.c b/drivers/clk/rockchip/clk-rk3288.c
index 54ff9e36e0e2..77cc66a501f7 100644
index aedbb038c707..46bb0ae76839 100644
--- a/drivers/clk/rockchip/clk-rk3288.c
+++ b/drivers/clk/rockchip/clk-rk3288.c
@@ -211,9 +211,9 @@ static struct rockchip_pll_clock rk3288_pll_clks[] __initdata = {
@ -173,48 +173,115 @@ index 54ff9e36e0e2..77cc66a501f7 100644
RK3288_CLKGATE_CON(3), 1, GFLAGS),
COMPOSITE(DCLK_VOP1, "dclk_vop1", mux_pll_src_cpll_gpll_npll_p, 0,
From 73f855ba760c9df6eb1203948197f13b41365ba0 Mon Sep 17 00:00:00 2001
From: Nickey Yang <nickey.yang@rock-chips.com>
Date: Mon, 24 Jul 2017 09:38:03 +0800
Subject: [PATCH 5/5] MINIARM: clk: rockchip: add some clock settings
From 6b9c7604687e5dac7116a40179228be268ea9067 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Mon, 11 Dec 2017 23:09:54 +0100
Subject: [PATCH 5/5] clk: rockchip: rk3288: add more pixel clock rates
Change-Id: I5f172106258f9dcb5617b245f729b661feacc92c
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
---
drivers/clk/rockchip/clk-rk3288.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
drivers/clk/rockchip/clk-rk3288.c | 79 +++++++++++++++++++++++++++++++++++++--
1 file changed, 75 insertions(+), 4 deletions(-)
diff --git a/drivers/clk/rockchip/clk-rk3288.c b/drivers/clk/rockchip/clk-rk3288.c
index 77cc66a501f7..15d3aeb4448c 100644
index 46bb0ae76839..848025559aa8 100644
--- a/drivers/clk/rockchip/clk-rk3288.c
+++ b/drivers/clk/rockchip/clk-rk3288.c
@@ -100,6 +100,29 @@ static struct rockchip_pll_rate_table rk3288_pll_rates[] = {
@@ -84,23 +84,94 @@ static struct rockchip_pll_rate_table rk3288_pll_rates[] = {
RK3066_PLL_RATE( 742500000, 8, 495, 2),
RK3066_PLL_RATE( 696000000, 1, 58, 2),
RK3066_PLL_RATE( 600000000, 1, 50, 2),
- RK3066_PLL_RATE_NB(594000000, 1, 198, 8, 1),
+ RK3066_PLL_RATE( 594000000, 2, 99, 2),
+ RK3066_PLL_RATE( 552750000, 16, 737, 2),
RK3066_PLL_RATE( 552000000, 1, 46, 2),
+ RK3066_PLL_RATE( 505250000, 24, 2021, 4),
RK3066_PLL_RATE( 504000000, 1, 84, 4),
RK3066_PLL_RATE( 500000000, 3, 125, 2),
RK3066_PLL_RATE( 456000000, 1, 76, 4),
+ RK3066_PLL_RATE( 443250000, 8, 591, 4),
RK3066_PLL_RATE( 408000000, 1, 68, 4),
RK3066_PLL_RATE( 400000000, 3, 100, 2),
RK3066_PLL_RATE( 384000000, 2, 128, 4),
+ RK3066_PLL_RATE( 380500000, 12, 761, 4),
RK3066_PLL_RATE( 360000000, 1, 60, 4),
+ RK3066_PLL_RATE( 356500000, 8, 713, 6),
+ RK3066_PLL_RATE( 348500000, 8, 697, 6),
+ RK3066_PLL_RATE( 333250000, 16, 1333, 6),
+ RK3066_PLL_RATE( 317000000, 4, 317, 6),
+ RK3066_PLL_RATE( 312250000, 16, 1249, 6),
RK3066_PLL_RATE( 312000000, 1, 52, 4),
RK3066_PLL_RATE( 300000000, 1, 50, 4),
- RK3066_PLL_RATE( 297000000, 2, 198, 8),
+ RK3066_PLL_RATE( 297000000, 4, 297, 6),
+ RK3066_PLL_RATE( 288000000, 1, 72, 6),
+ RK3066_PLL_RATE( 281250000, 16, 1125, 6),
+ RK3066_PLL_RATE( 268500000, 2, 179, 8),
+ RK3066_PLL_RATE( 268250000, 12, 1073, 8),
+ RK3066_PLL_RATE( 261000000, 1, 87, 8),
RK3066_PLL_RATE( 252000000, 1, 84, 8),
+ RK3066_PLL_RATE( 245500000, 6, 491, 8),
+ RK3066_PLL_RATE( 245250000, 4, 327, 8),
+ RK3066_PLL_RATE( 241500000, 2, 161, 8),
+ RK3066_PLL_RATE( 234000000, 1, 78, 8),
+ RK3066_PLL_RATE( 229500000, 2, 153, 8),
+ RK3066_PLL_RATE( 218250000, 16, 1455, 10),
RK3066_PLL_RATE( 216000000, 1, 72, 8),
RK3066_PLL_RATE( 148500000, 2, 99, 8),
RK3066_PLL_RATE( 126000000, 1, 84, 16),
+ RK3066_PLL_RATE_NB( 241500000, 2, 161, 8, 1),
+ RK3066_PLL_RATE( 252000000, 1, 84, 8),
+ RK3066_PLL_RATE( 216000000, 1, 72, 8),
- RK3066_PLL_RATE( 148500000, 2, 99, 8),
+ RK3066_PLL_RATE( 214750000, 12, 859, 8),
+ RK3066_PLL_RATE( 208000000, 3, 260, 10),
+ RK3066_PLL_RATE( 204750000, 16, 1365, 10),
+ RK3066_PLL_RATE( 202500000, 8, 675, 10),
+ RK3066_PLL_RATE( 193250000, 48, 3865, 10),
+ RK3066_PLL_RATE( 189000000, 4, 315, 10),
+ RK3066_PLL_RATE( 187250000, 48, 3745, 10),
+ RK3066_PLL_RATE( 187000000, 12, 935, 10),
+ RK3066_PLL_RATE( 182750000, 8, 731, 12),
+ RK3066_PLL_RATE( 179500000, 4, 359, 12),
+ RK3066_PLL_RATE( 175500000, 4, 351, 12),
+ RK3066_PLL_RATE( 162000000, 1, 81, 12),
+ RK3066_PLL_RATE( 157500000, 4, 315, 12),
+ RK3066_PLL_RATE( 157000000, 12, 1099, 14),
+ RK3066_PLL_RATE( 156750000, 16, 1463, 14),
+ RK3066_PLL_RATE( 156000000, 1, 91, 14),
+ RK3066_PLL_RATE( 154000000, 6, 539, 14),
+ RK3066_PLL_RATE( 148500000, 8, 693, 14),
+ RK3066_PLL_RATE( 135000000, 4, 315, 14),
+ RK3066_PLL_RATE( 126000000, 1, 84, 16),
+ RK3066_PLL_RATE( 148250000, 8, 593, 12),
+ RK3066_PLL_RATE( 146250000, 16, 1365, 14),
+ RK3066_PLL_RATE( 140250000, 16, 1309, 14),
+ RK3066_PLL_RATE( 136750000, 6, 547, 16),
+ RK3066_PLL_RATE( 135000000, 1, 90, 16),
RK3066_PLL_RATE( 126000000, 1, 84, 16),
- RK3066_PLL_RATE( 48000000, 1, 64, 32),
+ RK3066_PLL_RATE( 122500000, 3, 245, 16),
+ RK3066_PLL_RATE( 121750000, 6, 487, 16),
+ RK3066_PLL_RATE( 119000000, 3, 238, 16),
+ RK3066_PLL_RATE( 117500000, 3, 235, 16),
+ RK3066_PLL_RATE( 115500000, 1, 77, 16),
+ RK3066_PLL_RATE( 108000000, 1, 72, 16),
+ RK3066_PLL_RATE( 88750000, 6, 355, 16),
+ RK3066_PLL_RATE( 71000000, 3, 142, 16),
+ RK3066_PLL_RATE( 74250000, 8, 297, 12),
+ RK3066_PLL_RATE( 78750000, 4, 210, 16),
+ RK3066_PLL_RATE( 78800000, 15, 788, 16),
+ RK3066_PLL_RATE( 75000000, 2, 100, 16),
+ RK3066_PLL_RATE( 65000000, 3, 130, 16),
+ RK3066_PLL_RATE( 136750000, 8, 547, 12),
+ RK3066_PLL_RATE( 106500000, 1, 71, 16),
+ RK3066_PLL_RATE( 88750000, 6, 355, 16),
+ RK3066_PLL_RATE( 67500000, 8, 315, 14),
+ RK3066_PLL_RATE( 49500000, 1, 33, 16),
+ RK3066_PLL_RATE( 40000000, 3, 80, 16),
+ RK3066_PLL_RATE( 36000000, 1, 24, 16),
+ RK3066_PLL_RATE( 35500000, 3, 71, 16),
RK3066_PLL_RATE( 48000000, 1, 64, 32),
+ RK3066_PLL_RATE( 102250000, 6, 409, 16),
+ RK3066_PLL_RATE( 101000000, 3, 202, 16),
+ RK3066_PLL_RATE( 94500000, 1, 63, 16),
+ RK3066_PLL_RATE( 88750000, 6, 355, 16),
+ RK3066_PLL_RATE( 85500000, 1, 57, 16),
+ RK3066_PLL_RATE( 83500000, 3, 167, 16),
+ RK3066_PLL_RATE( 79500000, 1, 53, 16),
+ RK3066_PLL_RATE( 78750000, 2, 105, 16),
+ RK3066_PLL_RATE( 75000000, 1, 50, 16),
+ RK3066_PLL_RATE( 74250000, 2, 99, 16),
+ RK3066_PLL_RATE( 73250000, 6, 293, 16),
+ RK3066_PLL_RATE( 72000000, 1, 48, 16),
+ RK3066_PLL_RATE( 71000000, 3, 142, 16),
+ RK3066_PLL_RATE( 68250000, 2, 91, 16),
+ RK3066_PLL_RATE( 65000000, 3, 130, 16),
+ RK3066_PLL_RATE( 56250000, 2, 75, 16),
+ RK3066_PLL_RATE( 50000000, 3, 100, 16),
+ RK3066_PLL_RATE( 49500000, 1, 33, 16),
+ RK3066_PLL_RATE( 40000000, 3, 80, 16),
+ RK3066_PLL_RATE( 36000000, 1, 24, 16),
+ RK3066_PLL_RATE( 35500000, 3, 71, 16),
+ RK3066_PLL_RATE( 33750000, 2, 45, 16),
+ RK3066_PLL_RATE( 31500000, 1, 21, 16),
{ /* sentinel */ },
};

View File

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm64 4.4.83 Kernel Configuration
# Linux/arm64 4.4.103 Kernel Configuration
#
CONFIG_ARM64=y
CONFIG_64BIT=y
@ -150,9 +150,7 @@ CONFIG_NET_NS=y
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=" "
CONFIG_INITRAMFS_ROOT_UID=0
CONFIG_INITRAMFS_ROOT_GID=0
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_LZMA is not set
@ -495,6 +493,7 @@ CONFIG_BINFMT_SCRIPT=y
CONFIG_COREDUMP=y
CONFIG_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_KEYS_COMPAT=y
#
# Power management options
@ -563,7 +562,6 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_CPU_FREQ_GOV_SCHED=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
#
@ -814,6 +812,7 @@ CONFIG_STP=m
CONFIG_BRIDGE=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_HAVE_NET_DSA=y
# CONFIG_NET_DSA is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
CONFIG_LLC=m
@ -1126,6 +1125,7 @@ CONFIG_ROCKCHIP_SCR=y
CONFIG_SRAM=y
# CONFIG_MEMORY_STATE_TIME is not set
# CONFIG_USB_CAM_GPIO is not set
# CONFIG_GPIO_DET is not set
# CONFIG_C2PORT is not set
#
@ -1533,6 +1533,7 @@ CONFIG_RT2X00_LIB_LEDS=y
# CONFIG_RTL_CARDS is not set
# CONFIG_RTL8XXXU is not set
CONFIG_WL_ROCKCHIP=y
# CONFIG_WIFI_BUILD_MODULE is not set
# CONFIG_WIFI_LOAD_DRIVER_WHEN_KERNEL_BOOTUP is not set
# CONFIG_AP6XXX is not set
CONFIG_RTL_WIRELESS_SOLUTION=y
@ -1683,6 +1684,7 @@ CONFIG_TOUCHSCREEN_ATMEL_MXT=y
# CONFIG_TOUCHSCREEN_GSLX680_D708 is not set
# CONFIG_TOUCHSCREEN_GSLX680_PAD is not set
# CONFIG_TOUCHSCREEN_GSLX680_VR is not set
# CONFIG_TOUCHSCREEN_GSLX680_FIREFLY is not set
# CONFIG_TOUCHSCREEN_GSL3673 is not set
# CONFIG_TOUCHSCREEN_GT9XX is not set
# CONFIG_TOUCHSCREEN_ILI210X is not set
@ -1816,9 +1818,13 @@ CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DMA=y
# CONFIG_SERIAL_8250_PCI is not set
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
CONFIG_SERIAL_8250_NR_UARTS=5
CONFIG_SERIAL_8250_RUNTIME_UARTS=5
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_SHARE_IRQ is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
# CONFIG_SERIAL_8250_RSA is not set
CONFIG_SERIAL_8250_FSL=y
CONFIG_SERIAL_8250_DW=y
# CONFIG_SERIAL_8250_RT288X is not set
@ -2109,6 +2115,7 @@ CONFIG_CHARGER_BQ24735=y
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
# CONFIG_BATTERY_EC is not set
# CONFIG_BATTERY_CW2015 is not set
# CONFIG_BATTERY_RK816 is not set
# CONFIG_BATTERY_RK818 is not set
# CONFIG_CHARGER_RK818 is not set
# CONFIG_CHARGER_RT9455 is not set
@ -2566,7 +2573,9 @@ CONFIG_ROCKCHIP_ANALOGIX_DP=y
CONFIG_ROCKCHIP_INNO_HDMI=y
CONFIG_ROCKCHIP_LVDS=y
CONFIG_ROCKCHIP_DRM_TVE=y
# CONFIG_ROCKCHIP_RGB is not set
# CONFIG_ROCKCHIP_DRM_BACKLIGHT is not set
# CONFIG_ROCKCHIP_RK3066_HDMI is not set
# CONFIG_DRM_UDL is not set
# CONFIG_DRM_AST is not set
# CONFIG_DRM_MGAG200 is not set
@ -2868,13 +2877,17 @@ CONFIG_SND_SOC_ES8316=y
# CONFIG_SND_SOC_ES8323 is not set
CONFIG_SND_SOC_HDMI_CODEC=y
# CONFIG_SND_SOC_ES8328 is not set
# CONFIG_SND_SOC_ES8328_I2C is not set
# CONFIG_SND_SOC_ES8396 is not set
# CONFIG_SND_SOC_GTM601 is not set
# CONFIG_SND_SOC_GVA_CODEC is not set
# CONFIG_SND_SOC_FM1288 is not set
CONFIG_SND_SOC_MAX98090=y
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM1792A is not set
# CONFIG_SND_SOC_PCM512x_I2C is not set
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_RK312X is not set
CONFIG_SND_SOC_RK3328=y
CONFIG_SND_SOC_RL6231=y
CONFIG_SND_SOC_RT5616=y
@ -3375,6 +3388,7 @@ CONFIG_LEDS_GPIO=y
# CONFIG_LEDS_TCA6507 is not set
# CONFIG_LEDS_TLC591XX is not set
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_IS31FL32XX is not set
#
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
@ -3748,6 +3762,7 @@ CONFIG_ANDROID_VERSION=0x07010000
CONFIG_ROCKCHIP_CPUINFO=y
# CONFIG_ROCKCHIP_DEVICEINFO is not set
# CONFIG_ROCKCHIP_PM_TEST is not set
CONFIG_ROCKCHIP_GRF=y
CONFIG_ROCKCHIP_PM_DOMAINS=y
# CONFIG_ROCKCHIP_PVTM is not set
CONFIG_ROCKCHIP_SUSPEND_MODE=y
@ -3769,6 +3784,7 @@ CONFIG_DEVFREQ_GOV_USERSPACE=y
# CONFIG_ARM_ROCKCHIP_DMC_DEVFREQ is not set
CONFIG_PM_DEVFREQ_EVENT=y
# CONFIG_DEVFREQ_EVENT_ROCKCHIP_DFI is not set
# CONFIG_DEVFREQ_EVENT_ROCKCHIP_NOCP is not set
CONFIG_EXTCON=y
#
@ -4115,10 +4131,12 @@ CONFIG_F2FS_STAT_FS=y
# CONFIG_F2FS_FS_XATTR is not set
CONFIG_F2FS_CHECK_FS=y
# CONFIG_F2FS_IO_TRACE is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
# CONFIG_FS_DAX is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_FILE_LOCKING=y
# CONFIG_FS_ENCRYPTION is not set
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
@ -4440,6 +4458,7 @@ CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
CONFIG_FUNCTION_TRACER=y
CONFIG_FUNCTION_GRAPH_TRACER=y
# CONFIG_PREEMPTIRQ_EVENTS is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_FTRACE_SYSCALLS is not set
@ -4583,7 +4602,7 @@ CONFIG_CRYPTO_HMAC=y
# Digest
#
CONFIG_CRYPTO_CRC32C=y
# CONFIG_CRYPTO_CRC32 is not set
CONFIG_CRYPTO_CRC32=y
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_GHASH=y
# CONFIG_CRYPTO_POLY1305 is not set

View File

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm 4.4.83 Kernel Configuration
# Linux/arm 4.4.103 Kernel Configuration
#
CONFIG_ARM=y
CONFIG_ARM_HAS_SG_CHAIN=y
@ -145,9 +145,7 @@ CONFIG_NET_NS=y
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=" "
CONFIG_INITRAMFS_ROOT_UID=0
CONFIG_INITRAMFS_ROOT_GID=0
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_LZMA is not set
@ -582,7 +580,6 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_CPU_FREQ_GOV_SCHED=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
#
@ -898,6 +895,7 @@ CONFIG_STP=m
CONFIG_BRIDGE=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_HAVE_NET_DSA=y
# CONFIG_NET_DSA is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
CONFIG_LLC=m
@ -1122,6 +1120,7 @@ CONFIG_BLK_DEV_RAM_SIZE=4096
# CONFIG_SRAM is not set
# CONFIG_MEMORY_STATE_TIME is not set
# CONFIG_USB_CAM_GPIO is not set
# CONFIG_GPIO_DET is not set
# CONFIG_C2PORT is not set
#
@ -1432,14 +1431,15 @@ CONFIG_RT2X00_LIB_LEDS=y
# CONFIG_RTL_CARDS is not set
# CONFIG_RTL8XXXU is not set
CONFIG_WL_ROCKCHIP=y
CONFIG_WIFI_LOAD_DRIVER_WHEN_KERNEL_BOOTUP=y
# CONFIG_WIFI_BUILD_MODULE is not set
# CONFIG_WIFI_LOAD_DRIVER_WHEN_KERNEL_BOOTUP is not set
# CONFIG_AP6XXX is not set
CONFIG_RTL_WIRELESS_SOLUTION=y
# CONFIG_RTL8188EU is not set
# CONFIG_RTL8188FU is not set
# CONFIG_RTL8189ES is not set
# CONFIG_RTL8189FS is not set
CONFIG_RTL8723BS=y
# CONFIG_RTL8723BS is not set
# CONFIG_RTL8723BU is not set
# CONFIG_RTL8723CS is not set
# CONFIG_RTL8723DS is not set
@ -1580,6 +1580,7 @@ CONFIG_TOUCHSCREEN_ATMEL_MXT=y
# CONFIG_TOUCHSCREEN_GSLX680_D708 is not set
# CONFIG_TOUCHSCREEN_GSLX680_PAD is not set
# CONFIG_TOUCHSCREEN_GSLX680_VR is not set
# CONFIG_TOUCHSCREEN_GSLX680_FIREFLY is not set
# CONFIG_TOUCHSCREEN_GSL3673 is not set
# CONFIG_TOUCHSCREEN_GT9XX is not set
# CONFIG_TOUCHSCREEN_ILI210X is not set
@ -1972,6 +1973,7 @@ CONFIG_CHARGER_BQ24735=y
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
# CONFIG_BATTERY_EC is not set
# CONFIG_BATTERY_CW2015 is not set
# CONFIG_BATTERY_RK816 is not set
# CONFIG_BATTERY_RK818 is not set
# CONFIG_CHARGER_RK818 is not set
# CONFIG_CHARGER_RT9455 is not set
@ -2409,7 +2411,9 @@ CONFIG_ROCKCHIP_ANALOGIX_DP=y
CONFIG_ROCKCHIP_INNO_HDMI=y
CONFIG_ROCKCHIP_LVDS=y
# CONFIG_ROCKCHIP_DRM_TVE is not set
# CONFIG_ROCKCHIP_RGB is not set
# CONFIG_ROCKCHIP_DRM_BACKLIGHT is not set
# CONFIG_ROCKCHIP_RK3066_HDMI is not set
# CONFIG_DRM_UDL is not set
# CONFIG_DRM_ARMADA is not set
# CONFIG_DRM_TILCDC is not set
@ -2688,13 +2692,17 @@ CONFIG_SND_SOC_I2C_AND_SPI=y
CONFIG_SND_SOC_ES8323=y
CONFIG_SND_SOC_HDMI_CODEC=y
# CONFIG_SND_SOC_ES8328 is not set
# CONFIG_SND_SOC_ES8328_I2C is not set
# CONFIG_SND_SOC_ES8396 is not set
# CONFIG_SND_SOC_GTM601 is not set
# CONFIG_SND_SOC_GVA_CODEC is not set
# CONFIG_SND_SOC_FM1288 is not set
CONFIG_SND_SOC_MAX98090=y
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM1792A is not set
# CONFIG_SND_SOC_PCM512x_I2C is not set
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_RK312X is not set
# CONFIG_SND_SOC_RK3328 is not set
CONFIG_SND_SOC_RL6231=y
CONFIG_SND_SOC_RT5616=y
@ -3165,6 +3173,7 @@ CONFIG_LEDS_GPIO=y
# CONFIG_LEDS_TCA6507 is not set
# CONFIG_LEDS_TLC591XX is not set
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_IS31FL32XX is not set
#
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
@ -3528,6 +3537,7 @@ CONFIG_ANDROID_VERSION=0x07010000
CONFIG_ROCKCHIP_CPUINFO=y
# CONFIG_ROCKCHIP_DEVICEINFO is not set
# CONFIG_ROCKCHIP_PM_TEST is not set
CONFIG_ROCKCHIP_GRF=y
CONFIG_ROCKCHIP_PM_DOMAINS=y
# CONFIG_ROCKCHIP_PVTM is not set
# CONFIG_SUNXI_SRAM is not set
@ -3873,9 +3883,11 @@ CONFIG_F2FS_STAT_FS=y
# CONFIG_F2FS_FS_XATTR is not set
CONFIG_F2FS_CHECK_FS=y
# CONFIG_F2FS_IO_TRACE is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_FILE_LOCKING=y
# CONFIG_FS_ENCRYPTION is not set
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
@ -4191,6 +4203,7 @@ CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
CONFIG_FUNCTION_TRACER=y
CONFIG_FUNCTION_GRAPH_TRACER=y
# CONFIG_PREEMPTIRQ_EVENTS is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_FTRACE_SYSCALLS is not set
@ -4338,7 +4351,7 @@ CONFIG_CRYPTO_HMAC=y
# Digest
#
CONFIG_CRYPTO_CRC32C=y
# CONFIG_CRYPTO_CRC32 is not set
CONFIG_CRYPTO_CRC32=y
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_GHASH=y
# CONFIG_CRYPTO_POLY1305 is not set

View File

@ -1,322 +1,7 @@
From 1dc3dd7e80a63c951b8551393007e2af7ce93cd2 Mon Sep 17 00:00:00 2001
From: Eric Nelson <eric@nelint.com>
Date: Sat, 3 Oct 2015 08:18:50 -0700
Subject: [PATCH 01/10] UPSTREAM: [media] rc-core: define a default timeout for
drivers
A default timeout value of 125 ms should work for all decoders.
Declare a constant to help standardize its' use.
Signed-off-by: Eric Nelson <eric@nelint.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
(cherry picked from commit c8e1bbc52d259a07a81b0f845191ee901ff44e01)
---
include/media/rc-core.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/media/rc-core.h b/include/media/rc-core.h
index ec921f6538c7..f6494709e230 100644
--- a/include/media/rc-core.h
+++ b/include/media/rc-core.h
@@ -239,6 +239,7 @@ static inline void init_ir_raw_event(struct ir_raw_event *ev)
memset(ev, 0, sizeof(*ev));
}
+#define IR_DEFAULT_TIMEOUT MS_TO_NS(125)
#define IR_MAX_DURATION 500000000 /* 500 ms */
#define US_TO_NS(usec) ((usec) * 1000)
#define MS_TO_US(msec) ((msec) * 1000)
From 3936a27b58de10cd46fea8ea2eb8aa88384b55c8 Mon Sep 17 00:00:00 2001
From: Eric Nelson <eric@nelint.com>
Date: Wed, 23 Sep 2015 11:07:08 -0300
Subject: [PATCH 02/10] UPSTREAM: [media] rc: gpio-ir-recv: add timeout on idle
Many decoders require a trailing space (period without IR illumination)
to be delivered before completing a decode.
Since the gpio-ir-recv driver only delivers events on gpio transitions,
a single IR symbol (caused by a quick touch on an IR remote) will not
be properly decoded without the use of a timer to flush the tail end
state of the IR receiver.
This patch initializes and uses a timer and the timeout field of rcdev
to complete the stream and allow decode.
The timeout can be overridden through the use of the LIRC_SET_REC_TIMEOUT
ioctl.
Signed-off-by: Eric Nelson <eric@nelint.com>
Acked-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
(cherry picked from commit 3fb136f3392dfb2530fd490718b0652f1001b36b)
---
drivers/media/rc/gpio-ir-recv.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/drivers/media/rc/gpio-ir-recv.c b/drivers/media/rc/gpio-ir-recv.c
index 7dbc9ca6d885..f62e3f1f9d9d 100644
--- a/drivers/media/rc/gpio-ir-recv.c
+++ b/drivers/media/rc/gpio-ir-recv.c
@@ -30,6 +30,7 @@ struct gpio_rc_dev {
struct rc_dev *rcdev;
int gpio_nr;
bool active_low;
+ struct timer_list flush_timer;
};
#ifdef CONFIG_OF
@@ -93,12 +94,26 @@ static irqreturn_t gpio_ir_recv_irq(int irq, void *dev_id)
if (rc < 0)
goto err_get_value;
+ mod_timer(&gpio_dev->flush_timer,
+ jiffies + nsecs_to_jiffies(gpio_dev->rcdev->timeout));
+
ir_raw_event_handle(gpio_dev->rcdev);
err_get_value:
return IRQ_HANDLED;
}
+static void flush_timer(unsigned long arg)
+{
+ struct gpio_rc_dev *gpio_dev = (struct gpio_rc_dev *)arg;
+ DEFINE_IR_RAW_EVENT(ev);
+
+ ev.timeout = true;
+ ev.duration = gpio_dev->rcdev->timeout;
+ ir_raw_event_store(gpio_dev->rcdev, &ev);
+ ir_raw_event_handle(gpio_dev->rcdev);
+}
+
static int gpio_ir_recv_probe(struct platform_device *pdev)
{
struct gpio_rc_dev *gpio_dev;
@@ -144,6 +159,9 @@ static int gpio_ir_recv_probe(struct platform_device *pdev)
rcdev->input_id.version = 0x0100;
rcdev->dev.parent = &pdev->dev;
rcdev->driver_name = GPIO_IR_DRIVER_NAME;
+ rcdev->min_timeout = 0;
+ rcdev->timeout = IR_DEFAULT_TIMEOUT;
+ rcdev->max_timeout = 10 * IR_DEFAULT_TIMEOUT;
if (pdata->allowed_protos)
rcdev->allowed_protocols = pdata->allowed_protos;
else
@@ -154,6 +172,9 @@ static int gpio_ir_recv_probe(struct platform_device *pdev)
gpio_dev->gpio_nr = pdata->gpio_nr;
gpio_dev->active_low = pdata->active_low;
+ setup_timer(&gpio_dev->flush_timer, flush_timer,
+ (unsigned long)gpio_dev);
+
rc = gpio_request(pdata->gpio_nr, "gpio-ir-recv");
if (rc < 0)
goto err_gpio_request;
@@ -196,6 +217,7 @@ static int gpio_ir_recv_remove(struct platform_device *pdev)
struct gpio_rc_dev *gpio_dev = platform_get_drvdata(pdev);
free_irq(gpio_to_irq(gpio_dev->gpio_nr), gpio_dev);
+ del_timer_sync(&gpio_dev->flush_timer);
rc_unregister_device(gpio_dev->rcdev);
gpio_free(gpio_dev->gpio_nr);
kfree(gpio_dev);
From 6ca51342bb4d92810c81f8bdfa9e632ddd5fc3b5 Mon Sep 17 00:00:00 2001
From: Sean Young <sean@mess.org>
Date: Thu, 26 Jan 2017 14:37:33 -0200
Subject: [PATCH 03/10] UPSTREAM: [media] gpio-ir: do not allow a timeout of 0
According to the documentation, a timeout of 0 turns off timeouts,
which is not the case.
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit ee5310e66eab685fb42b3b585b00a92b67fb59d7)
---
drivers/media/rc/gpio-ir-recv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/rc/gpio-ir-recv.c b/drivers/media/rc/gpio-ir-recv.c
index f62e3f1f9d9d..56cf716d0cd4 100644
--- a/drivers/media/rc/gpio-ir-recv.c
+++ b/drivers/media/rc/gpio-ir-recv.c
@@ -159,7 +159,7 @@ static int gpio_ir_recv_probe(struct platform_device *pdev)
rcdev->input_id.version = 0x0100;
rcdev->dev.parent = &pdev->dev;
rcdev->driver_name = GPIO_IR_DRIVER_NAME;
- rcdev->min_timeout = 0;
+ rcdev->min_timeout = 1;
rcdev->timeout = IR_DEFAULT_TIMEOUT;
rcdev->max_timeout = 10 * IR_DEFAULT_TIMEOUT;
if (pdata->allowed_protos)
From 2005c0284c38ad137ed8bc45fc9f164ebbff2786 Mon Sep 17 00:00:00 2001
From: Sean Young <sean@mess.org>
Date: Thu, 15 Dec 2016 07:37:48 -0200
Subject: [PATCH 04/10] UPSTREAM: [media] rc: unify nec32 protocol scancode
format
There are two different encodings used for nec32:
- The ir-nec-decoder.c decoder treats it as 32 bit msb first.
- The img-ir decoder/encoder, winbond wakeup, dib0700, ir-ctl userspace,
treat nec32 analogous to necx and nec: 4 bytes, each lsb first. So this
format reverses the 4 bytes.
There are arguments to be had for both formats, but we should not use
different formats in different parts of the kernel. Selecting the second
format introduces the least code churn. It does mean that the TiVo keymap
needs updating.
This change was submitted before as "18bc174 [media] media: rc: change
32bit NEC scancode format", which was reverted because it was unclear
what scancode rc drivers produce. There are now more examples of drivers
which produce nec32 in lsb format.
The TiVo keymap is verified against the Nero Liquid TiVo remote. The
keymap is not for the Tivo DVR remote, which uses rc-5.
Signed-off-by: Sean Young <sean@mess.org>
Cc: James Hogan <james.hogan@imgtec.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit 6eae57e9d5b01d0ee4b1932b66102b1b9b6cd93d)
---
drivers/media/rc/ir-nec-decoder.c | 5 ++-
drivers/media/rc/keymaps/rc-tivo.c | 86 +++++++++++++++++++-------------------
2 files changed, 47 insertions(+), 44 deletions(-)
diff --git a/drivers/media/rc/ir-nec-decoder.c b/drivers/media/rc/ir-nec-decoder.c
index 7b81fec0820f..0af0a0a3beb6 100644
--- a/drivers/media/rc/ir-nec-decoder.c
+++ b/drivers/media/rc/ir-nec-decoder.c
@@ -172,7 +172,10 @@ static int ir_nec_decode(struct rc_dev *dev, struct ir_raw_event ev)
if (send_32bits) {
/* NEC transport, but modified protocol, used by at
* least Apple and TiVo remotes */
- scancode = data->bits;
+ scancode = not_address << 24 |
+ address << 16 |
+ not_command << 8 |
+ command;
IR_dprintk(1, "NEC (modified) scancode 0x%08x\n", scancode);
} else if ((address ^ not_address) != 0xff) {
/* Extended NEC */
diff --git a/drivers/media/rc/keymaps/rc-tivo.c b/drivers/media/rc/keymaps/rc-tivo.c
index 454e06295692..5cc1b456e329 100644
--- a/drivers/media/rc/keymaps/rc-tivo.c
+++ b/drivers/media/rc/keymaps/rc-tivo.c
@@ -15,62 +15,62 @@
* Initial mapping is for the TiVo remote included in the Nero LiquidTV bundle,
* which also ships with a TiVo-branded IR transceiver, supported by the mceusb
* driver. Note that the remote uses an NEC-ish protocol, but instead of having
- * a command/not_command pair, it has a vendor ID of 0xa10c, but some keys, the
+ * a command/not_command pair, it has a vendor ID of 0x3085, but some keys, the
* NEC extended checksums do pass, so the table presently has the intended
* values and the checksum-passed versions for those keys.
*/
static struct rc_map_table tivo[] = {
- { 0xa10c900f, KEY_MEDIA }, /* TiVo Button */
- { 0xa10c0807, KEY_POWER2 }, /* TV Power */
- { 0xa10c8807, KEY_TV }, /* Live TV/Swap */
- { 0xa10c2c03, KEY_VIDEO_NEXT }, /* TV Input */
- { 0xa10cc807, KEY_INFO },
- { 0xa10cfa05, KEY_CYCLEWINDOWS }, /* Window */
+ { 0x3085f009, KEY_MEDIA }, /* TiVo Button */
+ { 0x3085e010, KEY_POWER2 }, /* TV Power */
+ { 0x3085e011, KEY_TV }, /* Live TV/Swap */
+ { 0x3085c034, KEY_VIDEO_NEXT }, /* TV Input */
+ { 0x3085e013, KEY_INFO },
+ { 0x3085a05f, KEY_CYCLEWINDOWS }, /* Window */
{ 0x0085305f, KEY_CYCLEWINDOWS },
- { 0xa10c6c03, KEY_EPG }, /* Guide */
+ { 0x3085c036, KEY_EPG }, /* Guide */
- { 0xa10c2807, KEY_UP },
- { 0xa10c6807, KEY_DOWN },
- { 0xa10ce807, KEY_LEFT },
- { 0xa10ca807, KEY_RIGHT },
+ { 0x3085e014, KEY_UP },
+ { 0x3085e016, KEY_DOWN },
+ { 0x3085e017, KEY_LEFT },
+ { 0x3085e015, KEY_RIGHT },
- { 0xa10c1807, KEY_SCROLLDOWN }, /* Red Thumbs Down */
- { 0xa10c9807, KEY_SELECT },
- { 0xa10c5807, KEY_SCROLLUP }, /* Green Thumbs Up */
+ { 0x3085e018, KEY_SCROLLDOWN }, /* Red Thumbs Down */
+ { 0x3085e019, KEY_SELECT },
+ { 0x3085e01a, KEY_SCROLLUP }, /* Green Thumbs Up */
- { 0xa10c3807, KEY_VOLUMEUP },
- { 0xa10cb807, KEY_VOLUMEDOWN },
- { 0xa10cd807, KEY_MUTE },
- { 0xa10c040b, KEY_RECORD },
- { 0xa10c7807, KEY_CHANNELUP },
- { 0xa10cf807, KEY_CHANNELDOWN },
+ { 0x3085e01c, KEY_VOLUMEUP },
+ { 0x3085e01d, KEY_VOLUMEDOWN },
+ { 0x3085e01b, KEY_MUTE },
+ { 0x3085d020, KEY_RECORD },
+ { 0x3085e01e, KEY_CHANNELUP },
+ { 0x3085e01f, KEY_CHANNELDOWN },
{ 0x0085301f, KEY_CHANNELDOWN },
- { 0xa10c840b, KEY_PLAY },
- { 0xa10cc40b, KEY_PAUSE },
- { 0xa10ca40b, KEY_SLOW },
- { 0xa10c440b, KEY_REWIND },
- { 0xa10c240b, KEY_FASTFORWARD },
- { 0xa10c640b, KEY_PREVIOUS },
- { 0xa10ce40b, KEY_NEXT }, /* ->| */
+ { 0x3085d021, KEY_PLAY },
+ { 0x3085d023, KEY_PAUSE },
+ { 0x3085d025, KEY_SLOW },
+ { 0x3085d022, KEY_REWIND },
+ { 0x3085d024, KEY_FASTFORWARD },
+ { 0x3085d026, KEY_PREVIOUS },
+ { 0x3085d027, KEY_NEXT }, /* ->| */
- { 0xa10c220d, KEY_ZOOM }, /* Aspect */
- { 0xa10c120d, KEY_STOP },
- { 0xa10c520d, KEY_DVD }, /* DVD Menu */
+ { 0x3085b044, KEY_ZOOM }, /* Aspect */
+ { 0x3085b048, KEY_STOP },
+ { 0x3085b04a, KEY_DVD }, /* DVD Menu */
- { 0xa10c140b, KEY_NUMERIC_1 },
- { 0xa10c940b, KEY_NUMERIC_2 },
- { 0xa10c540b, KEY_NUMERIC_3 },
- { 0xa10cd40b, KEY_NUMERIC_4 },
- { 0xa10c340b, KEY_NUMERIC_5 },
- { 0xa10cb40b, KEY_NUMERIC_6 },
- { 0xa10c740b, KEY_NUMERIC_7 },
- { 0xa10cf40b, KEY_NUMERIC_8 },
+ { 0x3085d028, KEY_NUMERIC_1 },
+ { 0x3085d029, KEY_NUMERIC_2 },
+ { 0x3085d02a, KEY_NUMERIC_3 },
+ { 0x3085d02b, KEY_NUMERIC_4 },
+ { 0x3085d02c, KEY_NUMERIC_5 },
+ { 0x3085d02d, KEY_NUMERIC_6 },
+ { 0x3085d02e, KEY_NUMERIC_7 },
+ { 0x3085d02f, KEY_NUMERIC_8 },
{ 0x0085302f, KEY_NUMERIC_8 },
- { 0xa10c0c03, KEY_NUMERIC_9 },
- { 0xa10c8c03, KEY_NUMERIC_0 },
- { 0xa10ccc03, KEY_ENTER },
- { 0xa10c4c03, KEY_CLEAR },
+ { 0x3085c030, KEY_NUMERIC_9 },
+ { 0x3085c031, KEY_NUMERIC_0 },
+ { 0x3085c033, KEY_ENTER },
+ { 0x3085c032, KEY_CLEAR },
};
static struct rc_map_list tivo_map = {
From 9f1c6420da8fa2c798ce0ac1123a50f1a29c615b Mon Sep 17 00:00:00 2001
From a91ba53b3b923f767aa500c2209ebeae364a1f4e Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Wed, 6 Sep 2017 18:39:09 +0200
Subject: [PATCH 05/10] [media] rc/keymaps: add keytable for Pine64 IR Remote
Subject: [PATCH 1/7] [media] rc/keymaps: add keytable for Pine64 IR Remote
Controller
---
@ -422,17 +107,17 @@ index 7c4bbc4dfab4..3a34a9631dd1 100644
#define RC_MAP_PINNACLE_GREY "rc-pinnacle-grey"
#define RC_MAP_PINNACLE_PCTV_HD "rc-pinnacle-pctv-hd"
From db1fde71dc3ebdc6651f690a8357ef576b677b52 Mon Sep 17 00:00:00 2001
From 6779fbca58a5e13f58b0ab1b68aabcc240631c1b Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Wed, 6 Sep 2017 18:39:09 +0200
Subject: [PATCH 06/10] arm64: dts: rockchip: rk3328-rock64: add ir-receiver
Subject: [PATCH 2/7] arm64: dts: rockchip: rk3328-rock64: add ir-receiver
---
arch/arm64/boot/dts/rockchip/rk3328-rock64.dts | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
index 9bd60b7c3d46..8369c6ef5508 100644
index f2e3358a119b..28528e0ad926 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
@@ -70,6 +70,14 @@
@ -447,10 +132,10 @@ index 9bd60b7c3d46..8369c6ef5508 100644
+ pinctrl-0 = <&ir_int>;
+ };
+
gpio-leds {
leds {
compatible = "gpio-leds";
@@ -478,6 +486,12 @@
@@ -489,6 +497,12 @@
<2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>; /* gpio2_a6 */
};
};
@ -464,10 +149,10 @@ index 9bd60b7c3d46..8369c6ef5508 100644
&rkvdec {
From a636d61de3f24941ef6270f2988461796a791304 Mon Sep 17 00:00:00 2001
From 090e35d622cd9d8280c86fe5f199558d7e4918a3 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Wed, 6 Sep 2017 18:39:09 +0200
Subject: [PATCH 07/10] [media] rc/keymaps: add keytable for ODROID IR Remote
Subject: [PATCH 3/7] [media] rc/keymaps: add keytable for ODROID IR Remote
Controller
---
@ -560,10 +245,10 @@ index 3a34a9631dd1..f1badbfbca90 100644
#define RC_MAP_PINE64 "rc-pine64"
#define RC_MAP_PINNACLE_COLOR "rc-pinnacle-color"
From 6c1ce5d39bf5af66b3879468cc7125a5380502ab Mon Sep 17 00:00:00 2001
From 6f7300964103c68af09ba550844974369e8d6738 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Wed, 6 Sep 2017 18:39:09 +0200
Subject: [PATCH 08/10] [media] rc/keymaps: add keytable for WeTek Hub Remote
Subject: [PATCH 4/7] [media] rc/keymaps: add keytable for WeTek Hub Remote
Controller
---
@ -656,11 +341,11 @@ index f1badbfbca90..cd8590c99e22 100644
#define RC_MAP_VIDEOMATE_S350 "rc-videomate-s350"
#define RC_MAP_VIDEOMATE_TV_PVR "rc-videomate-tv-pvr"
From d8b71eb739d805595663ffd775f90b1bbcddb901 Mon Sep 17 00:00:00 2001
From fd26a6d33798774bef4a757eec1f3de8eba5235c Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Wed, 6 Sep 2017 18:39:09 +0200
Subject: [PATCH 09/10] [media] rc/keymaps: add keytable for WeTek Play 2
Remote Controller
Subject: [PATCH 5/7] [media] rc/keymaps: add keytable for WeTek Play 2 Remote
Controller
---
drivers/media/rc/keymaps/Makefile | 1 +
@ -783,17 +468,17 @@ index cd8590c99e22..93cac05a5170 100644
#define RC_MAP_VIDEOMATE_S350 "rc-videomate-s350"
#define RC_MAP_VIDEOMATE_TV_PVR "rc-videomate-tv-pvr"
From 32c677fa8e133ea7f9fcd28e9a591050a5c887bc Mon Sep 17 00:00:00 2001
From 0136a4003d867331afacd22d182ff444da2c5495 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Mon, 30 Oct 2017 23:47:18 +0100
Subject: [PATCH 10/10] arm64: dts: rockchip: rk3328-rockbox: add ir-receiver
Subject: [PATCH 6/7] arm64: dts: rockchip: rk3328-rockbox: add ir-receiver
---
arch/arm64/boot/dts/rockchip/rk3328-rockbox.dts | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rockbox.dts b/arch/arm64/boot/dts/rockchip/rk3328-rockbox.dts
index 06e0993b2707..5ce5606da1b1 100644
index 8ac8a8cc04ed..17ba816dc049 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-rockbox.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-rockbox.dts
@@ -84,6 +84,14 @@
@ -808,10 +493,10 @@ index 06e0993b2707..5ce5606da1b1 100644
+ pinctrl-0 = <&ir_int>;
+ };
+
gpio-leds {
leds {
compatible = "gpio-leds";
@@ -413,6 +421,12 @@
@@ -414,6 +422,12 @@
};
};
@ -824,3 +509,31 @@ index 06e0993b2707..5ce5606da1b1 100644
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins =
From 5e5a04d8a759f3799c9a623e4a41073091147d8e Mon Sep 17 00:00:00 2001
From: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Date: Thu, 19 Nov 2015 11:41:36 -0200
Subject: [PATCH 7/7] UPSTREAM: smsir.h: remove a now duplicated definition
(IR_DEFAULT_TIMEOUT)
This macro is now part of the core. Remove from Siano driver.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
(cherry picked from commit 850c8a7d68a761b5f11d5b443b5ece185e8068f4)
---
drivers/media/common/siano/smsir.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/media/common/siano/smsir.h b/drivers/media/common/siano/smsir.h
index fc8b7925c532..d9abd96ef48b 100644
--- a/drivers/media/common/siano/smsir.h
+++ b/drivers/media/common/siano/smsir.h
@@ -30,8 +30,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <linux/input.h>
#include <media/rc-core.h>
-#define IR_DEFAULT_TIMEOUT 100
-
struct smscore_device_t;
struct ir_t {

View File

@ -1,4 +1,4 @@
From c56c4116c4397018a66820f12cb5693a86fbd54d Mon Sep 17 00:00:00 2001
From bdebc59d2964ccd9bebcda4af71137c1c25bc912 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Mon, 14 Aug 2017 00:14:05 +0200
Subject: [PATCH] drm: dw-hdmi: change audio config
@ -8,10 +8,10 @@ Subject: [PATCH] drm: dw-hdmi: change audio config
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/bridge/dw-hdmi.c b/drivers/gpu/drm/bridge/dw-hdmi.c
index bddd28d517fc..08be25be01ab 100644
index 09b43a348525..a1cf88caeadd 100644
--- a/drivers/gpu/drm/bridge/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/dw-hdmi.c
@@ -605,18 +605,14 @@ static struct i2c_adapter *dw_hdmi_i2c_adapter(struct dw_hdmi *hdmi)
@@ -609,18 +609,14 @@ static struct i2c_adapter *dw_hdmi_i2c_adapter(struct dw_hdmi *hdmi)
static void hdmi_set_cts_n(struct dw_hdmi *hdmi, unsigned int cts,
unsigned int n)
{
@ -32,7 +32,7 @@ index bddd28d517fc..08be25be01ab 100644
hdmi_writeb(hdmi, (n >> 8) & 0xff, HDMI_AUD_N2);
hdmi_writeb(hdmi, n & 0xff, HDMI_AUD_N1);
}
@@ -761,7 +757,7 @@ static void hdmi_set_clk_regenerator(struct dw_hdmi *hdmi,
@@ -765,7 +761,7 @@ static void hdmi_set_clk_regenerator(struct dw_hdmi *hdmi,
spin_lock_irq(&hdmi->audio_lock);
hdmi->audio_n = n;
hdmi->audio_cts = cts;
@ -41,7 +41,7 @@ index bddd28d517fc..08be25be01ab 100644
spin_unlock_irq(&hdmi->audio_lock);
}
@@ -3067,8 +3063,8 @@ int dw_hdmi_bind(struct device *dev, struct device *master,
@@ -3532,8 +3528,8 @@ int dw_hdmi_bind(struct device *dev, struct device *master,
audio.read = hdmi_readb;
audio.mod = hdmi_modb;
audio.eld = hdmi->connector.eld;

View File

@ -0,0 +1,85 @@
From 3b22d9e27321d9c4bb601bd859029d4ce62bd49b Mon Sep 17 00:00:00 2001
From: LongChair <LongChair@hotmail.com>
Date: Sun, 26 Mar 2017 15:30:16 +0200
Subject: [PATCH 1/2] drm/rockchip: make video overlay bottom layer
---
drivers/gpu/drm/rockchip/rockchip_vop_reg.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c
index 9d92b9a55e67..833498ed6915 100644
--- a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c
+++ b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c
@@ -281,9 +281,9 @@ static const struct vop_ctrl rk3288_ctrl_data = {
*/
static const struct vop_win_data rk3288_vop_win_data[] = {
{ .base = 0x00, .phy = &rk3288_win01_data,
- .type = DRM_PLANE_TYPE_PRIMARY },
- { .base = 0x40, .phy = &rk3288_win01_data,
.type = DRM_PLANE_TYPE_OVERLAY },
+ { .base = 0x40, .phy = &rk3288_win01_data,
+ .type = DRM_PLANE_TYPE_PRIMARY },
{ .base = 0x00, .phy = &rk3288_win23_data,
.type = DRM_PLANE_TYPE_OVERLAY,
.area = rk3288_area_data,
@@ -974,10 +974,10 @@ static const struct vop_csc rk3328_win2_csc = {
static const struct vop_win_data rk3328_vop_win_data[] = {
{ .base = 0xd0, .phy = &rk3288_win01_data, .csc = &rk3328_win0_csc,
- .type = DRM_PLANE_TYPE_PRIMARY,
+ .type = DRM_PLANE_TYPE_OVERLAY,
.feature = WIN_FEATURE_HDR2SDR | WIN_FEATURE_SDR2HDR },
{ .base = 0x1d0, .phy = &rk3288_win01_data, .csc = &rk3328_win1_csc,
- .type = DRM_PLANE_TYPE_OVERLAY,
+ .type = DRM_PLANE_TYPE_PRIMARY,
.feature = WIN_FEATURE_SDR2HDR | WIN_FEATURE_PRE_OVERLAY },
{ .base = 0x2d0, .phy = &rk3288_win01_data, .csc = &rk3328_win2_csc,
.type = DRM_PLANE_TYPE_CURSOR,
From 04759d88467419ab1500908a909ed1775455b84d Mon Sep 17 00:00:00 2001
From: LongChair <LongChair@hotmail.com>
Date: Mon, 24 Apr 2017 09:48:54 +0200
Subject: [PATCH 2/2] drm : allow framebuffer and videomodes not to have same
size
DRM legacy doesn't allow that, will be only available with drm atomic.
Although, when running 4K modes, it's preferable to get a 1080p frambuffer that can be handlded properly by GPU and then use VOP to upscale that to 4K.
---
drivers/gpu/drm/drm_atomic_helper.c | 8 ++++----
drivers/gpu/drm/drm_crtc.c | 2 ++
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
index 9a513abd8a47..193997a5c640 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -2208,11 +2208,11 @@ int __drm_atomic_helper_set_config(struct drm_mode_set *set,
primary_state->src_x = set->x << 16;
primary_state->src_y = set->y << 16;
if (primary_state->rotation & (BIT(DRM_ROTATE_90) | BIT(DRM_ROTATE_270))) {
- primary_state->src_h = hdisplay << 16;
- primary_state->src_w = vdisplay << 16;
+ primary_state->src_h = set->fb->width << 16;
+ primary_state->src_w = set->fb->height << 16;
} else {
- primary_state->src_h = vdisplay << 16;
- primary_state->src_w = hdisplay << 16;
+ primary_state->src_h = set->fb->height << 16;
+ primary_state->src_w = set->fb->width << 16;
}
commit:
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 7cd13faf83ca..365e3d588163 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -2931,6 +2931,8 @@ int drm_crtc_check_viewport(const struct drm_crtc *crtc,
{
int hdisplay, vdisplay;
+ pr_info("%s: skip check\n", __func__);
+ return 0;
drm_crtc_get_hv_timing(mode, &hdisplay, &vdisplay);