summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Szyprowski <m.szyprowski@samsung.com>2016-01-26 09:45:13 +0100
committerMarek Szyprowski <m.szyprowski@samsung.com>2016-01-26 09:52:53 +0100
commita772caa9d4e4102797cca00116c0b3746ac1a179 (patch)
tree4166521d6ec030ad60246b9b7f566365a1444164
parent328e9d32e8774a4f6b2efd453672827a521b869f (diff)
downloadlinux-3.10-a772caa9d4e4102797cca00116c0b3746ac1a179.tar.gz
linux-3.10-a772caa9d4e4102797cca00116c0b3746ac1a179.tar.bz2
linux-3.10-a772caa9d4e4102797cca00116c0b3746ac1a179.zip
drm/exynos: mixer: add experimental support for 1024x600@43Hz modetizen
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: I840da27e5d496b4abf04e9fe2380f678cfd990ef
-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 adbccada0b8..9f59fc7115d 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -305,6 +305,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,
@@ -470,6 +479,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 87400413324..e068c88ac07 100644
--- a/drivers/gpu/drm/exynos/exynos_mixer.c
+++ b/drivers/gpu/drm/exynos/exynos_mixer.c
@@ -309,9 +309,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;