Commit Graph

2386 Commits

Author SHA1 Message Date
Matt Sealey
6f660227c7 siihdmi: add hdmi hotplug event handler (only registers the event, doesn't do anything yet) 2010-12-13 09:11:52 -06:00
Matt Sealey
9f8576bec1 experimental: more generic sii hdmi driver 2010-12-11 15:46:40 -06:00
Saleem Abdulrasool
23ef239303 remove unnecessary magic number usage 2010-12-09 22:02:39 -08:00
Matt Sealey
288a3a32bd sii9022: rename notifier block structure item from "fb" to "nb" 2010-12-07 06:33:41 -06:00
Matt Sealey
9430ce486b framebuffer: Remove pixel clock setting hack 2010-12-05 20:09:24 -06:00
Matt Sealey
27c3096d91 sii9022: Add a tiny delay to the setup and mode change in the hope we avoid IPU_INT_STAT errors 2010-12-05 20:06:52 -06:00
Anton Vorontsov
38962b9aff spi: prefix modalias with "spi:"
This makes it consistent with other buses (platform, i2c, vio, ...).  I'm
not sure why we use the prefixes, but there must be a reason.

This was easy enough to do it, and I did it.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Jean Delvare <khali@linux-fr.org>
Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Dmitry Torokhov <dtor@mail.ru>
Cc: Samuel Ortiz <sameo@openedhand.com>
Cc: "John W. Linville" <linville@tuxdriver.com>
Acked-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-12-03 05:36:50 -06:00
Matt Sealey
c229875348 sii9022: cheap blanking by setting video mode to black. More advanced blanking
with transmitter power-down experimentally coded but not tested.
2010-12-03 02:01:27 -06:00
Matt Sealey
b29b1f8cbd * Remove weird pin wiggling in EDID fetch
* Remove VGA support
* Remove HDMI customization (was for the old driver)
* Consolidate DI clock setting (view is to remove it eventually since
  the bug it was meant to work around is fixed)
* Remove mxc_ipuv3_fb.c dependency on EfikaMX includes
2010-11-20 10:46:21 -06:00
Matt Sealey
8cd135ac00 Remove VGA driver from config and build, and delete the file 2010-11-20 09:15:13 -06:00
Saleem Abdulrasool
31981681bf add rough version of new sii9022 driver
This is a new implementation of the sii9022 driver that is clearer to follow.
The missing functionality does not seem to be causing any loss of existing
functionality and helps development, so replacing it even though it is
incomplete.
2010-11-18 20:57:41 -08:00
Matt Sealey
74488fa0f5 Fix display offset bug on the AUO panels. Might be better in the future to pull and patch EDID. 2010-11-13 09:53:31 -06:00
Matt Sealey
28470c09c7 Remove custom Efika Smartbook backlight driver as it duplicates code
and isn't nearly as good as the generic one now in use.
2010-09-10 18:31:34 -05:00
Matt Sealey
56ef1445b1 Use the fine-grained, generic PWM platform driver for backlight.
Update PWM driver to support the notifier from the MTL017 driver
such that when the LVDS is off, the backlight turns off too.
2010-09-10 18:29:25 -05:00
Matt Sealey
3604a1742e mtl017 update: edid dump and screen data
Update EDID dump to match SII9022 (rows of 32 bytes instead of one per line)

DEBUG_MTL017 controls this dump data.

whitespace fixes abound.
2010-09-09 16:01:10 -05:00
Matt Sealey
bd65b7761f Smartbook support for MXCFB_DEFAULT_BPP although 32-bit still seems banded 2010-09-09 14:14:52 -05:00
Matt Sealey
a64c5f15de VPU allocation fails for some reason - actually the reason is that fbi->fix.line_length can be zero. In this situation, DON'T try and dma_alloc_writecombine with 0 length, or it'll OOPS.
As a side effect of not doing this, the V4L driver would happily go off and touch a framebuffer address that was invalid, and there may have been a slight SNAFU with a divide by zero on the VPU framebuffer.

Arnaud Patard from Mandriva noticed these a long while ago, but now here they are.

BUG: these are temporary hacks, let's try and work out why line_length is 0..
2010-09-09 12:41:12 -05:00
Matt Sealey
c6ba22c9eb Ratonalize and cleanup the 16/32bit mode define. it's in mx51_efikamx.h now. 32bit works. 2010-09-09 12:18:24 -05:00
Matt Sealey
864d4af084 pixclk_limit now a hardcoded define (117MHz) and no more 1080p hack (dangerous anyway!) 2010-09-09 10:54:35 -05:00
Matt Sealey
1d91ed0309 Roll back to 16-bit displays 2010-09-09 10:13:19 -05:00
Matt Sealey
0e1d623779 32-bit display fixes to stay consistent 2010-09-08 09:36:10 -05:00
Matt Sealey
7f70a4fe61 Make default bits per pixel 32-bit 2010-09-08 08:03:22 -05:00
Matt Sealey
a6094f1856 board_is -> machine_is typo fixed 2010-09-07 15:10:27 -05:00
Matt Sealey
b0ebfb3bec Backlight: clamp to on or off because the PWM config causes flickering. 2010-09-07 14:49:22 -05:00
Matt Sealey
1e16aa8a95 EfikaMX Smartbook: LCD backlight naming fix. Don't do Smarttop things on Smartbook in FB. 2010-09-07 10:54:17 -05:00
Matt Sealey
b26a7674e0 EfikaMX Smartbook Kernel support, initial 2010-09-03 14:36:46 -05:00
Matt Sealey
4a227175d3 Support for SII9022 transmitter
EDID updates for EDID 1.3, HDMI and CEA data
2010-08-14 12:35:09 -05:00
Matt Sealey
8d96bbe76a Update EDID to handle EDID 1.3 and HDMI CEA data
Update framebuffer to support SII9022 and clock adjustment
2010-08-14 12:28:12 -05:00
Liu Ying
d21a3a6084 ENGR00125608-2 LDB:Return error when LDB probe fails
This patch avoids LDB custom suspend/resume functions to be called.

Signed-off-by: Liu Ying <b17645@freescale.com>
(cherry picked from commit d48bd2e1d1ecc166bdb23e2c2a60dd2e6ae0e772)
2010-08-10 11:52:10 -05:00
Liu Ying
50797e5954 ENGR00125608-1 TVE:Return error when TVE probe fails
This patch avoids TVE custom suspend/resume functions to be called.

Signed-off-by: Liu Ying <b17645@freescale.com>
(cherry picked from commit ec197f61d6dcc21393ab8ea3ffc5fe071914ccf2)
2010-08-10 11:52:09 -05:00
Liu Ying
decc91a3ce ENGR00125552-2 LDB:Change LDB related video mode names
Change LDB related video mode names to align with MSL
code change.

Signed-off-by: Liu Ying <b17645@freescale.com>
(cherry picked from commit 4356737e33c837d038b99b9c77e1a3310f162e19)
2010-08-10 11:52:07 -05:00
Liu Ying
a957812e43 ENGR00125487-2 LDB:Add bootup option to register LDB driver
This patch avoids LDB framebuffer cause black flash issue or potential
black flash issue on one other framebuffer device which connects with
the same di when the system boots up or video mode is changed.

Signed-off-by: Liu Ying <b17645@freescale.com>
(cherry picked from commit b24e782a16b6b5d02f04c8daa7c5ef13f3b05270)
2010-08-10 11:52:06 -05:00
Liu Ying
e0d8942952 ENGR00125487-1 TVE:Add bootup option to register TVE driver
This patch avoids TVE framebuffer cause black flash issue or potential
black flash issue on one other framebuffer device which connects with
the same di when the system boots up or video mode is changed.

Signed-off-by: Liu Ying <b17645@freescale.com>
(cherry picked from commit a5dd4501783ee62c22a16e1d089803e3b1c09944)
2010-08-10 11:52:05 -05:00
Jason Chen
a4f8c6d7e2 ENGR00125249 tve: fix tv primary display issue
Clk tree make default di1_clk's parent clk as pll3 when tve clk disable,
ipu disp module will re-calculate ipu pixel clk if di clk's parent clk
is not tve_clk. If blanks tve-fb0, di1 clk's parent will set to pll3,
unblank tve-fb0 need re-calculate tve clk.

Signed-off-by: Jason Chen <b02280@freescale.com>
2010-08-10 11:51:59 -05:00
Danny Nold
f58fd8d654 ENGR00125259 - EPDC fb: Random display artifacts in unit tests
Random artifacts were caused by corruption of the EPDC working
buffer.  This occurred because the working buffer was being
allocated too small.  This meant other accesses to FB-maintained
buffers was corrupting the working buffer and causing random
data to be drawn to the display.  Fixing the working buffer size
causes the artifacts to disappear.

Signed-off-by: Danny Nold <dannynold@freescale.com>
2010-08-10 11:51:56 -05:00
Liu Ying
52409a3363 ENGR00124989-3 ELCDIF:Support ELCDIF framebuffer driver
1) Support ELCDIF framebuffer driver.
2) Change CLAA WVGA LCD driver to make it co-work with ELCDIF driver.

