armbian-build/patch/kernel/rockchip-dev/4011-MINIARM-set-npll-be-used-for-hdmi-only.patch
Miouyouyou 5ffefd40ab
[RFC] RK3288 : Add HDMI resolutions (#1887)
* 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>
2020-05-24 23:08:01 +02:00

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