summaryrefslogtreecommitdiffstats
path: root/include/video
diff options
context:
space:
mode:
authorDamian Hobson-Garcia <dhobsong@igel.co.jp>2011-02-24 05:47:13 +0000
committerPaul Mundt <lethal@linux-sh.org>2011-03-16 17:27:10 +0900
commit53b5031430bb3a7941b340b453afe4eabeb5340c (patch)
treec6eff3b6345c251194c6a1e6f8ca60a5d8f20581 /include/video
parent3b0fd9d75598584478d1d3f6551f8a8a9696c34e (diff)
downloadop-kernel-dev-53b5031430bb3a7941b340b453afe4eabeb5340c.zip
op-kernel-dev-53b5031430bb3a7941b340b453afe4eabeb5340c.tar.gz
fbdev: sh_mobile_lcdc: Add YUV framebuffer support
Supports YCbCr420sp, YCbCr422sp, and YCbCr44sp, formats (bpp = 12, 16, and 24) respectively. When double-buffering both Y planes appear before the C planes (Y-Y-C-C), as opposed to Y-C-Y-C. Set .nonstd in struct sh_mobile_lcdc_chan_cfg to enable YUV mode, and use .bpp to distiguish between the 3 modes. The value of .nonstd is copied to bits 16-31 of LDDFR in the LCDC and should be set accordingly. .nonstd must be set to 0 for RGB mode. Due to the encoding of YUV data, the framebuffer will clear to green instead of black. In YUV 420 mode, panning is only possible in 2 line increments. Additionally in YUV 420 mode the vertical resolution of the framebuffer must be an even number. Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'include/video')
-rw-r--r--include/video/sh_mobile_lcdc.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/video/sh_mobile_lcdc.h b/include/video/sh_mobile_lcdc.h
index f2e6ab8..2c8d369 100644
--- a/include/video/sh_mobile_lcdc.h
+++ b/include/video/sh_mobile_lcdc.h
@@ -86,6 +86,7 @@ struct sh_mobile_lcdc_chan_cfg {
struct sh_mobile_lcdc_board_cfg board_cfg;
struct sh_mobile_lcdc_bl_info bl_info;
struct sh_mobile_lcdc_sys_bus_cfg sys_bus_cfg; /* only for SYSn I/F */
+ int nonstd;
};
struct sh_mobile_lcdc_info {
OpenPOWER on IntegriCloud