]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
drm/exynos/hdmi: add 85.5MHz pixel clock for v14 HDMI PHY
authorDaniel Drake <drake@endlessm.com>
Fri, 29 Sep 2017 10:05:42 +0000 (12:05 +0200)
committerInki Dae <inki.dae@samsung.com>
Thu, 26 Oct 2017 00:06:34 +0000 (09:06 +0900)
Configuration details from Samsung. This enables 1366x768@60Hz,
which also needs the 256px timing hack to work around a mixer
limitation.

Signed-off-by: Daniel Drake <drake@endlessm.com>
Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
[a.hajda@samsung.com: rebased onto proposed patchset]
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_hdmi.c
drivers/gpu/drm/exynos/exynos_mixer.c

index 218914339cacbde226600027a915b30913056da7..1309b1c9e074130289ddbb51dab44d0a169206cc 100644 (file)
@@ -296,6 +296,15 @@ static const struct hdmiphy_config hdmiphy_v14_configs[] = {
                        0x54, 0x93, 0x24, 0x01, 0x00, 0x00, 0x01, 0x80,
                },
        },
+       {
+               .pixel_clock = 85500000,
+               .conf = {
+                       0x01, 0xd1, 0x24, 0x11, 0x40, 0x40, 0xd0, 0x08,
+                       0x84, 0xa0, 0xd6, 0xd8, 0x45, 0xa0, 0xac, 0x80,
+                       0x08, 0x80, 0x11, 0x04, 0x02, 0x22, 0x44, 0x86,
+                       0x54, 0x90, 0x24, 0x01, 0x00, 0x00, 0x01, 0x80,
+               },
+       },
        {
                .pixel_clock = 106500000,
                .conf = {
@@ -1257,7 +1266,7 @@ static void hdmi_v14_mode_apply(struct hdmi_context *hdata)
         * first line is distorted.
         */
        if ((m->vdisplay != am->vdisplay) &&
-           (m->hdisplay == 1280 || m->hdisplay == 1024))
+           (m->hdisplay == 1280 || m->hdisplay == 1024 || m->hdisplay == 1366))
                hquirk = 258;
 
        hdmi_reg_writev(hdata, HDMI_H_BLANK_0, 2, m->htotal - m->hdisplay);
index 714d72fd3bc5c2b8ded141e65deb4f5c7edc945a..dc5d79465f9b7f8708c09ccf6df097b90ac2c6f7 100644 (file)
@@ -1015,7 +1015,9 @@ static int mixer_mode_valid(struct exynos_drm_crtc *crtc,
            (w >= 1664 && w <= 1920 && h >= 936 && h <= 1080))
                return MODE_OK;
 
-       if ((w == 1024 && h == 768) || (w == 1280 && h == 1024))
+       if ((w == 1024 && h == 768) ||
+           (w == 1366 && h == 768) ||
+           (w == 1280 && h == 1024))
                return MODE_OK;
 
        return MODE_BAD;