summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2013-02-25ENGR00251008 [GPU] 4.6.9p11 integration for DRMLoren Huang
-DRM copyright update Signed-off-by: Loren Huang <b02279@freescale.com>
2013-02-22ENGR00251005 [gpu]4.6.9p11 kernel code integrationLoren Huang
-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
2013-02-21ENGR00250756-4 V4L2 output: fix coding format and review commit warningWayne Zou
Fix the review commit warning such as "line over 80 characters", "no space before tabs". Signed-off-by: Wayne Zou <b36644@freescale.com>
2013-02-20ENGR00251015-2 FB/IPU: Add mxcfb ioctrl to update IPU DP CSC matrixWayne Zou
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>
2013-02-14ENGR00244769-1 [NOR FLASH]-Improve WEIM NOR speedOliver Brown
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>
2013-02-04ENGR00242327 V4L2 output: Support field format changes on frame by frame baseWayne Zou
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>
2013-02-04ENGR00220096 USB core: remove Logitech Quickcam E3500 form usb_quirk_listmake shi
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>
2013-02-01ENGR00242788: usb: host: disable stream mode due to IC problemPeter Chen
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>
2013-01-29ENGR00242201-3 gpu: Makeup GPU driver for kernel 3.5.7Loren HUANG
Signed-off-by: Loren HUANG <b02279@freescale.com> Acked-by: Lily Zhang
2013-01-29ENGR00241739-2 gpu: Enable thermal hot notification in gpu driverRong Dian
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
2013-01-28ENGR00241739-1 thermal: providing the thermal hot notificationRong Dian
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>
2013-01-28ENGR00241582 MX6 USB host: USB host certification patchmake shi
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>
2013-01-28ENGR00241003-2 pfuze: using _sel interface to add delay supportAnson Huang
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>
2013-01-25ENGR00240988-12 Enable GPU hardware reset for 3.5 kernelLoren HUANG
Cherry-pick from imx_3.5.7 branch. Signed-off-by: Loren HUANG <b02279@freescale.com> Acked-by: Lily Zhang
2013-01-25ENGR00240988-10 Add runtime pm function call in gpu driverLoren HUANG
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
2013-01-25ENGR00240988-5 Update gpu code to support 3.5 kernelLoren HUANG
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
2013-01-23ENGR00240972-3 V4L2: VDI double frame rate for interlace streamWayne Zou
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>
2013-01-23ENGR00240972-2 IPU: Add vdic double frame rate featureWayne Zou
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>
2013-01-21ENGR00240740-3 IPUv3 fb:Workaround bootup ipu errorLiu Ying
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)
2013-01-21ENGR00240740-1 IPUv3:Workaround bootup ipu errorLiu Ying
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)
2013-01-18ENGR00239734 Mx6 HDMI PHY: Add 2 variable to pass board specific configSandor Yu
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>
2013-01-17ENGR00240571 mtd: gpmi: fix the compiler warningHuang Shijie
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>
2013-01-17ENGR00240298 IMX IPU: Optimize IPU resize performanceWayne Zou
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>
2013-01-17ENGR00240506 fix a bug in abnormal abort handlingHongzhang Yang
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>
2013-01-11ENGR00239569 Mx6x HDMI Add RGB/YCbCr output select via system fileSandor Yu
Add RGB/YCbCr output select via system file, the default output is RGB. Signed-off-by: Sandor Yu <R01008@freescale.com>
2013-01-11ENGR00239207 MX6x HDMI add some support modesSandor Yu
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>
2013-01-11ENGR00232755 USB: disable clock and abnormal wakeup when remove gadget drivermake shi
- 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>
2013-01-09ENGR00237682-3: mxc_v4l2_capture: ov5640: support scaling modesSheng Nan
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>
2013-01-09ENGR00237682-2: mxc_v4l2_capture: ov5640: support all subsampling modesSheng Nan
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>
2013-01-09ENGR00237706: mxc_v4l2_capture: ov5640: correct the behavior of ENUM_FMTSheng Nan
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>
2013-01-09ENGR00237682-1: mxc_v4l2_capture: ov5640: use global initializationSheng Nan
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>
2013-01-08ENGR00239062 MX6X HDMI add 1440x240p60 mode supportSandor Yu
Adjust 1440x240p60 timing to pass HDMI compliance test. Signed-off-by: Sandor Yu <R01008@freescale.com>
2013-01-08ENGR00239187 input: novatek_ts: fix some point not release issue.Zhang Jiejing
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>
2013-01-08ENGR00238813 ASRC: add check before release ASRC pairChen Liangjun
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>
2013-01-06ENGR00238237-2 mx6sl: csi/v4l: Initialize the variable cam_fmtRobby Cai
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)
2013-01-06ENGR00238237-1 mx6sl: csi/v4l: fix camera picture flickering issueRobby Cai
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)
2013-01-05ENGR00238947 [GPU]Integrate Vivante 4.6.9p10 gpu driver kernel part codeLoren Huang
Integrate both 4.6.9p9.1 and 4.6.9p10. Signed-off-by: Loren Huang <b02279@freescale.com> Acked-by: Lily Zhang
2012-12-28ENGR00238439 ASRC: add delay before reading ASRC FIFO statusChen Liangjun
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>
2012-12-27ENGR00238391 MX6x HDMI: Add default EDID config function when read EDID failedSandor Yu
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>
2012-12-27ENGR00238384 MX6x HDMI: Update HDMI setting when HDMI cable pluginSandor Yu
Update HDMI setting when HDMI cable plugin, HDMI will catch capbility update with EDID data updated. Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-12-27ENGR00238382 MX6 HDMI: Change VGA mode flag, adjust default modelist sequencySandor Yu
- 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>
2012-12-27ENGR00238357 MX6x Change HDMI default output RGBSandor Yu
Change HDMI default output RGB Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-12-26ENGR00238201-2 V4L2:ADV7180:driver kconfig changeguoyin.chen
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)
2012-12-26ENGR00238201-1 V4L2:ADV7180:Support ioctrl_enum_framesizesguoyin.chen
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)
2012-12-26ENGR00236141 csi:Add stride alignment setting from userspaceguoyin.chen
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)
2012-12-21ENGR00237678 IPUv3:Clean up sync and error interruptLiu Ying
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)
2012-12-14ENGR00236240 i2c: i2c performance optimizationFugang Duan
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>
2012-12-13ENGR00236879 Enhance VPU driver to handle API call sequence abnormal abortHongzhang Yang
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>
2012-12-13ENGR00231808: Add epdc pmic shut down featureLiGang
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)
2012-12-13ENGR00236722 mx6sl: csi: Ensure dma reflash operation done when dma is disabledRobby Cai
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>