Signed-off-by: Liu Ying <b17645@freescale.com>
2010-08-10 11:51:50 -05:00
Jason Chen
76a5dbd276 ENGR00125172 ipuv3 fb: add sync for DP swap
During DP swap, other fb operation should not happen.

Signed-off-by: Jason Chen <b02280@freescale.com>
2010-08-10 11:51:44 -05:00
Danny Nold
1d580cb07e ENGR00125120 - EPDC fb: Hangs when display pmic regulators not found
EPDC driver updated to fail gracefully when the display pmic cannot
be acquired.  No longer hanging.

Signed-off-by: Danny Nold <dannynold@freescale.com>
2010-08-10 11:51:40 -05:00
Danny Nold
ff97ec543b ENGR00124814-1 fb: Add i.MX EPDC fb driver
Added basic EPDC driver, including support for PXP conversions (rotation,
auto-waveform selection, CSC).  Self-clock gating also supported.

Signed-off-by: Danny Nold <dannynold@freescale.com>
2010-08-10 11:51:36 -05:00
mark gutman
0fbba7a43f ENGR00124942 MX51: YUV422 output for 720P data
Ignore UGDE using for non YUYV output formats

Signed-off-by: Mark Gutman <r58412@freescale.com>
2010-08-10 11:51:33 -05:00
Jason Chen
757114831f ENGR00124827 ipuv3 fb: long time jitter issue
Call pan display frequently(for example display through ipu lib),
sometime it will jitter.

