diff options
Diffstat (limited to 'general-gpu-drm-add-new-display-resolution-2560x1440.patch')
-rw-r--r-- | general-gpu-drm-add-new-display-resolution-2560x1440.patch | 76 |
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 + |