summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Szyprowski <m.szyprowski@samsung.com>2016-01-26 09:45:13 +0100
committerSeung-Woo Kim <sw0312.kim@samsung.com>2016-12-14 13:50:36 +0900
commit80c0a067818a14f016f4bb450ac794a06520fad3 (patch)
tree4cfc5e902e4d5c6a7447b516050761c1031ffdf7
parentbbbde6c1afaa551d86de29c2feb0aa5554546e4a (diff)
drm/exynos: mixer: add experimental support for 1024x600@43Hz mode
This patch adds experimental configuration data for HDMI PHY for 32MHz pixel clock modes. This enables support for WaveShare 7inch HDMI LCD (C) HDMI panel. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Change-Id: I2f711ef21ce21da58b8efaf6f6dd28c5e2d2e8fc
-rw-r--r--drivers/gpu/drm/exynos/exynos_hdmi.c18
-rw-r--r--drivers/gpu/drm/exynos/exynos_mixer.c4
2 files changed, 19 insertions, 3 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index a834feefc93d..e523793f840c 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -328,6 +328,15 @@ static const struct hdmiphy_config hdmiphy_v14_configs[] = {
},
},
{
+ .pixel_clock = 32000000,
+ .conf = {
+ 0x01, 0x51, 0x28, 0x55, 0x40, 0x01, 0x00, 0x08,
+ 0x82, 0x80, 0x0e, 0xd9, 0x45, 0xa0, 0xac, 0x80,
+ 0x08, 0x80, 0x11, 0x04, 0x02, 0x22, 0x44, 0x86,
+ 0x54, 0xc2, 0x24, 0x00, 0x00, 0x00, 0x01, 0x80,
+ },
+ },
+ {
.pixel_clock = 36000000,
.conf = {
0x01, 0x51, 0x2d, 0x55, 0x40, 0x01, 0x00, 0x08,
@@ -484,6 +493,15 @@ static const struct hdmiphy_config hdmiphy_5420_configs[] = {
},
},
{
+ .pixel_clock = 32000000,
+ .conf = {
+ 0x01, 0x51, 0x28, 0x55, 0x40, 0x40, 0x00, 0xC8,
+ 0x02, 0xC8, 0x0E, 0xD9, 0x45, 0xA0, 0xAC, 0x80,
+ 0x08, 0x80, 0x09, 0x84, 0x05, 0x02, 0x24, 0x66,
+ 0x54, 0xC1, 0x24, 0x00, 0x00, 0x00, 0x01, 0x80,
+ },
+ },
+ {
.pixel_clock = 36000000,
.conf = {
0x01, 0x51, 0x2D, 0x55, 0x40, 0x40, 0x00, 0xC8,
diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c
index b125d020eec5..55d4fcddc3a2 100644
--- a/drivers/gpu/drm/exynos/exynos_mixer.c
+++ b/drivers/gpu/drm/exynos/exynos_mixer.c
@@ -297,9 +297,7 @@ static void mixer_cfg_rgb_fmt(struct mixer_context *ctx, unsigned int height)
struct mixer_resources *res = &ctx->mixer_res;
u32 val;
- if (height == 480) {
- val = MXR_CFG_RGB601_0_255;
- } else if (height == 576) {
+ if (height == 480 || height == 576 || height == 600) {
val = MXR_CFG_RGB601_0_255;
} else if (height == 720) {
val = MXR_CFG_RGB709_16_235;