* 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
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.
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..
This patch avoids LDB custom suspend/resume functions to be called.
Signed-off-by: Liu Ying <b17645@freescale.com>
(cherry picked from commit d48bd2e1d1ecc166bdb23e2c2a60dd2e6ae0e772)
This patch avoids TVE custom suspend/resume functions to be called.
Signed-off-by: Liu Ying <b17645@freescale.com>
(cherry picked from commit ec197f61d6dcc21393ab8ea3ffc5fe071914ccf2)
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)
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)
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)
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>
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>
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>
EPDC driver updated to fail gracefully when the display pmic cannot
be acquired. No longer hanging.
Signed-off-by: Danny Nold <dannynold@freescale.com>
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>
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>
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>
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>
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>
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>
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>
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>