diff options
author | Tomasz Stanislawski <t.stanislaws@samsung.com> | 2011-08-25 11:45:22 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-09-26 07:04:16 -0400 |
commit | 17b27478ccdb5b6883032031b83f5cd2ce5f8cf9 (patch) | |
tree | f7f9db0217b115c164be8e426192716e84dc9208 | |
parent | 0f6c5653f833be744ad46f46da8fd06ce05c2bd1 (diff) |
[media] s5p-tv: hdmi: use DVI mode
Current version of the driver does not support HDMI features
not present in DVI standard. Therefore DVI mode is used to
keep compatibility with DVI devices.
Signed-off-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/video/s5p-tv/hdmi_drv.c | 11 | ||||
-rw-r--r-- | drivers/media/video/s5p-tv/regs-hdmi.h | 4 |
2 files changed, 8 insertions, 7 deletions
diff --git a/drivers/media/video/s5p-tv/hdmi_drv.c b/drivers/media/video/s5p-tv/hdmi_drv.c index 06d6663f459..e1b29b488f6 100644 --- a/drivers/media/video/s5p-tv/hdmi_drv.c +++ b/drivers/media/video/s5p-tv/hdmi_drv.c | |||
@@ -210,20 +210,17 @@ static void hdmi_reg_init(struct hdmi_device *hdev) | |||
210 | /* enable HPD interrupts */ | 210 | /* enable HPD interrupts */ |
211 | hdmi_write_mask(hdev, HDMI_INTC_CON, ~0, HDMI_INTC_EN_GLOBAL | | 211 | hdmi_write_mask(hdev, HDMI_INTC_CON, ~0, HDMI_INTC_EN_GLOBAL | |
212 | HDMI_INTC_EN_HPD_PLUG | HDMI_INTC_EN_HPD_UNPLUG); | 212 | HDMI_INTC_EN_HPD_PLUG | HDMI_INTC_EN_HPD_UNPLUG); |
213 | /* choose HDMI mode */ | 213 | /* choose DVI mode */ |
214 | hdmi_write_mask(hdev, HDMI_MODE_SEL, | 214 | hdmi_write_mask(hdev, HDMI_MODE_SEL, |
215 | HDMI_MODE_HDMI_EN, HDMI_MODE_MASK); | 215 | HDMI_MODE_DVI_EN, HDMI_MODE_MASK); |
216 | hdmi_write_mask(hdev, HDMI_CON_2, ~0, | ||
217 | HDMI_DVI_PERAMBLE_EN | HDMI_DVI_BAND_EN); | ||
216 | /* disable bluescreen */ | 218 | /* disable bluescreen */ |
217 | hdmi_write_mask(hdev, HDMI_CON_0, 0, HDMI_BLUE_SCR_EN); | 219 | hdmi_write_mask(hdev, HDMI_CON_0, 0, HDMI_BLUE_SCR_EN); |
218 | /* choose bluescreen (fecal) color */ | 220 | /* choose bluescreen (fecal) color */ |
219 | hdmi_writeb(hdev, HDMI_BLUE_SCREEN_0, 0x12); | 221 | hdmi_writeb(hdev, HDMI_BLUE_SCREEN_0, 0x12); |
220 | hdmi_writeb(hdev, HDMI_BLUE_SCREEN_1, 0x34); | 222 | hdmi_writeb(hdev, HDMI_BLUE_SCREEN_1, 0x34); |
221 | hdmi_writeb(hdev, HDMI_BLUE_SCREEN_2, 0x56); | 223 | hdmi_writeb(hdev, HDMI_BLUE_SCREEN_2, 0x56); |
222 | /* enable AVI packet every vsync, fixes purple line problem */ | ||
223 | hdmi_writeb(hdev, HDMI_AVI_CON, 0x02); | ||
224 | /* force YUV444, look to CEA-861-D, table 7 for more detail */ | ||
225 | hdmi_writeb(hdev, HDMI_AVI_BYTE(0), 2 << 5); | ||
226 | hdmi_write_mask(hdev, HDMI_CON_1, 2, 3 << 5); | ||
227 | } | 224 | } |
228 | 225 | ||
229 | static void hdmi_timing_apply(struct hdmi_device *hdev, | 226 | static void hdmi_timing_apply(struct hdmi_device *hdev, |
diff --git a/drivers/media/video/s5p-tv/regs-hdmi.h b/drivers/media/video/s5p-tv/regs-hdmi.h index ac93ad6f2bc..33247d13e4c 100644 --- a/drivers/media/video/s5p-tv/regs-hdmi.h +++ b/drivers/media/video/s5p-tv/regs-hdmi.h | |||
@@ -127,6 +127,10 @@ | |||
127 | #define HDMI_BLUE_SCR_EN (1 << 5) | 127 | #define HDMI_BLUE_SCR_EN (1 << 5) |
128 | #define HDMI_EN (1 << 0) | 128 | #define HDMI_EN (1 << 0) |
129 | 129 | ||
130 | /* HDMI_CON_2 */ | ||
131 | #define HDMI_DVI_PERAMBLE_EN (1 << 5) | ||
132 | #define HDMI_DVI_BAND_EN (1 << 1) | ||
133 | |||
130 | /* HDMI_PHY_STATUS */ | 134 | /* HDMI_PHY_STATUS */ |
131 | #define HDMI_PHY_STATUS_READY (1 << 0) | 135 | #define HDMI_PHY_STATUS_READY (1 << 0) |
132 | 136 | ||