Age | Commit message (Collapse) | Author |
|
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>
|
|
1.LDO ramp up time may be modified by ROM code
according to fuse setting, cpu freq driver use
fixed delay time which assume the LDO ramp up time
is the reset value of ANATOP register, need to set
it to reset value in regulator init.
2.The regulator set voltage should take care of
the ramp up time, calculate the ramp up time based
of register setting and to the delay, make sure that
when the set voltage function return, the voltage is
stable enough.
3.CPUFreq no need to use delay, it is already taken
care by regulator voltage setting.
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>
|
|
Add deinterlace frame rate double flags for ipu header file
Signed-off-by: Wayne Zou <b36644@freescale.com>
|
|
This patch sets HDMI PHY register values in MXC HDMI driver
platform data so that MXC HDMI driver can configure the
0x09 CKSYMTXCTRL register(Clock Symbol and Transmitter
Control Register) and 0x0E VLEVCTRL register(Voltage Level
Control Register), then we may pass HDMI compliance test
for MX6 HDMI dongle board.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit 788bcf52a2e4c37dc42e9605d31995f8dd80d674)
|
|
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)
|
|
This patch adds an interface to disable IPU hsp clock so that it
can be called out of ipu common driver.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit 78f0495e79f3b18d3f56ac8bf6ca76a5cea91cf5)
|
|
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 current definition for with 10 and 16 is not correct.
IPU_CSI_DATA_WIDTH_10 = 2;
IPU_CSI_DATA_WIDTH_16 = 3;
According to the latest i.MX6DQ RM, the correct value should be:
IPU_CSI_DATA_WIDTH_10 = 3;
IPU_CSI_DATA_WIDTH_16 = 9;
Signed-off-by: Sheng Nan <b38800@freescale.com>
|
|
The pcie ep device inserted into the downstream port of the
pcie switch doesn't get the legacy INT when pcie switch
is used.
Signed-off-by: Richard Zhu <r65037@freescale.com>
|
|
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>
|
|
PCIe switch access mechanism:
- CfgRd0/CfgWr0 is used to access the CFG space of the EP device
or the upstream port of PCIe switch that is connected to RC directly.
- CfgRd1/CfgWr1 is used to access the CFG space of the downstream port
of PCIe switch and so on cases.
UR and kernel crash problem:
i.MX6 PCIe maps UR(Unsupported Request)err to AXI SLVERR err, which would
cause the arm data abort exception.
There is one "Received Master Abort" in iMX6 Root complex Secondary
status register when a requester receives a Completion
with Unsupported Request Completion Status.
In this case, the Linux kernel would be crashed.
Workaround: correct this imprecise external abort.
Signed-off-by: Richard Zhu <r65037@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>
|
|
* Fix adv7180 tvin powerdown function
gpio power pin already exported in io-mux setup function
no need to request/free gpio
* Update copyrigth year 2013.
Signed-off-by: Adrian Alonso <aalonso@freescale.com>
|
|
when run the folloing command under shell, it will return error
sh/$ echo 1 > /proc/sys/vm/compact_memory
sh/$ sh: write error: Bad address
After strace, I found the following log:
...
write(1, "1\n", 2) = 3
write(1, "", 4294967295) = -1 EFAULT (Bad address)
write(2, "echo: write error: Bad address\n", 31echo: write error: Bad address
) = 31
This tells system return 3(COMPACT_COMPLETE) after write data to compact_memory.
The fix is to make the system just return 0 instead 3(COMPACT_COMPLETE) from
sysctl_compaction_handler after compaction_nodes finished.
Signed-off-by: Jason Liu <r64343@freescale.com>
Suggested-by: David Rientjes <rientjes@google.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Rik van Riel <riel@redhat.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
|
VDDH should only be ON after VPOS when power up and should be off
before VPOS when power down. Set the appropriate MAX17135 timing
parameters for the correct power up/down sequence
Signed-off-by: Peter Chan <B18700@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
|
|
add judgement to avoid no detect pin case
Signed-off-by: Gary Zhang <b13634@freescale.com>
|
|
mx6sl_evk board uses Silex SXSDMAN board for bluetooth, add uart4 driver
to support it.
Signed-off-by: Lionel Xu <Lionel.Xu@freescale.com>
|
|
MX6SL EVK board uses Silex SX-SDMAN board for bluetooth.
Add rfkill interface to control SX-SDMAN reset.
The reset signal is required before using bluetooth.
Signed-off-by: Lionel Xu <R63889@freescale.com>
|
|
locate SSI playback buffer into IRAM in mx6sl.
because left IRAM room is not enough to contain record
buffer, if IRAM allocation for record fails, record
buffer will use external ram
Signed-off-by: Gary Zhang <b13634@freescale.com>
|
|
when IRAM is used by SSI, add IRAM clock dependency to
SSI clock
Signed-off-by: Gary Zhang <b13634@freescale.com>
|
|
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)
|
|
on Sabresd board, IPG_PERCLK will be fixed on 6Mhz once system enter low bus,
and never restore to 22Mhz which be set in boot. It means some device clock
which sourcing from IPG_PERCLK such as I2C will be slow down. The root cause is
that there is workaround for GPT timer of Arik TO1.0 in mx6_ddr_freq.S. GPT
clock source from IPG_PERCLK on TO1.0 and should be fixed on 6Mhz. But for
TO1.1 and TO1.2 ,the workaround should be removed.
Signed-off-by: Robin Gong <B38343@freescale.com>
|