Signed-off-by: Jason Chen <b02280@freescale.com>
2010-08-10 11:51:20 -05:00
Jason Chen
39eb2537a2 ENGR00124719 ipuv3 fb: pan display for special format
If set fb's fmt to I420, pan display will get wrong result.

Signed-off-by: Jason Chen <b02280@freescale.com>
2010-08-10 11:51:14 -05:00
Jason Chen
35ba93ff11 ENGR00124653 ipuv3 fb: pan display issue
Call pan display frequently, after a long time, it has chance to show
below error msg:

Error updating SDC buf ....

check buffer busy before update buffer function call to avoid such
issue.

Signed-off-by: Jason Chen <b02280@freescale.com>
2010-08-10 11:51:13 -05:00
mark gutman
e65a92ffe5 ENGR00119736 MX51: YUV422 output for 720P data
The support for YUV422 different combinations are added
	The YUV422 is supported for DI1 interface for 720P frames with 16bits bus  only:
	di1_primary video=mxcdi1fb:YUYV16,720P60
	To define required YUV422 format use one of:
	YUYV16
	YVYU16
	UYVY16
	VYUY16

	Signed-off-by: Mark Gutman <r58412@freescale.com>
2010-08-10 11:51:06 -05:00
Xinyu Chen
c1800b852e ENGR00124103 TVE fb driver probe for mode incorrectly
When passing di1_primay to cmdline on BBG, the modes
matching in TVE probe are successful with fb0's modes.
This causes mode match, enable TVE and do set var to fb0.
Then the fbcon var is set incorrect, fb0 var works incorrect
after resume from suspend when doing fbcon switch.
Just simply add TVE's own mode list to resolve.

Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
2010-08-10 11:50:46 -05:00
Liu Ying
135aa13e04 ENGR00124105 IPUv3 FB:Support 12-bpp pixel format correctly in sys-fs
mxcfb_check_var() function will set framebuffer's bpp value to be 16,
when the framebuffer's true bpp value is 12. This makes the bpp value in
sys-fs wrong.

