summaryrefslogtreecommitdiffstats
path: root/include/video/sh_mobile_lcdc.h
Commit message (Collapse)AuthorAgeFilesLines
* fbdev: sh_mobile_lcdc: Replace hardcoded register values with macrosLaurent Pinchart2011-08-191-19/+116
| | | | | | | | Instead of hardcoding register values through the driver, define macros for individual register bits using the register name and the bit name, and use the macros. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
* sh_mobile_meram: MERAM framework for LCDCDamian2011-05-231-0/+3
| | | | | | | | | | | | | | Based on the patch by Takanari Hayama <taki@igel.co.jp> Adds support framework necessary to use Media RAM (MERAM) caching functionality with the LCDC. The MERAM is accessed through up to 4 Interconnect Buffers (ICBs). ICB numbers and MERAM address ranges to use are specified in by filling in the .meram_cfg member of the LCDC platform data Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* fbdev: sh_mobile_lcdc: Add YUV framebuffer supportDamian Hobson-Garcia2011-03-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* fbdev: sh_mobile_lcdcfb: add backlight supportAlexandre Courbot2011-03-101-0/+9
| | | | | | | | | Support for backlight devices controlled through board-specific routines. Backlights can be defined per-channel and follow fbdev directives to switch off as the LCD blanks or is turned on/off. Signed-off-by: Alexandre Courbot <gnurou@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* fbdev: sh_mobile_hdmi: implement lockingGuennadi Liakhovetski2010-09-141-0/+2
| | | | | | | | | | | | | The SH-Mobile HDMI driver runs in several contexts: ISR, delayed work-queue, task context, when called from the sh_mobile_lcdc framebuffer driver. This creates ample race possibilities. Even though most these races are purely theoretical, it is better to close them. To trace fb_info validity we install a notification callback in the HDMI driver, and the only way for it to get to driver internal data is by using struct sh_mobile_lcdc_chan, therefore it had to be extracted into a separate common header. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* fbdev: sh_mobile_lcdcfb: Support multiple video modes in platform dataGuennadi Liakhovetski2010-09-141-1/+2
| | | | | | | | | | | This is a preparation for HDMI hotplug support. This patch just moves all platform defined video modes for the sh_mobile_lcdcfb driver to separate arrays and switches all users to use element 0 of that array, so, this patch doesn't introduce any functional changes and as such should not cause any regressions. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: add a parameter to LCDC driver's .display_on() callbackGuennadi Liakhovetski2010-08-041-1/+1
| | | | | | | | | | HDMI support for the sh_mobile_lcdc framebuffer driver will require a 'struct fb_info *' pointer for its .display_on() callback. While at it fix kfr2r09 framebuffer modular build. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge branch 'master' of ↵Paul Mundt2010-05-311-2/+0
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
| * fbdev: move FBIO_WAITFORVSYNC to linux/fb.hGrazvydas Ignotas2010-05-251-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FBIO_WAITFORVSYNC is currently implemented by matroxfb, atyfb, intelfb and more. All of them keep redefining the same FBIO_WAITFORVSYNC macro over and over again, so move it to linux/fb.h and clean up those duplicate defines. Signed-off-by: Grazvydas Ignotas <notasas@gmail.com> Cc: Ville Syrjala <syrjala@sci.fi> Cc: Grant Likely <grant.likely@secretlab.ca> Cc: Maik Broemme <mbroemme@plusserver.de> Cc: Petr Vandrovec <vandrove@vc.cvut.cz> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Krzysztof Helt <krzysztof.h1@poczta.fm> Cc: "Hiremath, Vaibhav" <hvaibhav@ti.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | sh: add a YUV422 output data format, that is also supported by LCDCGuennadi Liakhovetski2010-05-241-18/+21
|/ | | | | | | | | The LCDC block is allowed to use one of the two output data formats, when used with MIPI DSI: RGB24 and YUV422. YUV422 is not currently handled by the LCDC driver, but we have to add a define for it for MIPI. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* video: sh_mobile_lcdcfb: Add wait for vsync.Phil Edworthy2010-02-161-0/+2
| | | | | | | | Added FBIO_WAITFORVSYNC ioctl for SH-Mobile devices. Tested on MS7724 and MigoR boards against 2.6.33-rc7. Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: add a start_transfer() callback to the LCDC driverMagnus Damm2009-12-091-0/+2
| | | | | | | | | | | This patch adds a ->start_transfer() callback to the driver sh_mobile_lcdcfb.c. The callback is used to program the LCDC panel in the case of one-shot mode. Needed by the LCD controller used on the KFR2R09 board. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* video: sh_mobile_lcdcfb deferred io supportMagnus Damm2008-12-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds sh_mobile_lcdcfb deferred io support for SYS panels. The LCDC hardware block managed by the sh_mobile_lcdcfb driver supports RGB or SYS panel configurations. SYS panels come with an external display controller that is resposible for refreshing the actual LCD panel. RGB panels are controlled directly by the LCDC and they need to be refreshed by the LCDC hardware. In the case of SYS panels we can save some power by configuring the LCDC hardware block in one-shot mode. In this one-shot mode panel refresh is managed by software. This works well together with deferred io since it allows us to stop clocks for most of the time and only enable clocks when we actually want to trigger an update. When there is no fbdev activity the clocks are kept stopped which allows us to deep sleep. The refresh rate in deferred io mode is set using platform data. The same platform data can also be used to disable deferred io mode. As with other deferred io frame buffers user space code should use fsync() on the frame buffer device to trigger an update. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* video: add sh_mobile_lcdc platform flagsMagnus Damm2008-10-201-0/+7
| | | | | | | Add platform data flags for detailed lcd display configuration. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* video: remove unused sh_mobile_lcdc platform dataMagnus Damm2008-10-201-1/+0
| | | | | | | | Remove lddckr from the platform data, these days we calculate the register value from clock source and clock dividers anyway. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* video: sh_mobile_lcdcfb: Support HAVE_CLK=n configurations.Paul Mundt2008-10-011-0/+72
This provides a workaround for users of sh_mobile_lcdcfb that don't define HAVE_CLK and have otherwise sane clock initialization. At the same time, move the sh_mobile_lcdc.h header to include/video/. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
OpenPOWER on IntegriCloud