Age | Commit message (Collapse) | Author |
|
-DRM copyright update
Signed-off-by: Loren Huang <b02279@freescale.com>
|
|
-4.6.9p11 kernel code integration
-Additionally release runtime pm and regulator when destory gpu driver
to avoid reference count mismatch.
Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Lily Zhang
|
|
Fix the review commit warning such as "line over 80 characters",
"no space before tabs".
Signed-off-by: Wayne Zou <b36644@freescale.com>
|
|
Add mxcfb ioctrl MXCFB_CSC_UPDATE to update IPU DP CSC matrix
for display adjustment.
This patch implements the ioctrl interface.
Signed-off-by: Wayne Zou <b36644@freescale.com>
|
|
Increase the NOR flash read speed.
Added weimnor driver to use cached (and page mode) reads.
Signed-off-by: Oliver Brown <oliver.brown@freescale.com>
|
|
Support interlace field format or progressive format changes
on the frame by frame base for V4L2 output
Signed-off-by: Wayne Zou <b36644@freescale.com>
|
|
Since Logitech Quickcam E3500 is defaultly listed in usb_quirk_list on current
linux kernel. So the USB camera only supports reset resume, but doesn't support
normal usb suspend/resume. Actually, the USB camera works abnormally after USB
reset resume, but it works well after doing normal suspend/resume.
Signed-off-by: make shi <b15407@freescale.com>
|
|
There is a bug at chipidea core, please see below synopsis problem title
and its number.
STAR 9000378958
Title: Non-Double Word Aligned Buffer Address Sometimes
Causes Host to Hang on OUT Retry
This problem will be showed when we use Ethernet device at host port, there
is an errata ERR006308 for it.
The workaround for this issue is to disable stream mode at register usbmode.
Signed-off-by: Peter Chen <peter.chen@freescale.com>
|
|
Signed-off-by: Loren HUANG <b02279@freescale.com>
Acked-by: Lily Zhang
|
|
Using notify mechanism instead of global variable to
trigger gpu3d clock change through thermal driver
Signed-off-by: Rong Dian <b38775@freescale.com>
Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Lily Zhang
|
|
Create thermal hot's own hot notificaiton callback register and unregister
function.
Provide the thermal notification broadcast enable and disable through /sys fs.
Signed-off-by: Rong Dian <b38775@freescale.com>
|
|
The patch include:
- USB test mode on hub port and Root-hub port
- support 3 types of message:
too much hub ties for hub attachment
too much power consumption for device attachment
unsupported device class warning
- support menuconfig select the FSL_USB_TEST_MODE, located in:
-> Device Drivers
-> USB support (USB_SUPPORT [=y])
-> FSL High-speed Electrical Test Mode support
Signed-off-by: make shi <b15407@freescale.com>
|
|
use regulator _sel interface set to support auto delay,
as when regulator's voltage go up, it will take some time
to ramp up to the required voltage, so the delay is necessary.
_sel interface set support such function, now we switch to this
interface set.
Signed-off-by: Anson Huang <b20788@freescale.com>
|
|
Cherry-pick from imx_3.5.7 branch.
Signed-off-by: Loren HUANG <b02279@freescale.com>
Acked-by: Lily Zhang
|
|
Cherry-pick from imx_3.5.7 branch.
-Add runtime pm function.
-Set bus frequency to high when gpu power is on.
Signed-off-by: Loren HUANG <b02279@freescale.com>
Acked-by: Lily Zhang
|
|
Cherry-pick from imx_3.5.7 branch.
-Comment regulator setting code temperarily for 3.5 kernel.
-Adjust clock setting code based on new clock framework.
-Disable dynamic frequency change feature as it depends on thermal
driver.
-Use DTS to get reserved memory information.
-Comment cpu check code for 3.5 kernel.
-Comment GPU reset code for 3.5 kernel.
Signed-off-by: Loren HUANG <b02279@freescale.com>
Acked-by: Lily Zhang
|
|
Each VPU decoded frame is de-interlaced twice inside v4l2 output driver,
and show twice also to achieve IPU/VDI double frame rate output.
This feature is disable by default.
Signed-off-by: Wayne Zou <b36644@freescale.com>
|
|
Add vdic double frame rate feature
It depends on the which frame(0 or 1),
and interlace field format(top or bottom) to do VDI process
Signed-off-by: Wayne Zou <b36644@freescale.com>
|
|
Enabling IPU hsp clock in mxcfb_probe() context by calling
ipu_init_channel() can avoid the IPU display channel(setup
in bootloader) from being damaged by some IPU common driver
APIS which enable/disable IPU hsp clock when doing driver
probe. However, somehow, after LDO bypass patch set is pushed
to kernel, this clock enablement can trigger IPU errors
(IPU_INT_STAT_5 - 0x00800000/IPU_INT_STAT_10 - 0x00100000) and
a display flash. A workaround is to enable IPU hsp clock when
we are at ipu_probe() context, which is earlier than mxcfb_probe()
context, and then to disable(cleanup) the clock once more when
fb_set_par() is triggered by the user for the first time. This
patch updates the comment for ipu_init_channel() and
ipu_enable_channel() in mxcfb_probe() context, and disables ipu
hsp clock when fb_set_par() is triggered by the user for the first
time.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit 5528e415659a60f3c6d67db96692befb3302a58a)
|
|
Enabling IPU hsp clock in mxcfb_probe() context by calling
ipu_init_channel() can avoid the IPU display channel(setup
in bootloader) from being damaged by some IPU common driver
APIS which enable/disable IPU hsp clock when doing driver
probe. However, somehow, after LDO bypass patch set is pushed
to kernel, this clock enablement can trigger IPU errors
(IPU_INT_STAT_5 - 0x00800000/IPU_INT_STAT_10 - 0x00100000) and
a display flash. A workaround is to enable IPU hsp clock when
we are at ipu_probe() context, which is earlier than mxcfb_probe()
context, and then to disable(cleanup) the clock once more when
fb_set_par() is triggered by the user for the first time. This
patch exports an interface to disable ipu hsp clock so that
fb_set_par() may call it, and enables ipu hsp clock in ipu_probe()
context.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit 06e5772151c3b8e060110fbb2b1ce83ef6be70dd)
|
|
The PHY register 0x9 and 0xe should setting
to different value in different board to pass HCT.
Add variable phy_reg_vlev and phy_reg_cksymtx to pass
phy config data.
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
The current code may print out the following warning:
....................................................................
drivers/mtd/nand/gpmi-nand/gpmi-lib.c: In function gpmi_begin:
drivers/mtd/nand/gpmi-nand/gpmi-lib.c:1163: warning: hw.use_half_periods
may be used uninitialized in this function
drivers/mtd/nand/gpmi-nand/gpmi-lib.c:1163: warning: hw.sample_delay_factor
may be used uninitialized in this function
....................................................................
this patch fixes it.
Signed-off-by: Huang Shijie <b32955@freescale.com>
|
|
When disabling IPU channels, it needs less than 200us to wait for stop
Using msleep, it often sleep longer(above 10ms). So the extra delay
decrease the performance.
For 720p video playback on 1080p display(60Hz), the performance is about 40fps
With this patch, it can achieve around 60fps.
Signed-off-by: Wayne Zou <b36644@freescale.com>
|
|
Bug:
If app quits before FW is loaded to VPU, VPU driver will hang in vpu_release().
Root cause:
In that case, if BIT_BUSY_FLAG=1, vpu_release may reset VPU and run FW
init code, but FW has not been loaded.
Solution:
- Don't run FW init code after reset since VPU lib can load it next time.
- If PC=0, which means VPU never runs, don't check BIT_BUSY_FLAG
Signed-off-by: Hongzhang Yang <Hongzhang.Yang@freescale.com>
|
|
Add RGB/YCbCr output select via system file,
the default output is RGB.
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
Remove video mode 2880x480p60 that not supported by IPU.
Add video mode 1080p25, 1080p30, 720p100, 720p120, 1440x480p60,
1440x288p50, 1440x576p50.
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
- In current bsp, the usb clock mismatch when rmmod gadget class driver. The
clock should be turn off when gadget class driver unregister.
- There is an abnormal usb wakeup interrupt happen if phy is no power without
VBUS. If we unplug the usb cable after unregister usb gadget driver, it is
difficult to handle the unexpected usb wakeup interrupt. SO we must call
dr_discharge_line() to make sure no abnormal usb wakeup interrupt happen in
usb unregister gadget class driver.
Signed-off-by: make shi <b15407@freescale.com>
|
|
The method for change between scaling and subsampling mode is different
from ov5640_mipi.
(image bigger than 1280*960 is scaling mode, smaller is subsampling).
According to OV5640 Auto Focus Camera Module Application Notes
(with DVP Interface) R2.14.pdf,
change back from QSXGA to VGA, don't need to do exposure calculation.
According to the test result, if we do exposure calculation when change
back from scaling to subsampling mode, the image would be dark.
So the method is:
Change to scaling mode, go through exposure calcuation.
Change to or back to subsampling mode, change mode directly.
Supported mode:
- QSXGA@7.5fps
- 1080P@7.5fps
Can't make 1080P works at 15fps. Here is a reply from ov fae:
because of scaling down, max frame for 1080P is the same as 5M, both are 15fps.
so if 5M can runs up to 7.5fps on your demo, then 1080P is the same 7.5fps max.
Signed-off-by: Sheng Nan <b38800@freescale.com>
|
|
Supported the following modes, verified image quality and frame rate
- VGA 30/15fps
- QVGA 30/15fps
- NTSC 30/15fps
- PAL 30/15fps
- 720P 30/15fps
Note: use the same setting as app note of ov5640 dvp
- QCIF 30/15fps
- XGA 22.5/15fps
Note: cannot make XGA work on 30fps. Just a reference of ov5640 datasheet:
1280*960 YUV422 maximum at 22.5fps.
1280*720 YUV422 maximum at 30fps.
Need to confirm later.
Signed-off-by: Sheng Nan <b38800@freescale.com>
|
|
ov5640 ioctl_enum_fmt_cap only returns value of index = 0;
before support other formats, correct the behavior of this ioctl.
- ENUM_FMT returns all the supported format.
Signed-off-by: Sheng Nan <b38800@freescale.com>
|
|
The current code struct of parallel ov5640 set mode directly.
The newest settings need to go through global initialization.
New settings are provided by ov company
So this patch does:
- Make parallel ov5640 mode settings go through global initialization.
- Only VGA (640 * 480) are provided as a validation of the new setting.
- Other modes will be provided in the later patches.
Signed-off-by: Sheng Nan <b38800@freescale.com>
|
|
Adjust 1440x240p60 timing to pass HDMI compliance test.
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
This issue is caused by Touch Screen F/W, and it will report a
full package with 0xFF * 6 to notice the point was release.
Add this workaround to fix this issue, fixup the wrong finger id.
Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
|
|
Add check before relase ASRC pair to prevent ASRC register operation
while clock is not enabled. The ASRC clock is disable while index is not
applied.
Signed-off-by: Chen Liangjun <b36089@freescale.com>
|
|
This patch fixed the cam_fmt uninitialization issue.
Signed-off-by: LiGang <b41990@freescale.com>
Signed-off-by: Robby Cai <R63905@freescale.com>
(cherry picked from commit 48a48ea30c6e55e44c9eacaad316b5caa04a3dda)
|
|
Flickering issue happens when there's no buffer to be processed(e.g., the
pace of QBUF is much slower than DQBUF). The cause is the hardware is using
double buffering, while the driver has no good protection at above case and
thus the CSI will fill the buffer not in the right order. The way to fix is
refining the output of the working_q buffer list, that is, if there's no buffer
to be processed then output to a dummy buffer.
Another important change is to only do DMA reflash operation when SOF is
detected in streamon. Remove this operation is CSI interrupt handler because
it violates to the SPEC (only do DMA reflash before DMA is enabled but NOT at
the time or after DMA's enabled).
Signed-off-by: LiGang <b41990@freescale.com>
Signed-off-by: Robby Cai <R63905@freescale.com>
(cherry picked from commit 0c4584763fa44b01a2f48198fa27c9206a116164)
|
|
Integrate both 4.6.9p9.1 and 4.6.9p10.
Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Lily Zhang
|
|
ASRC driver would read the sample number of ASRC output FIFO to fetch
the data from ASRC output FIFO. However, SDMA's fetching operation may
not finished before ASRC's reading. In this case, ASRC driver may read a
error data from the register.
In this patch, add delay before reading ASRC FIFO status to prevent
noise.
Signed-off-by: Chen Liangjun <b36089@freescale.com>
|
|
Add default EDID config function when read EDID failed.
Fix HDMI no audio issue when failed read EDID.
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
Update HDMI setting when HDMI cable plugin,
HDMI will catch capbility update with EDID data updated.
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
- Change VGA mode the flag from unknow to VESA.
- Adjust default modelist order, put the VESA to the end of modelist.
- Fix a build warning.
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
Change HDMI default output RGB
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
Move ADV7180 out of choice to make it be enabled with other
camera config simultaneously
Signed-off-by: guoyin.chen <guoyin.chen@freescale.com>
(cherry picked from commit a6becd9a87da4fe0bdcc0e96d690377078c856b9)
|
|
Add ioctl_enum_framesizes function to align the requirement
of Camera HAL in Android
Signed-off-by: guoyin.chen <guoyin.chen@freescale.com>
(cherry picked from commit fd0a1be3e55c3ca5b16f5bf89a24c62b1f3f3abe)
|
|
In android, IPU fills the I420 buffer. And GPU shows the buffer to display.
mx6's GPU has 32 Y-stride alignment for I420. The stride alignment will
be passed through by bytesperline. This update is only for
csi->smfc->mem channel.
Signed-off-by: guoyin.chen <guoyin.chen@freescale.com>
(cherry picked from commit 4708dc1999ed4857799100434e4f46f68f4e7c13)
|
|
1) Split sync and error interrupt handler into 2 different
handlers, so that we may save several CPU cycles to
handler sync interrupt which is triggered in most IPU
usecases.
2) So far, every IPUv3 version in different SoCs has sync
and error interrupts, so we return -ENODEV if they cannot
be gotten from platform resource. Then, we may request
them directly but do not check more.
3) Clean up free irq code by removing unnecessary check.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit a88d2aa8f89d868474e75ea46032f7c40c42c57b)
|
|
It is unnecessary to calculate and update i2c divider during
every transaction. Only do it if current i2c clock is different
with the previous clock frequency.
Signed-off-by: Fugang Duan <B38611@freescale.com>
|
|
Some application may exit without calling neccessay API to wrap up VPU
after it receives error message.
This could lead to system hang because driver will power off VPU
(vpu_release) while VPU may still be busy.
We require application to strictly follow the API call sequence even in
error handling case. Meanwhile, we enhance VPU driver to protect against
such abnormal abort, to prevent system hang at least.
If the last instance is closed, VPU will gate off or power off only if
VPU is idle.
Signed-off-by: Hongzhang Yang <Hongzhang.Yang@freescale.com>
|
|
For some cases, system maybe restart with epdc pmic on.
If epdc pmic on for sometime(2~3s), the current epdc pmic consume will increase
obviously, then the total current of board maybe exceed to the current limit,
which will pull down the input voltage to lead to the system pmic reset,
an un-expected POR reset occurs.
So it is necessary to close epdc pmic before system restart.
This patch is added by Robby Cai<r63905@freescale.com>
Signed-off-by: LiGang <b41990@freescale.com>
(cherry picked from commit ee9ffb4307b2b3d7440fc3468b0faaace3d2829e)
|
|
If do dma reflash operation when dma is enabled, the system will hang and we
can not connect to the core through jtag. The reason is the reflash signal
(DMA_REFLASH_RFF) will initialize the AHB bus signals and it indeed seems to
modify the AHB address on the clock as soon as the programmable register value
is changed, the bus may not respond.
This patch revised it according to the RM:
"Reflash DMA Controller for RxFIFO. This bit reflash the embedded DMA controller
for RxFIFO. It should be reflashed before the embedded DMA controller starts
to work."
Signed-off-by: Robby Cai <R63905@freescale.com>
|