Signed-off-by: Liu Ying <b17645@freescale.com>
2010-08-10 11:50:46 -05:00
Liu Ying
46fcac840e ENGR00122216-2 Support LDB driver
This patch adds LDB driver support.

Signed-off-by: Liu Ying <b17645@freescale.com>
2010-08-10 11:50:18 -05:00
Jason Chen
cedf277fe5 ENGR00122780 ipufb: rework display device setting method
Rework the display command line options to not require new option for
every new display. Add mxcdi0fb/mxcdi1fb option <fmt> and to tell system
what kind of display device is going to use.

Use "di1_primary" to make DI1 the primary display (i.e. fb0).

The display selection is done using video= parameter.

        For example on imx51:

                  di             di_fmt      video_mode
        DVI:      0              RGB24      mxcdi0fb:800x600M-16@60 etc
        DVI-HDMI: 0              RGB24      mxcdi0fb:720P60
        LVDS:     0              LVDS666    mxcdi0fb:XGA
        WVGA lcd: 1              RGB565     mxcdi1fb:800x480M-16@55
        TVE:      1              YUV444     mxcdi1fb:TV-NTSC
                                            mxcdi1fb:TV-PAL
                                            mxcdi1fb:720P60
        For example on imx53:

                  di             di_fmt      video_mode
        DVI:      0              RGB24      mxcdi0fb:800x600M-16@60 etc
        DVI-HDMI: 0              RGB24      mxcdi0fb:720P60
        WVGA lcd: 0              RGB565     mxcdi0fb:800x480M-16@55
        TVE:      1              YUV444     mxcdi1fb:TV-NTSC
                                            mxcdi1fb:TV-PAL
                                            mxcdi1fb:720P60

If you want to set NTSC tv as primary display, and make second display
DI0 as DVI 1024x768 resolution, just add

"di1_primary video=mxcdi0fb:RGB24,1024x768M-16@60 video=mxcdi1fb:YUV444,TV-NTSC"

to cmdline.

Signed-off-by: Rob Herring <r.herring@freescale.com>
Signed-off-by: Jason Chen <b02280@freescale.com>
2010-08-10 11:50:15 -05:00
Ranjani Vaidyanathan-RA5478
e5f82159f7 ENGR00122789: Fixed long-term video playback issue.
Fixed long-term video playback issue due to incorrect increment of
clock usecount.
Fixed various bugs associated with system entering LP-APM mode.
Fixed incorrect enabling of PLL3 that was not allowing system to enter
LP-APM mode if TVE was built in.
EMI_GARB clock needs to be enabled when certain clock dividers are changed.

Signed-off-by: Ranjani Vaidyanathan-RA5478 <Ranjani.Vaidyanathan@freescale.com>
2010-08-10 11:50:06 -05:00
Jason Chen
c397a8de65 ENGR00122966 ipuv3 fb: set correct stride for nonstand fmt
Set correct stride for non-interleave fmt, if not, will cause v4l output
play uncorrectly for ic_bypass mode.

Signed-off-by: Jason Chen <b02280@freescale.com>
2010-08-10 11:49:47 -05:00