Age | Commit message (Collapse) | Author |
|
Use universal equation and 25C's calibration data to
get thermal sensor's ratio on i.MX6DL.
Signed-off-by: Anson Huang <b20788@freescale.com>
|
|
Use universal equation and 25C's calibration data to
get thermal sensor's ratio.
If want to use old calibration method, please add
"use_calibration" into kernel command line.
Signed-off-by: Anson Huang <b20788@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>
|
|
The kernel panic happen when normal memory is exhausted but high memory is available,
The fix is to disable oom-killer in normal alloc_pages, oom-killer will be triggered when normal and highmem zones are exhausted.
Signed-off-by: Xianzhong <b07117@freescale.com>
Acked-by: Lily Zhang
|
|
The killer only work when force contiguous memory allocation fail,the work routinue:
1. register task free callback
2. force contiguous lowmem shrink
1> initialize min_adj to 0, kill itself in case other process cannot be killed
2> polling all process and find the available process(higher oom_adj, higher gpu memory)
3> select the best available process and send SIGKILL to kill it
3. try to allocate force contiguous memory again
4. unregister task free and exit shrinking state when memory is ready
Signed-off-by: Xianzhong <b07117@freescale.com>
Acked-by: Lily Zhang
|
|
|
|
When system bootup without HDMI plugin, the default modelist
and default video mode will create.
Match default video mode in default CEA modelist, make sure
default video mode is a CEA mode.
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
There is a USB hang issue when do system suspend/resume test with a USB
device plug in. The issue is caused by USB host driver accessing register
when clock is off. Currently set HCD_FLAG_HW_ACCESSIBLE bit before open
clock in ehci_fsl_bus_resume, it cause accessing register without clock.
So we should change the code call order to avoid driver access register
without clock.
- Set HCD_FLAG_HW_ACCESSIBLE software flag after HW clock turn on
- remove some unnecessary code in ehci_fsl_pre_irq
Signed-off-by: make shi <b15407@freescale.com>
|
|
The log from [MX6DL/S_SD]:
...
mxc_sdc_fb mxc_sdc_fb.1: register mxc display driver ldb
dmaengine: failed to get dma1chan0: (-22)
dmaengine: failed to get dma1chan1: (-22)
dmaengine: failed to get dma1chan2: (-22)
dmaengine: failed to get dma1chan3: (-22)
dmaengine: failed to get dma1chan4: (-22)
dmaengine: failed to get dma1chan5: (-22)
dmaengine: failed to get dma1chan6: (-22)
dmaengine: failed to get dma1chan7: (-22)
dmaengine: failed to get dma1chan8: (-22)
dmaengine: failed to get dma1chan9: (-22)
dmaengine: failed to get dma1chan10: (-22)
dmaengine: failed to get dma1chan11: (-22)
dmaengine: failed to get dma1chan12: (-22)
dmaengine: failed to get dma1chan13: (-22)
dmaengine: failed to get dma1chan14: (-22)
dmaengine: failed to get dma1chan15: (-22)
...
It happens when there are many DMA-engine drivers in the system and
dmaengine_get() is called. dmaengine_get() will call dma_chan_get(), which will
call device_alloc_chan_resources() literally on channels of available dma
drivers unless reach -ENODEV. device_alloc_chan_resources() is implemented
in the individual dma drivers, which could return -EINVAL rather than -ENODEV,
then the above messages print out (doesn't hurt, however).
Indeed, the dmaengine_get() and dmaengine_put() is not needed and thus removed.
Signed-off-by: Robby Cai <R63905@freescale.com>
|
|
Conflicts:
drivers/mxc/vpu/mxc_vpu.c
|
|
1. Fix ENGR00230203 [Android_MX6DL_SD] Gallery: System hang
after resume from suspend during video playback. 20%
2. Fix ENGR00231830 [MX6DL/S_SD] VPU: VPU encode can't
finish and print "VPU blocking: timeout." if suspend/resume. 100%
Signed-off-by: Hongzhang Yang <Hongzhang.Yang@freescale.com>
|
|
When the kernel parses the following cmdline
#mtdparts=gpmi-nand:16m(boot),16m(kernel),1g(home),4g(test),-(usr)
for a big nand chip Micron MT29F64G08AFAAAWP(8GB), we got the following wrong
result:
.............................................
"mtd: partition size too small (0)"
.............................................
We can not get any partition.
The "4g(test)" partition triggers a overflow of the "size". The memparse()
returns 4g to the "size", but the size is "unsigned long" type, so a overflow
occurs, the "size" becomes zero in the end.
This patch changes the "size"/"offset" to "unsigned long long" type,
and replaces the UINT_MAX with ULLONG_MAX for macros SIZE_REMAINING and
OFFSET_CONTINUOUS.
Signed-off-by: Huang Shijie <b32955@freescale.com>
|
|
With onfi a flash is organized into one or more logical units (LUNs).
A" logical unit (LUN) is the minimum unit that can independently execute
commands and report status.
Mtd does not exploit LUN, so make it see a big single flash where size is
lun_size * number_of_lun.
Without this patch MT29F8G08ADBDAH4 size is 512MiB instead of 1GiB.
Artem: split long line on 2 shorter ones.
Signed-off-by: Matthieu Castet <matthieu.castet@parrot.com>
Acked-by: Florian Fainelli <ffainelli@freebox.fr>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Huang Shijie <b32955@freescale.com>
|
|
there is a bug in nand_flash_detect_onfi, busw need to be passed
by pointer to return it.
Signed-off-by: Matthieu CASTET <matthieu.castet@parrot.com>
Acked-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <dedekind1@gmail.com>
Signed-off-by: Huang Shijie <b32955@freescale.com>
|
|
Revert "ENGR00224245 HDMI AUDIO: stop/start PCM while unplug,blank/plug,unblank"
This reverts commit f8dd4f6fea093e46a30d5e438baa33702f626372.
This patch is for pulse audio. which is not fit for Android.
Signed-off-by: b02247 <b02247@freescale.com>
|
|
Make VPU driver only recover the reg and running state only VPU being used
Signed-off-by: guoyin.chen <guoyin.chen@freescale.com>
|
|
The sdhci async mmc coomand support will batch too much write command,
it will cause the thread call sync() become very slow, it will cause
the sqlite operation become very slow.
This patch will improve the latency of sqlite operation a lot,
one test case, without this patch, the async() will wait for 6 write command,
and with this patch, it only wait for one write command, in a slow SD card,
the different will be 3000ms vs 500ms.
Since this async() function not improve performance a lot for fast card(eMMC),
but it will affect too much for slow card like TF card, remove this function.
Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
|
|
Implement set_suspend_voltage for buck switch of PF100, and set_suspend_enable
/set_suspend_disable interface for LDO(VGENx).
Signed-off-by: Robin Gong <b38343@freescale.com>
|
|
Fix bug: IPU IC resize ratio overflow when downsizing large resolution frame
using split mode, for example downsize 4080x2720 frame into 1920x1080 frame.
Otherwise, the downsized frame is wrong.
Signed-off-by: Wayne Zou <b36644@freescale.com>
|
|
This reverts commit 60bad509d7060775a370d70e843ab12f6b50c5c5.
|
|
This reverts commit c672fadbfe66e900048fcc04d6252fb842414433.
|
|
This reverts commit 515c4d4486a167a7741bcae804cbb357bc0d7fc1.
|
|
There was a mpr121_touchkey.c driver already upstream,
the orignall driver by 2.6.35 kernel development
should be removed to avoid duplicate.
This reverts commit 3d6df22ad54a14bc8cebb7753c36f7b3cd811665.
Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
|
|
Export symbol in HDMI core driver to support HDMI AUDIO codec driver's
loadable module build.
Signed-off-by: Chen Liangjun <b36089@freescale.com>
|
|
imx_3.0.35_android_r13.4.y
Conflicts:
arch/arm/configs/imx6s_updater_defconfig
arch/arm/include/asm/hardware/coresight.h
arch/arm/kernel/etm.c
arch/arm/mach-mx6/board-mx6q_sabresd.c
arch/arm/mach-mx6/cpu_op-mx6.c
arch/arm/mach-mx6/mx6_suspend.S
arch/arm/mach-mx6/mx6sl_wfi.S
arch/arm/mach-mx6/pm.c
arch/arm/mach-mx6/system.c
arch/arm/plat-mxc/cpufreq.c
drivers/media/video/mxc/capture/ov5640_mipi.c
drivers/mfd/mxc-hdmi-core.c
drivers/mmc/host/sdhci.c
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c
drivers/power/sabresd_battery.c
drivers/video/mxc/mxc_ipuv3_fb.c
include/linux/mfd/mxc-hdmi-core.h
|
|
This is needed sanity check, because on Ubuntu it's likely that low memory
will happen. This patch also makes this memory allocated from dma zone.
Signed-off-by: Robby Cai <R63905@freescale.com>
|
|
The settings in the PXP_PS_BUF, PXP_OUT_PS_ULC, and PXP_OUT_PS_LRC will
determine the subset of the PS buffer, or clipped PS source buffer, that
will be used in the output buffer.
HW_PXP_OUT_PS_LRC should set the scaled output size rather than the origin
size when scaling.
Please refer to the "Clipping source images" section in RM for how it works.
Signed-off-by: Robby Cai <R63905@freescale.com>
|
|
A small logic bug prevents the init sequence from properly turning
off the clocks. This leads to the clocks being always on
if the first update does not complete due to the screen being blanked.
Signed-off-by: Michael Minnick <michael.minnick@freescale.com>
|
|
Add dependency on CONFIG_FB_MXC_ELCDIF_FB, to avoid build error if as module.
Signed-off-by: Robby Cai <R63905@freescale.com>
|
|
This is needed when build sii902x hdmi driver as module
Signed-off-by: Robby Cai <R63905@freescale.com>
|
|
This can be detected by enabling CONFIG_LOCKDEP and CONFIG_PROVE_LOCKING
The dump log:
=============================================
[ INFO: possible recursive locking detected ]
3.0.35-02140-gb4181ce-dirty #959
---------------------------------------------
swapper/1 is trying to acquire lock:
((fb_notifier_list).rwsem){.+.+.+}, at: [<80088758>] __blocking_notifier_call_chain+0x44/0x88
but task is already holding lock:
((fb_notifier_list).rwsem){.+.+.+}, at: [<80088758>] __blocking_notifier_call_chain+0x44/0x88
other info that might help us debug this:
Possible unsafe locking scenario:
CPU0
----
lock((fb_notifier_list).rwsem);
lock((fb_notifier_list).rwsem);
*** DEADLOCK ***
May be due to missing lock nesting notation
5 locks held by swapper/1:
#0: (&__lockdep_no_validate__){+.+.+.}, at: [<8027f244>] __driver_attach+0x48/0x98
#1: (&__lockdep_no_validate__){+.+.+.}, at: [<8027f254>] __driver_attach+0x58/0x98
#2: (registration_lock){+.+.+.}, at: [<8023a17c>] register_framebuffer+0x18/0x24c
#3: (&fb_info->lock){+.+.+.}, at: [<80238dc8>] lock_fb_info+0x18/0x3c
#4: ((fb_notifier_list).rwsem){.+.+.+}, at: [<80088758>] __blocking_notifier_call_chain+0x44/0x88
stack backtrace:
[<800405c4>] (unwind_backtrace+0x0/0xf8) from [<80097c78>] (__lock_acquire+0x1644/0x1c18)
[<80097c78>] (__lock_acquire+0x1644/0x1c18) from [<80098748>] (lock_acquire+0x84/0x98)
[<80098748>] (lock_acquire+0x84/0x98) from [<804d0aa8>] (down_read+0x34/0x44)
[<804d0aa8>] (down_read+0x34/0x44) from [<80088758>] (__blocking_notifier_call_chain+0x44/0x88)
[<80088758>] (__blocking_notifier_call_chain+0x44/0x88) from [<800887b4>] (blocking_notifier_call_chain+0x18/0x20)
[<800887b4>] (blocking_notifier_call_chain+0x18/0x20) from [<802397e0>] (fb_set_var+0x264/0x290)
[<802397e0>] (fb_set_var+0x264/0x290) from [<8024a320>] (lcd_init_fb+0x54/0x70)
[<8024a320>] (lcd_init_fb+0x54/0x70) from [<8024a3f0>] (lcd_fb_event+0x44/0xb4)
[<8024a3f0>] (lcd_fb_event+0x44/0xb4) from [<80088514>] (notifier_call_chain.isra.1+0x74/0xd0)
[<80088514>] (notifier_call_chain.isra.1+0x74/0xd0) from [<80088774>] (__blocking_notifier_call_chain+0x60/0x88)
[<80088774>] (__blocking_notifier_call_chain+0x60/0x88) from [<800887b4>] (blocking_notifier_call_chain+0x18/0x20)
[<800887b4>] (blocking_notifier_call_chain+0x18/0x20) from [<8023a2d4>] (register_framebuffer+0x170/0x24c)
[<8023a2d4>] (register_framebuffer+0x170/0x24c) from [<8024fe8c>] (mxc_elcdif_fb_probe+0x464/0x564)
[<8024fe8c>] (mxc_elcdif_fb_probe+0x464/0x564) from [<8028031c>] (platform_drv_probe+0x18/0x1c)
[<8028031c>] (platform_drv_probe+0x18/0x1c) from [<8027f0f0>] (driver_probe_device+0x90/0x19c)
[<8027f0f0>] (driver_probe_device+0x90/0x19c) from [<8027f290>] (__driver_attach+0x94/0x98)
[<8027f290>] (__driver_attach+0x94/0x98) from [<8027e2e4>] (bus_for_each_dev+0x5c/0x88)
[<8027e2e4>] (bus_for_each_dev+0x5c/0x88) from [<8027eabc>] (bus_add_driver+0x188/0x250)
[<8027eabc>] (bus_add_driver+0x188/0x250) from [<8027f750>] (driver_register+0x78/0x13c)
[<8027f750>] (driver_register+0x78/0x13c) from [<8001c838>] (mxc_elcdif_fb_init+0x38/0x48)
[<8001c838>] (mxc_elcdif_fb_init+0x38/0x48) from [<80035334>] (do_one_initcall+0x34/0x178)
[<80035334>] (do_one_initcall+0x34/0x178) from [<80008968>] (kernel_init+0x84/0x124)
[<80008968>] (kernel_init+0x84/0x124) from [<8003b614>] (kernel_thread_exit+0x0/0x8)
In fact, we don't need support dynamically switch the framebuffer.
so, we only need do once registeration in probe function.
Signed-off-by: Robby Cai <R63905@freescale.com>
Acked-by: Lily Zhang
|
|
add V4L2_CAP_VIDEO_CAPTURE & V4L2_CAP_STREAMING capability for QUERYCAP ioctl.
Signed-off-by: Robby Cai <R63905@freescale.com>
|
|
It used the hard-coded '0' for historical reason.
This patch changes it to -1 to make video device minor to
be automatically assigned.
Signed-off-by: Robby Cai <R63905@freescale.com>
|
|
Disable csi clock when inactive, otherwise this prevents system from
entering low power mode.
Signed-off-by: Robby Cai <R63905@freescale.com>
|
|
The current driver only allows SD cards to run at 1.8V.
This patch allows MMC and SDIO cards to be switched to 1.8V signalling
Acked-by: Dong Aisheng <b29396@freescale.com>
Signed-off-by: Robby Cai <R63905@freescale.com>
|
|
To reproduce:
1. let system enter suspend mode
2. touch the screen
3. after the system resumes, touch screen does not respond again.
The cause:
The touch screen interrupt is triggered by falling edge. During suspend stage,
once the screen has ever been touched, then the interrupt line will be always
pulled low. Since elan ts chip is always powered on and the interrupt gets no
chance to be handled during suspend stage, the interrupt line can not recover
to high to detect a new one.
Workaround:
Read out the pending data to make the touch screen come back alive.
Signed-off-by: LiGang <b41990@freescale.com>
Signed-off-by: Robby Cai <R63905@freescale.com>
|
|
* Add ADV728x mipi csi2 tvin decoder support
* Perform a hardware reset via i2c command
* Load recommended initial config settings
* Kconfig selection options
* Makefile build rules
Signed-off-by: Oscar Luna <r01160@freescale.com>
Signed-off-by: Adrian Alonso <aalonso@freescale.com>
|
|
This reverts commit a4c30fb8c306939d06196d9324b991fccd6350e4.
Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
|
|
Stress test with I2C devices occasionally caused kernel dump and panic:
==========================dump=start==========================
v4l_capture_testapp 0 TINFO :
Color space conversion YUV420->RGB565X success!
v4l_capture_testapp 0 TINFO :
Color space conversion YUV420->RGB565X success!
clean up environment...VPU interrupt received.
Unable to handle kernel paging request at virtual address ffdf401a
pgd = ba2a4000
[ffdf401a] *pgd=4fe1a811, *pte=00000000, *ppte=00000000
Internal error: Oops: 7 [#1] PREEMPT SMP
Modules linked in: mxc_v4l2_capture ipu_still ipu_bg_overlay_sdc
ipu_prp_enc ipu_fg_overlay_sdc ipu_csi_enc ov5642_camera
camera_sensor_clock [last unloaded: ipu_csi_enc]
CPU: 0 Not tainted (3.0.35-2039-g267e004 #1)
PC is at sdma_int_handler+0x144/0x1a4
LR is at sdma_int_handler+0x70/0x1a4
pc : [<802663f4>] lr : [<80266320>] psr: 60000193
sp : ba3e7ca8 ip : bfee2100 fp : 00000001
r10: 80a67200 r9 : 80acbcf0 r8 : 00000003
r7 : 00000001 r6 : 00000001 r5 : 00000002 r4 : bfee20e0
r3 : ffdf4000 r2 : 00010104 r1 : ffdf4018 r0 : bfee2104
Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment user
Control: 10c53c7d Table: 4a2a404a DAC: 00000015
Process mxc_vpu_test.ou (pid: 3277, stack limit = 0xba3e62f0)
Stack: (0xba3e7ca8 to 0xba3e8000)
7ca0: 80038f40 bfee2000 002977e3 bf9cda80
80a6724c 00000000
7cc0: 00000000 00000022 80acbcf0 80a67200 00000001 800a5cb8
0000f08f 00000000
[<802663f4>] (sdma_int_handler+0x144/0x1a4)
from [<800a5cb8>] (handle_irq_event_percpu+0x50/0x180)
[<800a5cb8>] (handle_irq_event_percpu+0x50/0x180)
from [<800a5e24>] (handle_irq_event+0x3c/0x5c)
[<800a5e24>] (handle_irq_event+0x3c/0x5c)
from [<800a81a8>] (handle_fasteoi_irq+0xbc/0x154)
[<800a81a8>] (handle_fasteoi_irq+0xbc/0x154)
from [<800a5620>] (generic_handle_irq+0x28/0x3c)
[<800a5620>] (generic_handle_irq+0x28/0x3c)
from [<80040830>] (handle_IRQ+0x4c/0xac)
[<80040830>] (handle_IRQ+0x4c/0xac)
from [<8003f9cc>] (__irq_svc+0x4c/0xe8)
[<8003f9cc>] (__irq_svc+0x4c/0xe8)
from [<800764f4>] (__do_softirq+0x4c/0x140)
[<800764f4>] (__do_softirq+0x4c/0x140)
from [<80076a90>] (irq_exit+0x94/0x9c)
[<80076a90>] (irq_exit+0x94/0x9c)
from [<8003a1b4>] (do_local_timer+0x70/0x90)
[<8003a1b4>] (do_local_timer+0x70/0x90)
from [<8003f9cc>] (__irq_svc+0x4c/0xe8)
Exception stack(0xba3e7de8 to 0xba3e7e30)
[<8003f9cc>] (__irq_svc+0x4c/0xe8)
from [<80071a88>] (vprintk+0x328/0x4a8)
[<80071a88>] (vprintk+0x328/0x4a8)
from [<804ddb28>] (printk+0x1c/0x2c)
[<804ddb28>] (printk+0x1c/0x2c)
from [<80390de0>] (vpu_ioctl+0x2cc/0x864)
[<80390de0>] (vpu_ioctl+0x2cc/0x864)
from [<800fc314>] (do_vfs_ioctl+0x80/0x54c)
[<800fc314>] (do_vfs_ioctl+0x80/0x54c)
from [<800fc818>] (sys_ioctl+0x38/0x5c)
[<800fc818>] (sys_ioctl+0x38/0x5c)
from [<8003ff80>] (ret_fast_syscall+0x0/0x30)
Code: e594101c e5943038 e0811081 e0831101 (e5d13002)
---[ end trace 82daf36a5a07d470 ]---
Kernel panic - not syncing: Fatal exception in interrupt
Rebooting in 60 seconds..
==========================dump=end==========================
This kernel dump only happened after one period of stress-test's done.
From the dump info above, we just located the issue happened in SDMA driver.
Regularly, it'd not be any problem when sdma_int_handler()'s called. But after
tracing, we found that in those occasional times, the last one irq of a channel
hadn't been responded while sdma_free_chan_resources() was already done.
sdma_free_chan_resources() should be called in the end of the procedure. Any
irq wouldn't occur after its resources're freed.
But considering about stress test, the test scripts uses "kill" cmd to close
aplay, which means pcm_free() might be called before last buffer's transmission
was finished. Plus, many modules're working in the same time during the test.
So CPU0, the only core can handle irq, would be busy with irq-handlings, while
the other CPU cores(i.e. CPU1~3) might be idle and deal with free() much faster
than CPU0's irq-handling. Then kernel panic.
Since we know, in some extreme circumstances, the irq would not be handled in
time, we can manually handle the irq ONLY IF we could still detect one irq to
the channel in the beginning of free(), right before its resources's gonna be
freed.
This Patch added checking code in the beginning of sdma_free_chan_resources()
to detect when the channel's gonna be freed if there's still one irq pended.
If so, just handle the irq manually before we free it.
Again, considering about sdma_int_handler() might be running at the same time,
and if it already cleared the value of reg but hadn't handled the irq yet, also
added code to pend free() until irq to the channel was handled.
Signed-off-by: Nicolin Chen <b42378@freescale.com>
|
|
When setup csi ic mem on the fly channel, the capture output buffer is
initialized with hard coded dummy address 0xdeadbeaf
This also causes IPU warning when use this channel:
imx-ipuv3 imx-ipuv3.0: IDMAC20's EBA0 is not 8-byte aligned
- use the pre-allocated dummy_frame.vaddress instead of 0xdeadbeaf
Signed-off-by: Sheng Nan <b38800@freescale.com>
|
|
ioctl_s_parm for ov5642 and ov5640, it didn't check if sensor changed mode
successfully.
So it updates the sensor parameters with new framerate and new mode even
if the sensor failed to change mode.
The original framerate and mode is useful for the exposure calculation.
It should keep consistent with sensor actual work mode.
- This patch checks the return value of function which changes sensor mode
If it succeed, update sensor parameters.
Signed-off-by: Sheng Nan <b38800@freescale.com>
|
|
Change v4l2 capture stream off sequence.
Both CSI MEM and CSI IC MEM channel wait for idmac eof and
disable csi firstly.
The disable sequence is:
- wait for idmac channel EOF, disable csi
- disable idmac channel
- disable smfc (CSI-->MEM channel)
Signed-off-by: Sheng Nan <b38800@freescale.com>
(cherry picked from commit 8d06743e323da3a65c7a488315ca33c7901f9bc8)
|
|
current _ipu_csi_wait4eof only support CSI-->MEM channel
- add support of CSI_PRP_ENC_MEM
- add support of CSI_PRP_VF_MEM
Signed-off-by: Sheng Nan <b38800@freescale.com>
(cherry picked from commit 4ddc27dff9b806d8c21dbcf7a57a3608c422d1a4)
|
|
The recommended sequence for disable csi is,
disable csi as soon as we get IDMAC eof interrupt.
- add wait for eof when disable csi.
- don't wait for eof when disable CSI-->MEM channel.
Signed-off-by: Sheng Nan <b38800@freescale.com>
(cherry picked from commit fb4b5a097f844905ec703d48fb4fc337df7eb9a0)
|
|
current setting of 5M (QSXGA) mode, sensor works at 2.5fps.
the expected frame rate is 7.5fps.
- use new ov5642 QSXGA firmware get from ov
change sensor PLL settings 0x3010/0x3012
QSXGA frame rate changes from 2.5 -- 7.5fps
- change mode between QSXGA@15fps and VGA@15fps go through quick change path.
modify QSXGA_VGA quick change firmware due to the QSXGA PLL setting changes.
keep value of 0x3010/0x3012 the same as VGA@15fps original value.
Signed-off-by: Sheng Nan <b38800@freescale.com>
(cherry picked from commit 23023bc7a100552451d3541ab34be348a8c32c3a)
|
|
change ov5640_init_mode sequence according to ov's suggestion
ov5640 support two method of size switching, scaling and subsampling
exposure calculation when change size between scaling and subsampling
- scaling: image size bigger than 1280*960
- subsampling: image size smaller than 1280*960
This patch changes the sequence of ov5640_init_mode()
1. setting mipi csi2 (no change).
2. check mode
- if it is in INIT_MODE, go throught initial procedure
- if sensor changes between scaling and subsampling,
go through exposure calcualtion
- otherwise, configure mode directly.
3. other procedures keep the same.
Signed-off-by: Sheng Nan <b38800@freescale.com>
(cherry picked from commit bb71ae44bcf04299483426fb3a6421e207504d3e)
|
|
- XVCLK equals MCLK/10000, currently XVCLK is hard set as 2200
- rename it in lower case
Signed-off-by: Sheng Nan <b38800@freescale.com>
(cherry picked from commit baca2279464019b44521e0a179d191ecb3a4eb6a)
|
|
remove duplicated definition of prev_sysclk
Signed-off-by: Sheng Nan <b38800@freescale.com>
(cherry picked from commit 704a97ecad2c081038001de140d0f11fc4857cdb)
|
|
clear code type warning generated by script
Signed-off-by: Sheng Nan <b38800@freescale.com>
(cherry picked from commit d3a74f37a7f1062b26fc0ea159c28aef7633f05b)
|
|
Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Lily Zhang
|