diff options
author | Damian Hobson-Garcia <dhobsong@igel.co.jp> | 2011-02-24 05:47:13 +0000 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2011-03-16 17:27:10 +0900 |
commit | 53b5031430bb3a7941b340b453afe4eabeb5340c (patch) | |
tree | c6eff3b6345c251194c6a1e6f8ca60a5d8f20581 /include/video | |
parent | 3b0fd9d75598584478d1d3f6551f8a8a9696c34e (diff) | |
download | op-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.h | 1 |
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 { |