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 /drivers/video/sh_mobile_lcdcfb.h | |
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 'drivers/video/sh_mobile_lcdcfb.h')
-rw-r--r-- | drivers/video/sh_mobile_lcdcfb.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/video/sh_mobile_lcdcfb.h b/drivers/video/sh_mobile_lcdcfb.h index 03a22dc..4635eed 100644 --- a/drivers/video/sh_mobile_lcdcfb.h +++ b/drivers/video/sh_mobile_lcdcfb.h @@ -8,7 +8,7 @@ /* per-channel registers */ enum { LDDCKPAT1R, LDDCKPAT2R, LDMT1R, LDMT2R, LDMT3R, LDDFR, LDSM1R, - LDSM2R, LDSA1R, LDMLSR, LDHCNR, LDHSYNR, LDVLNR, LDVSYNR, LDPMR, + LDSM2R, LDSA1R, LDSA2R, LDMLSR, LDHCNR, LDHSYNR, LDVLNR, LDVSYNR, LDPMR, LDHAJR, NR_CH_REGS }; |