* patch: kernel: rockchip-dev: Handle more resolutions with HDMI (β) The added patch add more PLL configurations, in order to satisfy more HDMI frequencies requirements. This should allow users to benefit from more resolutions. However, this is fairly untested. I only tested it on my 1080p screen and, yeah, it works but so does the kernel without this patch. Signed-off-by: Miouyouyou (Myy) <myy@miouyouyou.fr> * patch: kernel: rockchip-dev: Handle more resolutions with HDMI (β) Now with proper patches names. Anyway : The added patch add more PLL configurations, in order to satisfy more HDMI frequencies requirements. This should allow users to benefit from more resolutions. However, this is fairly untested. I only tested it on my 1080p screen and, yeah, it works but it also does without this patch. So could anyone test this with the following configurations ? * [ ] A HDMI 4K screen * [ ] A HDMI 1366x768 screen resolution * [ ] A VGA screen with a VGA to HDMI adapter * [ ] A DVI screen with a DVI to HDMI adapter Signed-off-by: Miouyouyou (Myy) <myy@miouyouyou.fr> * Using the patches provided by @Kwiboo for HDMI This provides me way more resolutions, including interlaced modes. I don't see 4K modes, though the screen attached can't do it, so I still don't know if that can help provided 4K modes on mainline kernels. Signed-off-by: Miouyouyou (Myy) <myy@miouyouyou.fr> * Support for 4K screens Using fixes provided by @czak Tested and approved by @czak too ! Signed-off-by: Miouyouyou (Myy) <myy@miouyouyou.fr>
51 lines
2.2 KiB
Diff
51 lines
2.2 KiB
Diff
From f12f665a30838e00faef29dcab92dcd799cb5275 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 12/14] MINIARM: set npll be used for hdmi only
|
|
|
|
Change-Id: I8bebfb2cfb68e3dad172e5547d3886526ad5e912
|
|
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
|
|
---
|
|
arch/arm/boot/dts/rk3288.dtsi | 2 ++
|
|
drivers/clk/rockchip/clk-rk3288.c | 4 ++--
|
|
2 files changed, 4 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
|
|
index 9beb66216..42e3075b5 100644
|
|
--- a/arch/arm/boot/dts/rk3288.dtsi
|
|
+++ b/arch/arm/boot/dts/rk3288.dtsi
|
|
@@ -1031,6 +1031,8 @@ vopb: vop@ff930000 {
|
|
resets = <&cru SRST_LCDC0_AXI>, <&cru SRST_LCDC0_AHB>, <&cru SRST_LCDC0_DCLK>;
|
|
reset-names = "axi", "ahb", "dclk";
|
|
iommus = <&vopb_mmu>;
|
|
+ assigned-clocks = <&cru DCLK_VOP0>;
|
|
+ assigned-clock-parents = <&cru PLL_NPLL>;
|
|
status = "disabled";
|
|
|
|
vopb_out: port {
|
|
diff --git a/drivers/clk/rockchip/clk-rk3288.c b/drivers/clk/rockchip/clk-rk3288.c
|
|
index cc2a177bb..799207a2b 100644
|
|
--- a/drivers/clk/rockchip/clk-rk3288.c
|
|
+++ b/drivers/clk/rockchip/clk-rk3288.c
|
|
@@ -226,7 +226,7 @@ static struct rockchip_pll_clock rk3288_pll_clks[] __initdata = {
|
|
[gpll] = PLL(pll_rk3066, PLL_GPLL, "gpll", mux_pll_p, 0, RK3288_PLL_CON(12),
|
|
RK3288_MODE_CON, 12, 8, ROCKCHIP_PLL_SYNC_RATE, rk3288_pll_rates),
|
|
[npll] = PLL(pll_rk3066, PLL_NPLL, "npll", mux_pll_p, 0, RK3288_PLL_CON(16),
|
|
- RK3288_MODE_CON, 14, 9, ROCKCHIP_PLL_SYNC_RATE, rk3288_pll_rates),
|
|
+ RK3288_MODE_CON, 14, 9, 0, rk3288_pll_rates),
|
|
};
|
|
|
|
static struct clk_div_table div_hclk_cpu_t[] = {
|
|
@@ -438,7 +438,7 @@ static struct rockchip_clk_branch rk3288_clk_branches[] __initdata = {
|
|
RK3288_CLKSEL_CON(30), 14, 2, MFLAGS, 8, 5, DFLAGS,
|
|
RK3288_CLKGATE_CON(3), 4, GFLAGS),
|
|
|
|
- COMPOSITE(DCLK_VOP0, "dclk_vop0", mux_pll_src_cpll_gpll_npll_p, 0,
|
|
+ COMPOSITE(DCLK_VOP0, "dclk_vop0", mux_pll_src_cpll_gpll_npll_p, CLK_SET_RATE_NO_REPARENT | CLK_SET_RATE_PARENT,
|
|
RK3288_CLKSEL_CON(27), 0, 2, MFLAGS, 8, 8, DFLAGS,
|
|
RK3288_CLKGATE_CON(3), 1, GFLAGS),
|
|
COMPOSITE(DCLK_VOP1, "dclk_vop1", mux_pll_src_cpll_gpll_npll_p, 0,
|
|
--
|
|
2.26.2
|
|
|