summarylogtreecommitdiffstats
path: root/general-gpu-drm-add-new-display-resolution-2560x1440.patch
diff options
context:
space:
mode:
Diffstat (limited to 'general-gpu-drm-add-new-display-resolution-2560x1440.patch')
-rw-r--r--general-gpu-drm-add-new-display-resolution-2560x1440.patch76
1 files changed, 76 insertions, 0 deletions
diff --git a/general-gpu-drm-add-new-display-resolution-2560x1440.patch b/general-gpu-drm-add-new-display-resolution-2560x1440.patch
new file mode 100644
index 000000000000..4dadf47dcedf
--- /dev/null
+++ b/general-gpu-drm-add-new-display-resolution-2560x1440.patch
@@ -0,0 +1,76 @@
+From 9175674ca107a9090936d7373927567f41d1ae7e Mon Sep 17 00:00:00 2001
+From: Dongjin Kim <tobetter@gmail.com>
+Date: Thu, 10 Sep 2020 11:01:33 +0900
+Subject: [PATCH] ODROID-COMMON: gpu/drm: add new display resolution 2560x1440
+
+Signed-off-by: Joy Cho <joy.cho@hardkernel.com>
+Signed-off-by: Dongjin Kim <tobetter@gmail.com>
+---
+ drivers/gpu/drm/meson/meson_vclk.c | 18 ++++++++++++++++++
+ drivers/gpu/drm/meson/meson_venc.c | 5 +++--
+ 2 files changed, 21 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/gpu/drm/meson/meson_vclk.c b/drivers/gpu/drm/meson/meson_vclk.c
+index 2a82119eb58e..eb4c251d79b7 100644
+--- a/drivers/gpu/drm/meson/meson_vclk.c
++++ b/drivers/gpu/drm/meson/meson_vclk.c
+@@ -357,6 +357,8 @@ enum {
+ MESON_VCLK_HDMI_594000,
+ /* 2970 /1 /1 /1 /5 /1 => /1 /2 */
+ MESON_VCLK_HDMI_594000_YUV420,
++/* 4830 /2 /1 /2 /5 /1 => /1 /1 */
++ MESON_VCLK_HDMI_241500,
+ };
+
+ struct meson_vclk_params {
+@@ -467,6 +469,18 @@ struct meson_vclk_params {
+ .vid_pll_div = VID_PLL_DIV_5,
+ .vclk_div = 1,
+ },
++ [MESON_VCLK_HDMI_241500] = {
++ .pll_freq = 4830000,
++ .phy_freq = 2415000,
++ .venc_freq = 241500,
++ .vclk_freq = 241500,
++ .pixel_freq = 241500,
++ .pll_od1 = 2,
++ .pll_od2 = 1,
++ .pll_od3 = 2,
++ .vid_pll_div = VID_PLL_DIV_5,
++ .vclk_div = 1,
++ },
+ { /* sentinel */ },
+ };
+
+@@ -873,6 +887,10 @@ static void meson_vclk_set(struct meson_drm *priv, unsigned int pll_base_freq,
+ m = 0xf7;
+ frac = vic_alternate_clock ? 0x8148 : 0x10000;
+ break;
++ case 4830000:
++ m = 0xc9;
++ frac = 0xd560;
++ break;
+ }
+
+ meson_hdmi_pll_set_params(priv, m, frac, od1, od2, od3);
+diff --git a/drivers/gpu/drm/meson/meson_venc.c b/drivers/gpu/drm/meson/meson_venc.c
+index 3c55ed003359..559ab3b5e212 100644
+--- a/drivers/gpu/drm/meson/meson_venc.c
++++ b/drivers/gpu/drm/meson/meson_venc.c
+@@ -866,10 +866,11 @@ meson_venc_hdmi_supported_mode(const struct drm_display_mode *mode)
+ DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_NVSYNC))
+ return MODE_BAD;
+
+- if (mode->hdisplay < 640 || mode->hdisplay > 1920)
++ /* support higher resolution than 1920x1080 */
++ if (mode->hdisplay < 640 || mode->hdisplay > 2560)
+ return MODE_BAD_HVALUE;
+
+- if (mode->vdisplay < 480 || mode->vdisplay > 1200)
++ if (mode->vdisplay < 480 || mode->vdisplay > 1600)
+ return MODE_BAD_VVALUE;
+
+ return MODE_OK;
+--
+2.35.1
+