linux.git
12 years agoENGR00157540 asrc: fix mx53 ard p2p mode unwork rel_imx_2.6.35_11.09.01
Dong Aisheng [Fri, 23 Sep 2011 09:31:05 +0000 (17:31 +0800)]
ENGR00157540 asrc: fix mx53 ard p2p mode unwork

1) ESAI does not support 44.1Khz
2) need checking word width for asrc p2p mode

Signed-off-by: Dong Aisheng <b29396@freescale.com>
12 years agoENGR00157413 asrc: fix mem to mem mode sounds incorrect issue
Dong Aisheng [Thu, 22 Sep 2011 09:16:06 +0000 (17:16 +0800)]
ENGR00157413 asrc: fix mem to mem mode sounds incorrect issue

Reset reg variable before setting or it will set an unexpected wrong value.

Signed-off-by: Dong Aisheng <b29396@freescale.com>
12 years agoENGR00156976 - PxP: fix imx-lib build break
Danny Nold [Fri, 16 Sep 2011 16:53:34 +0000 (11:53 -0500)]
ENGR00156976 - PxP: fix imx-lib build break

Change from u8 declaration in pxp_dma.h to __u8

Signed-off-by: Danny Nold <dannynold@freescale.com>
12 years agoENGR00156420 - EPDC/PxP: Add support for color map
Danny Nold [Fri, 12 Aug 2011 01:07:59 +0000 (20:07 -0500)]
ENGR00156420 - EPDC/PxP: Add support for color map

- Add support for 8-bit grayscale colormaps to be used
during EPDC update processing
- Add support in PxP for programming of colormaps

Signed-off-by: Danny Nold <dannynold@freescale.com>
12 years agoENGR00156183-2 sii902x: add error handle of put_pins for probe fail
Jason Chen [Wed, 14 Sep 2011 08:26:11 +0000 (16:26 +0800)]
ENGR00156183-2 sii902x: add error handle of put_pins for probe fail

there is hardware pin conflict between sii902x DET and egalax touch screen
on mx53 loco board. Request gpio during sii902x probe can fix this conflict
only when these two module not co-exist.

Signed-off-by: Jason Chen <b02280@freescale.com>
12 years agoENGR00156183-1 mx53_loco: add get_pins/put_pins call back for sii902x
Jason Chen [Wed, 14 Sep 2011 08:23:03 +0000 (16:23 +0800)]
ENGR00156183-1 mx53_loco: add get_pins/put_pins call back for sii902x

there is hardware pin conflict between sii902x DET and egalax touch screen
on mx53 loco board. Request gpio during sii902x probe can fix this conflict
only when these two module not co-exist.

Signed-off-by: Jason Chen <b02280@freescale.com>
12 years agoENGR00156300 - EPDC fb: Move ISR code to work Q & replace spinlocks with mutexes
Danny Nold [Thu, 8 Sep 2011 20:38:25 +0000 (15:38 -0500)]
ENGR00156300 - EPDC fb: Move ISR code to work Q & replace spinlocks with mutexes

- Move the majority of code from the IRQ handler routine into a workqueue
routine.  This should improve system interrupt latency.
- Change the spin_lock protecting EPDC queues into a mutex and change all
associated spin_lock calls into mutex calls.

Signed-off-by: Danny Nold <dannynold@freescale.com>
12 years agoENGR00155880 USB device: Fix RNDIS Full Speed hang during initialization
Anish Trivedi [Thu, 1 Sep 2011 22:20:42 +0000 (17:20 -0500)]
ENGR00155880 USB device: Fix RNDIS Full Speed hang during initialization

When setup irq is received, the status phase of the transfer is primed
on ep0 before the data phase. The usb requests are added to the list
of transfer descriptors (maintained by driver) in reverse of their
expected completion order. Completion order is data followed by status,
however the list of tds contains status followed by data.

Upon completion of the data request, the irq handler proceeds to check
the 1st td in the list -- the status request. In full speed mode,
the status phase has not yet completed at this time, so the td's
ACTIVE bit is still set. This leads irq handler to ignore the completion
interrupt without checking the actual td for the data request that caused
the interrupt.

In high speed mode, this issue does not bear itself out because the status
request also completes by the time the irq handler goes to process the data
completion interrupt.

The simple fix for this issue is to prime the status request AFTER the data
request, so that the list of tds maintained by the driver contains the tds
in the order of expected completion.

Signed-off-by: Anish Trivedi <anish@freescale.com>
12 years agoENGR00156159 usb-device: do not deal with un-enabled device interrupt
Peter Chen [Wed, 7 Sep 2011 01:46:08 +0000 (09:46 +0800)]
ENGR00156159 usb-device: do not deal with un-enabled device interrupt

Do not deal with un-enabled device interrupt

Signed-off-by: Peter Chen <peter.chen@freescale.com>
12 years agoENGR00155137 mx53 Ripley: enable SWBST in stop mode
Robin Gong [Tue, 6 Sep 2011 07:01:56 +0000 (15:01 +0800)]
ENGR00155137 mx53 Ripley: enable SWBST in stop mode

Because VUSB is supply by SWBST , we shouldn't off SWBST, otherwise
VUSB will not kept in 3.3V , so there is no normal wakeup signal
produced when USB device plug in or out after system go into stop
mode.

Signed-off-by: Robin Gong <B38343@freescale.com>
12 years agoENGR00155763 SR:1-776919222 Noise from sgtl5000 when reboot
b02247 [Wed, 31 Aug 2011 03:15:36 +0000 (11:15 +0800)]
ENGR00155763 SR:1-776919222 Noise from sgtl5000 when reboot

powerdown DAC,LINE_OUT,HP in shutdown

Signed-off-by: b02247 <b02247@freescale.com>
12 years agoENGR00155638 mx53 power: Add DDR float pin operation when system idle
Wayne Zou [Wed, 31 Aug 2011 07:28:34 +0000 (15:28 +0800)]
ENGR00155638 mx53 power: Add DDR float pin operation when system idle

1. Add DDR self-refresh mode and float pin operation when system idle
For audio playback use case on android r10.3, it can save 10mA@1.54V
about 15mW on DDRIO+ memory power, and 6.6mA@2.5V -16.5mW on VDD_REG
It can reduce more memory power consumption if cpu idle time is longer

2. remove the L1/L2 cache operation during suspend for mx53
The L1/L2 cache are powered by VDDA/VDDAL1 and they should be supplied
according to iMX53 datasheet, there is also no EMPG on MX53,
so it can be removed to improve system performance and power.

3. remap the suspend_iram_base as MT_MEMORY_NONCACHED instead of MT_HIGH_VECTORS
If the IRAM page is marked as Cacheable, the ARM cache controller will
attempt to flush dirty cache lines to DDR, so it can fill those lines with
IRAM instruction code. The problem is that the DDR is in self-refresh mode
and HighZ DDR IO PADs during system idle or suspend, so any DDR access
causes the ARM MPU subsystem to hang.
It needs to cherry-pick two patches(5a4aeb9f6,7c8d972d8) from community.

4. Add DDR self-refresh mode and float pin operation for mx53 ARD board,
and mx53 QS/Ripley board
This patch can resovle ramdom suspend/resume issue, since the early code
didn't consider the TLB missing case during suspend. It needs to save all
the M4IF/IO MUX registers firstly to make sure the page table entried into
TLB, and then enter DDR self-refresh mode.

Signed-off-by: Wayne Zou <b36644@freescale.com>
12 years agoENGR00155562 [eSDHC]fix DDTS ENGcm03648
Tony Lin [Tue, 30 Aug 2011 07:09:05 +0000 (15:09 +0800)]
ENGR00155562 [eSDHC]fix DDTS ENGcm03648

fix eSDHC errata 'DDTS ENGcm03648'
if it's command with busy, we should poll data0 signal
until it's high which means bus is idle.

Signed-off-by: Tony Lin <tony.lin@freescale.com>
12 years agoARM: 6419/1: mmu: Fix MT_MEMORY and MT_MEMORY_NONCACHED pte flags
Santosh Shilimkar [Thu, 30 Sep 2010 08:02:17 +0000 (09:02 +0100)]
ARM: 6419/1: mmu: Fix MT_MEMORY and MT_MEMORY_NONCACHED pte flags

The commit f1a2481c0 sets up the default flags for MT_MEMORY and
MT_MEMORY_NONCACHED memory types. L_PTE_USER flag is wrongly
set as default for these entries so remove it. Also adding
the 'L_PTE_WRITE' flag so that these pages become read-write
instead of just being read-only

[this stops them being exposed to userspace, which is the main
concern here --rmk]

Reported-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: 6407/1: mmu: Setup MT_MEMORY and MT_MEMORY_NONCACHED L1 entries
Santosh Shilimkar [Fri, 24 Sep 2010 06:18:22 +0000 (07:18 +0100)]
ARM: 6407/1: mmu: Setup MT_MEMORY and MT_MEMORY_NONCACHED L1 entries

This patch populates the L1 entries for MT_MEMORY and MT_MEMORY_NONCACHED
types so that at boot-up, we can map memories outside system memory
at page level granularity

Previously the mapping was limiting to section level, which creates
unnecessary additional mapping for which physical memory may not
present. On the newer ARM with speculation, this is dangerous and can
result in untraceable aborts.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoENGR00155268 usb-gadget: fix potential risk between rapid usb cable plug in/out
Tony Liu [Wed, 24 Aug 2011 04:56:24 +0000 (12:56 +0800)]
ENGR00155268 usb-gadget: fix potential risk between rapid usb cable plug in/out

- When usb cable is plugged out, the B_SESSION_VALID interrupt is disabled to
  avoid usb disconection work queue interrupting. After usb disconection work
  queue task is finished, re-enable it to generate interrupt.

Signed-off-by: Tony Liu <b08287@freescale.com>
12 years agoENGR00154940 usb-gadget: Fix wrong vbus discharge operation druing suspend
Tony Liu [Wed, 17 Aug 2011 09:20:23 +0000 (17:20 +0800)]
ENGR00154940 usb-gadget: Fix wrong vbus discharge operation druing suspend

-remove all the un-necessary operation in suspend_irq
-remove delay work queue
-fix review comments

Signed-off-by: Tony Liu <b08287@freescale.com>
12 years agoENGR00155574 [eSDHC]fix sdio irq enable bug
Tony Lin [Tue, 30 Aug 2011 08:57:40 +0000 (16:57 +0800)]
ENGR00155574 [eSDHC]fix sdio irq enable bug

a counter used in sdhci_enable_sdio_irq function is not correct.
calling the function with enable flag will skip enabling the irq if it
follows two continuous calls with disable flag because of the counter.
to resolve this problem, simply set the counter to 1 or 0 instead of counting.
this bug is reported by a customer.

Signed-off-by: Tony Lin <tony.lin@freescale.com>
12 years agoDo not call flush_cache_user_range with mmap_sem held
Dima Zavin [Wed, 28 Apr 2010 10:57:04 +0000 (03:57 -0700)]
Do not call flush_cache_user_range with mmap_sem held

[ARM] Do not call flush_cache_user_range with mmap_sem held

We can't be holding the mmap_sem while calling flush_cache_user_range
because the flush can fault. If we fault on a user address, the
page fault handler will try to take mmap_sem again. Since both places
acquire the read lock, most of the time it succeeds. However, if another
thread tries to acquire the write lock on the mmap_sem (e.g. mmap) in
between the call to flush_cache_user_range and the fault, the down_read
in do_page_fault will deadlock.

Also, since we really can't be holding the mmap_sem while calling
flush_cache_user_range AND vma is actually unused by the flush itself,
get rid of vma as an argument.

Change-Id: If55409bde41ad1060fa4fe7cbd4ac530d4d9a106
Signed-off-by: Dima Zavin <dima@android.com>
12 years agoENGR00155472 mx53_loco: support for RevB and RevA of Ripely mx53_loco
Robin Gong [Mon, 29 Aug 2011 08:17:37 +0000 (16:17 +0800)]
ENGR00155472 mx53_loco: support for RevB and RevA of Ripely mx53_loco

in board_init ,kernel will read the system_rev TAG from uboot
and configure the right interrupt gpio
Signed-off-by: Robin Gong <B38343@freescale.com>
12 years agoENGR00155145 ipuv3 disp pos: restore pos setting after channel disable.
Jason Chen [Mon, 22 Aug 2011 03:42:25 +0000 (11:42 +0800)]
ENGR00155145 ipuv3 disp pos: restore pos setting after channel disable.

FG pos need be reset to 0 when channel disable, but it will lost old setting.

Signed-off-by: Jason Chen <b02280@freescale.com>
12 years agoENGR00153474 ipuv3 split mode: vf and enc task display with error
Jason Chen [Mon, 29 Aug 2011 03:57:39 +0000 (11:57 +0800)]
ENGR00153474 ipuv3 split mode: vf and enc task display with error

For split mode, if using vf/enc task, the display is not correct.

Signed-off-by: Jason Chen <b02280@freescale.com>
12 years agoENGR00155141 ipuv3 split mode: adjust split calculate function
Jason Chen [Mon, 29 Aug 2011 04:00:50 +0000 (12:00 +0800)]
ENGR00155141 ipuv3 split mode: adjust split calculate function

One issue was found in split mode: For input 1024x600, output 1360x768,
after stripe calculation, input width and input column are not right.
This patch fix this issue.

Signed-off-by: Jason Chen <b02280@freescale.com>
12 years agoENGR00155292 usb-host: do not clear RS bit when usb bus goes to suspend
Peter Chen [Wed, 24 Aug 2011 09:05:31 +0000 (17:05 +0800)]
ENGR00155292 usb-host: do not clear RS bit when usb bus goes to suspend

The standard EHCI design will clear RS bit after usb bus goes to
suspend, but it causes some remote wakeup issues, like remote-wakeup
featured device will be reset after resuming.

According to usb 2.0 spec, the SOF need to be sent out within 3ms
after resume signal ends, or device may consider host disconnects
with device. Freescale's USB Controller (Chipidea's core) will ends
up resume signal automatically within 21ms after it recevices remote
wakeup signal. So, if software does not set RS bit within 21ms after
it recevices remote wakeup signal, the problem described above will
be occurred.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
12 years agoENGR00155282 mc34708: support to build mc34708 driver only
Lily Zhang [Mon, 8 Aug 2011 09:37:47 +0000 (17:37 +0800)]
ENGR00155282 mc34708: support to build mc34708 driver only

1. If change defconfig and only build in mc34708 dirver,
the following error is reported:
undefined reference to `mc13892_alloc_data'
undefined reference to `mc13892_init_registers'
undefined reference to `mc13892_get_revision'

This patch is to fix above compiling error.

2. Add mc34708 dependency in Kconfig

Signed-off-by: Lily Zhang <r58066@freescale.com>
12 years agoENGR00144145-2 usb: can be built as loadable modules
Peter Chen [Wed, 24 Aug 2011 07:10:06 +0000 (15:10 +0800)]
ENGR00144145-2 usb: can be built as loadable modules

Driver part

Please follow below load sequence to use OTG

- fsl_otg_arc
- ehci-hcd
- arcotg_udc

Besides, in order to match i.mx53 release windows, it changes some
common code, there will be a better solution at 2.6.38 in future

Signed-off-by: Peter Chen <peter.chen@freescale.com>
12 years agoENGR00144145-1 usb: can be built as loadable modules
Peter Chen [Wed, 24 Aug 2011 07:00:49 +0000 (15:00 +0800)]
ENGR00144145-1 usb: can be built as loadable modules

MSL part

Follow below load sequence to use OTG

- fsl_otg_arc
- ehci-hcd
- arcotg_udc

Besides, in order to match i.mx53 release windows, it changes some
common code, there will be a better solution at 2.6.38 in future

Signed-off-by: Peter Chen <peter.chen@freescale.com>
12 years agoENGR00155173 mx53_ard: fix CAN unable to communicate issue
Dong Aisheng [Mon, 22 Aug 2011 09:15:20 +0000 (17:15 +0800)]
ENGR00155173 mx53_ard: fix CAN unable to communicate issue

Merge this patch for SR 1-775080061.
The error is the system can find the CAN bus, but cannot communicate
physically.

Signed-off-by: Dong Aisheng <b29396@freescale.com>
12 years agoENGR00155100 mx5: Use CONFIG_MXS_DMA_ENGINE to control DMA code
Lily Zhang [Mon, 22 Aug 2011 04:21:30 +0000 (12:21 +0800)]
ENGR00155100 mx5: Use CONFIG_MXS_DMA_ENGINE to control DMA code

Use CONFIG_MXS_DMA_ENGINE flag to control mxs dma engine
code

Signed-off-by: Lily Zhang <r58066@freescale.com>
12 years agoENGR00154458 Mx53 clock: close ssi_ext1_clk
Yuxi Sun [Fri, 19 Aug 2011 06:51:17 +0000 (14:51 +0800)]
ENGR00154458 Mx53 clock: close ssi_ext1_clk

Set this clock closed by default, and open it when it is needed.

Signed-off-by: Yuxi Sun <b36102@freescale.com>
12 years agoENGR00144056 MX53_SMD: COIN_CELL, no power supply for coin cell
Wayne Zou [Fri, 19 Aug 2011 05:33:51 +0000 (13:33 +0800)]
ENGR00144056 MX53_SMD: COIN_CELL, no power supply for coin cell

enable coin cell battery charger

Signed-off-by: Wayne Zou <b36644@freescale.com>
12 years agoENGR00154704 usb-gadget: wmb is needed after dtd pointer is updated for armv7
Peter Chen [Thu, 11 Aug 2011 02:51:45 +0000 (10:51 +0800)]
ENGR00154704 usb-gadget: wmb is needed after dtd pointer is updated for armv7

At armv7 SoC, the dma_alloc_coherent returns non-cachable, but
bufferable region, so the driver needs to drain write buffer by
itself, if the controller needs to visit dma buffer immediately
after cpu writes

There is a discussion for this armv7 change:
http://marc.info/?t=127918539100004&r=1&w=2

For this issue, the next dtd pointer is invalid sometimes, the reason
is the region which is used to store dtd is dma buffer, so the data may
not be written to memory when the controller visit this data.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
12 years agoENGR00154703 usb-gadget: fix spin_lock recursion problem at SMP platform
Peter Chen [Wed, 10 Aug 2011 11:37:16 +0000 (19:37 +0800)]
ENGR00154703 usb-gadget: fix spin_lock recursion problem at SMP platform

- The spin_lock is at interrupt handler, so all code routines
using at interrupt handler are forbidden to hold spin_lock again
- Move the code which needs to be protected by spin_lock to workqueue,
and it will be called when workqueue is scheduled.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
12 years agoENGR00154044 usb-otg: the device is invalid when usb device at otg port
Peter Chen [Thu, 11 Aug 2011 09:17:29 +0000 (17:17 +0800)]
ENGR00154044 usb-otg: the device is invalid when usb device at otg port

Below bugs are fixes:
- the device is invalid when usb device at otg port
The reason is udc->suspended is incorrect when otg as host mode
during boot up
- The disconnect can't be detected if usb is online when booting up
The reason is the vbus interrupt enable is cleared by otg switch work

Signed-off-by: Peter Chen <peter.chen@freescale.com>
12 years agoENGR00154880 ipuv3 dev: wait event could be signal return
Jason Chen [Tue, 16 Aug 2011 02:38:40 +0000 (10:38 +0800)]
ENGR00154880 ipuv3 dev: wait event could be signal return

wait_event_interruptible_timeout function could be signal
return, so we need add ERESTARTSYS return value to let libc
retry sys call.

Signed-off-by: Jason Chen <b02280@freescale.com>
12 years agoENGR00154775 esdhc: provide clock enable interface
Dong Aisheng [Wed, 29 Jun 2011 12:25:24 +0000 (20:25 +0800)]
ENGR00154775 esdhc: provide clock enable interface

1) do not always open clock for sdio card until sdio driver loaded
2) WiFi should disable host clock for host when unloaded because host
has no sense when sdio driver unloadded.
Noted the clock disable should at the end of SDIO driver remove callback.

Signed-off-by: Dong Aisheng <b29396@freescale.com>
12 years agoENGR00152844 pmic_wm8325: Add wm8325 driver support
Wayne Zou [Wed, 10 Aug 2011 08:25:39 +0000 (16:25 +0800)]
ENGR00152844 pmic_wm8325: Add wm8325 driver support

Add Wolfson PMIC WM8325 driver support

Signed-off-by: Wayne Zou <b36644@freescale.com>
12 years agoENGR00154437 mxc edid: add cea extend revision 1 and 2 support
Jason Chen [Tue, 9 Aug 2011 06:24:33 +0000 (14:24 +0800)]
ENGR00154437 mxc edid: add cea extend revision 1 and 2 support

Add cea extend revision 1 and 2 support.

Signed-off-by: Jason Chen <b02280@freescale.com>
12 years agoENGR00154431 - MXCFB_SET_WAVEFORMS ioctl broken
Danny Nold [Mon, 8 Aug 2011 02:30:35 +0000 (21:30 -0500)]
ENGR00154431 - MXCFB_SET_WAVEFORMS ioctl broken

- Fixed bug in how new waveform set is copied into EPDC driver internal
copy of waveform modes.

Signed-off-by: Danny Nold <dannynold@freescale.com>
12 years agoENGR00154432 PMIC DA9053: fix I2C NAK for first access and shutdown issue
Wayne Zou [Mon, 8 Aug 2011 02:12:32 +0000 (10:12 +0800)]
ENGR00154432 PMIC DA9053:  fix I2C NAK for first access and shutdown issue

During the platform boot up, during the platform does DA9053 Read/Write
operation, it writes slave address and wait for ACK . Instead of ACK
PMIC sends NAK. A workaround fix is provided as a part of retries
fix I2C NAK for very first access.

Also fix a bug when the system fails to start after software shutdown.

Signed-off-by: Wayne Zou <b36644@freescale.com>
12 years agoENGR00154016 DA9053 TSI: stop TSI threads during system idle and no touch event
Wayne Zou [Mon, 1 Aug 2011 02:29:16 +0000 (10:29 +0800)]
ENGR00154016 DA9053 TSI: stop TSI threads during system idle and no touch event

Changes Made
--------------
1) On Pen UP the TSI threads are stopped and
On Pen DOWN TSI threads are started
2) Removed TSI thread creation from Probe,
instead creating the TSI threads when PEN DOWN

Expected Output
-------------------
1) TSI threads to stop either when system is suspended or,
there is no touch event.Thus conserving power during system
suspend, idle and no touch event.
2) TSI threads to start only on touch event and not when system is resumed.
3) On system Start/Restart TSI threads will not be created and started till
the touch detection.

Signed-off-by: Wayne Zou <b36644@freescale.com>
12 years agoENGR00154433 ASRC: Fix ASRC build error.
Zeng Zhaoming [Sun, 7 Aug 2011 18:19:34 +0000 (02:19 +0800)]
ENGR00154433 ASRC: Fix ASRC build error.

Fix asrc build error introduced by:
'be75f376017a04b55cc9f4b3d1c3f2836deb9e47'

Signed-off-by: Zeng Zhaoming <b32542@freescale.com>
12 years agoENGR00154300-2 ASRC: Fix Mx53 ASRC not works with SSI
Zeng Zhaoming [Wed, 3 Aug 2011 19:20:22 +0000 (03:20 +0800)]
ENGR00154300-2 ASRC: Fix Mx53 ASRC not works with SSI

Asrc not works with ssi, it partly caused by ASRC driver not correctly
handle ssi input clock and data format.

SSI frame clock counting by word, when data format is 16bit-LE,
two channel data combine to one word, and frame rate used by
ASRC should take this into account.

And more, unlike Mx3x, Mx5x should set input and output data format
correctly in its ASRMCR1x register.

Signed-off-by: Zeng Zhaoming <b32542@freescale.com>
12 years agoENGR00154300-1 SDMA: Fix Mx53 ASRC not works with SSI
Zeng Zhaoming [Wed, 3 Aug 2011 19:14:00 +0000 (03:14 +0800)]
ENGR00154300-1 SDMA: Fix Mx53 ASRC not works with SSI

The following case not works in mx53:
memory --> asrc --> ssi

It is partly caused by asrc --> ssi using per_2_per sdma script
to transfer data. And this script not works in sdma driver.

In the per_2_per script, two sdma events trigger one channel, the
watermark level setting different from ordinary sdma script, we need
to set two watermark levels and map each watermark to event one-by-one.

Signed-off-by: Zeng Zhaoming <b32542@freescale.com>
12 years agoENGR00144281 SDMA: System hangs in bootup when kernel_preempt not enable
Zeng Zhaoming [Mon, 11 Jul 2011 21:55:32 +0000 (05:55 +0800)]
ENGR00144281 SDMA: System hangs in bootup when kernel_preempt not enable

When kernel_preempt not enable in configure, system bootup hangs
in sdma initialization.

This is caused by sdma initialization waiting for channel0 complete loading
script in queue, and arch_idle happens with action to disable some clocks,
if DDR clock disabled, script loading will failed and SoC hangs.

Solve it by make sure DDR clock is enabled during sdma initialization.

Signed-off-by: Zeng Zhaoming <b32542@freescale.com>
12 years agoENGR00154226-2 IPUv3 FB:Improve driver
Liu Ying [Wed, 3 Aug 2011 08:51:01 +0000 (16:51 +0800)]
ENGR00154226-2 IPUv3 FB:Improve driver

1) Current blank information should be unblank if
   we return back from mxcfb_set_par() function
   successfully.
2) Remove bypassing the suspend handling for
   overlay framebuffer for Android.
3) Synchronize fb unblanking operation bewteen
   Android early suspend and mxcfb_set_par() to
   avoid fb being unblanked after early suspend
   is done, as Android early suspend doesn't
   guarantee fb cannot be operated after early
   suspend.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
12 years agoENGR00154226-1 IPUv3:Improve driver
Liu Ying [Tue, 2 Aug 2011 04:09:11 +0000 (12:09 +0800)]
ENGR00154226-1 IPUv3:Improve driver

1) Fix race condition issue for enable/disable ipu clk.
2) Remove uninitializing MEM_FG_SYNC channel when
   suspend for Android.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
12 years agoENGR00153941 input: egalax_ts - not dump the i2c package in debug level.
Zhang Jiejing [Fri, 29 Jul 2011 06:52:40 +0000 (14:52 +0800)]
ENGR00153941 input: egalax_ts - not dump the i2c package in debug level.

Found the driver will leave i2c package dump message in kernel debug
level, it create too much noice, this should be deleted.

Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
12 years agoENGR00153830-2 vpu: Add VPU_IOC_REQ_VSHARE_MEM ioctl for shared memory
Sammy He [Thu, 28 Jul 2011 11:50:31 +0000 (19:50 +0800)]
ENGR00153830-2 vpu: Add VPU_IOC_REQ_VSHARE_MEM ioctl for shared memory

Add vmalloced memory for multi-instances shared memory, vpu lib
will call mmap for accessing the memory.

VPU_IOC_GET_SHARE_MEM ioctl is still reserved for some time since
vpu lib still uses it for mx5x now. Will remove it after mx5x changes
to this new added memory later.

Signed-off-by: Sammy He <r62914@freescale.com>
12 years agoENGR00153830-1 vpu: Add new VPU_IOC_REQ_VSHARE_MEM ioctl in mxc_vpu.h
Sammy He [Thu, 28 Jul 2011 11:48:53 +0000 (19:48 +0800)]
ENGR00153830-1 vpu: Add new VPU_IOC_REQ_VSHARE_MEM ioctl in mxc_vpu.h

Add new VPU_IOC_REQ_VSHARE_MEM ioctl to request vmalloced share memory.

Signed-off-by: Sammy He <r62914@freescale.com>
12 years agoENGR00153921 Add MC34708 PWM support
Robby Cai [Fri, 29 Jul 2011 05:33:09 +0000 (13:33 +0800)]
ENGR00153921 Add MC34708 PWM support

This driver privides dedicated APIs similar to ones provided
by Linux PWM framework.

MC34708 PWM supports period of time from 16000 ns to 1024000 ns,
with the step of 16000 ns. The duty cycle is multiple of 1/32.

Signed-off-by: Robby Cai <R63905@freescale.com>
12 years agoENGR00151748 DA9053 TSI: Fix touch that can not calibration on WVGA pannel
Wayne Zou [Thu, 28 Jul 2011 08:32:11 +0000 (16:32 +0800)]
ENGR00151748 DA9053 TSI: Fix touch that can not calibration on WVGA pannel

Fix a bug that da9052 tsi driver cannot support ts_calibrate test util.

Signed-off-by: Wayne Zou <b36644@freescale.com>
12 years agoENGR00153837 ov5642: fix camera color issue when switch from some mode to VGA
Yuxi Sun [Thu, 28 Jul 2011 04:52:32 +0000 (12:52 +0800)]
ENGR00153837 ov5642: fix camera color issue when switch from some mode to VGA

Using full register setting instead of partial register setting when switch
to VGA@30fps mode.

Signed-off-by: Yuxi Sun <b36102@freescale.com>
12 years agoENGR00153728: Fix MX25, MX31 build break caused by ENGR00153576
Ranjani Vaidyanathan [Tue, 26 Jul 2011 18:43:51 +0000 (13:43 -0500)]
ENGR00153728: Fix MX25, MX31 build break caused by ENGR00153576

Fix build break for non-mx5x platforms

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
12 years agoENGR00153696 ov5642: fix green color issue when take picture using QSXGA
Yuxi Sun [Wed, 27 Jul 2011 05:58:42 +0000 (13:58 +0800)]
ENGR00153696 ov5642: fix green color issue when take picture using QSXGA

add initial setting at first, and update setting for 30fps_VGA mode,
QSXGA mode, and add exposure calculation for take picture.

Signed-off-by: Yuxi Sun <b36102@freescale.com>
12 years agoENGR00153741 MX5 PM: fix a NULL pointer reference when enter suspend
Wayne Zou [Wed, 27 Jul 2011 02:30:59 +0000 (10:30 +0800)]
ENGR00153741 MX5 PM: fix a NULL pointer reference when enter suspend

Fix the NULL pointer reference when there is no
struct mxc_pm_platform_data defines on MX5 machines.

Signed-off-by: Wayne Zou <b36644@freescale.com>
12 years agoENGR00153703 mc34708: remove generation id check
Lily Zhang [Tue, 26 Jul 2011 10:35:32 +0000 (18:35 +0800)]
ENGR00153703 mc34708: remove generation id check

The generation ID of MC34708 Rev 2.3 is 0x13.
The generation ID of MC34708 Rev 2.1 is 0x91.
This patch is used to remove generation id check to support
different Rev chips.

Signed-off-by: Lily Zhang <r58066@freescale.com>
12 years agoENGR00153680 vpu: Fix the issue of not increasing open_count
Sammy He [Tue, 26 Jul 2011 07:56:11 +0000 (15:56 +0800)]
ENGR00153680 vpu: Fix the issue of not increasing open_count

Fix the issue of missing to increase open_count when vpu_open.
This is due to the patch of removing mx32 and mx37 code.

Signed-off-by: Sammy He <r62914@freescale.com>
12 years agoENGR00153586 mx53 ard: add mma8451 support
Lily Zhang [Mon, 25 Jul 2011 07:48:49 +0000 (15:48 +0800)]
ENGR00153586 mx53 ard: add mma8451 support

Add mma8451 support for mx53 ard board.

Signed-off-by: Lily Zhang <r58066@freescale.com>
Signed-off-by: Angolini Daiane <B19406@freescale.com>
12 years agoENGR00153567: MX5x - Fix race condition in clock code
Ranjani Vaidyanathan [Wed, 20 Jul 2011 19:40:09 +0000 (14:40 -0500)]
ENGR00153567: MX5x - Fix race condition in clock code

There is possible race condition between enabling/disabling clocks
and the corresponding calls to change the bus frequencies.
Fix by ensuring that the flags used to change the bus frequencies
are set in a atomic context and before the bus frequency is
actually changed.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
12 years agoENGR00153578 tve-vga: set vga output gain to improve quality
Jason Chen [Mon, 25 Jul 2011 05:25:23 +0000 (13:25 +0800)]
ENGR00153578 tve-vga: set vga output gain to improve quality

set vga output gain to improve quality.

Signed-off-by: Jason Chen <b02280@freescale.com>
12 years agoENGR00153424-2 turn on ddr clock for audio buffers in external ram
Alan Tull [Tue, 19 Jul 2011 16:32:32 +0000 (11:32 -0500)]
ENGR00153424-2 turn on ddr clock for audio buffers in external ram

Audio is broken if buffers are in external ram and the external
ram clock is turned off.  To fix it:
 * In platform data, ext_ram is replaced with two settings:
   ext_ram_rx and ext_ram_tx which control whether the buffer
   will be in iram or external ram.
 * imx-pcm.c no longer hardwired to put all capture streams in
   external ram.
 * if IRAM is disabled in the defconfig or if iram_alloc fails,
   then ext_ram_rx or ext_ram_tx are updated so they will
   show whether the buffers were allocated in external ram
   or iram.
 * During audio playback or capture, enable external ram clock
   if the buffer is in external ram.

Signed-off-by: Alan Tull <alan.tull@freescale.com>
12 years agoENGR00153424-1 turn on ddr clock for audio buffers in external ram
Alan Tull [Tue, 19 Jul 2011 16:32:32 +0000 (11:32 -0500)]
ENGR00153424-1 turn on ddr clock for audio buffers in external ram

Audio is broken if buffers are in external ram and the external
ram clock is turned off.  To fix it:
 * In platform data, ext_ram is replaced with two settings:
   ext_ram_rx and ext_ram_tx which control whether the buffer
   will be in iram or external ram.
 * imx-pcm.c no longer hardwired to put all capture streams in
   external ram.
 * if IRAM is disabled in the defconfig or if iram_alloc fails,
   then ext_ram_rx or ext_ram_tx are updated so they will
   show whether the buffers were allocated in external ram
   or iram.
 * During audio playback or capture, enable external ram clock
   if the buffer is in external ram.

Signed-off-by: Alan Tull <alan.tull@freescale.com>
12 years agoENGR00153564 - Fix ECLDIF build warnings
Danny Nold [Fri, 22 Jul 2011 16:15:40 +0000 (11:15 -0500)]
ENGR00153564 - Fix ECLDIF build warnings

- Remove unused variable to correct build warning
- Fix __initdata structure define

Signed-off-by: Danny Nold <dannynold@freescale.com>
12 years agoENGR00153275-2 mx53 L2635 msl modifications when add ahci temp-monitor
Richard Zhu [Wed, 20 Jul 2011 02:46:38 +0000 (10:46 +0800)]
ENGR00153275-2 mx53 L2635 msl modifications when add ahci temp-monitor

based on the 2.6.35 kernel mainline, refer to linux std hwmon
architeture, add the standalone ahci temperature monitor driver
on fsl i.mx53 platforms.

Signed-off-by: Richard Zhu <r65037@freescale.com>
12 years agoENGR00153275-1 ahci L2635 add the standalone ahci temperature monitor
Richard Zhu [Tue, 19 Jul 2011 05:42:29 +0000 (13:42 +0800)]
ENGR00153275-1 ahci L2635 add the standalone ahci temperature monitor

based on the 2.6.35 kernel mainline, refer to linux lm-sensors
architeture, add the standalone ahci temperature monitor driver
on fsl i.mx53 platforms.
Less than half sencond is used in one temperature read operation.

usage:
Use the following cmd to cat the i.mx53 soc temperature after
boot up i.mx53 system in user space.
for example:
...$ cat /sys/class/hwmon/hwmon1/device/temp1_input
61000
or run the following cmd after configure the lm-sensors
...$ sensors
imx-ahci-hwmon-isa-0000
Adapter: ISA adapter
temp1:        +58.0 C

Signed-off-by: Richard Zhu <r65037@freescale.com>
12 years agoENGR00151170 ov3640: green color displays when take picture
Yuxi Sun [Thu, 21 Jul 2011 06:07:41 +0000 (14:07 +0800)]
ENGR00151170 ov3640: green color displays when take picture

This patch fix green color of ov3640 when take picture under QXGA
mode by update setting form OV and using “Read preview mode
exposure & Gain -> Make calculation -> Write back for capture mode”
method.

Signed-off-by: Yuxi Sun <b36102@freescale.com>
12 years agoENGR00151310 mx53 smd: remove GPIO_9 pull down
Lily Zhang [Thu, 21 Jul 2011 11:08:29 +0000 (19:08 +0800)]
ENGR00151310 mx53 smd: remove GPIO_9 pull down

This patch is used to remove the workaround "pull down
GPIO_9" to support reboot in mx53 SMD. Another workaround
is adopted into U-Boot to force warm reset as cold reset.
New workaround can support watchdog timeout in mx53 SMD
board.

Signed-off-by: Lily Zhang <r58066@freescale.com>
12 years agoENGR00153378 MX53 cleanup pm suspend/resume source code V2
Wayne Zou [Wed, 20 Jul 2011 06:23:00 +0000 (14:23 +0800)]
ENGR00153378 MX53 cleanup pm suspend/resume source code V2

restructure the pm suspend/resume routines as mxc_pm_platform_data,
so split the SOC pm routines from machine pm routines.

Signed-off-by: Wayne Zou <b36644@freescale.com>
12 years agoENGR00153374 ov5642: modify QCIF resolution
Yuxi Sun [Wed, 20 Jul 2011 05:01:23 +0000 (13:01 +0800)]
ENGR00153374 ov5642: modify QCIF resolution

change QCIF resolution size from 177X144 to 176X144

Signed-off-by: Yuxi Sun <b36102@freescale.com>
12 years agoENGR00153298 MX53_SMD: set camera reset pin as output
Yuxi Sun [Tue, 19 Jul 2011 08:31:54 +0000 (16:31 +0800)]
ENGR00153298 MX53_SMD: set camera reset pin as output

This pin was not set before, it seems default as input, so need to
set as output

Signed-off-by: Tu Chih Chieh <b32449@freescale.com>
12 years agoENGR00153261: MX50- Disable Auto clock gating of APLL.
Ranjani Vaidyanathan [Mon, 11 Jul 2011 22:02:54 +0000 (17:02 -0500)]
ENGR00153261: MX50- Disable Auto clock gating of APLL.

The HW automatically tries to clock gate APLL is all the PFDs
are disabled, resulting in a possible race condition since
the SW also tries to disable the APLL.
Fix by clearing the PFD disable MASK bits in APLL.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
12 years agoENGR00153230 camera: add QCIF_177_144 mode for ov5642
Yuxi Sun [Mon, 18 Jul 2011 07:26:37 +0000 (15:26 +0800)]
ENGR00153230 camera: add QCIF_177_144 mode for ov5642

add QCIF 177x144 resolution for ov5642

Signed-off-by: Yuxi Sun <b36102@freescale.com>
12 years agoENGR00153158: MX51-Increase AHB_CLK to 66.5MHz if SDHC is active
Ranjani Vaidyanathan [Thu, 14 Jul 2011 21:16:00 +0000 (16:16 -0500)]
ENGR00153158: MX51-Increase AHB_CLK to 66.5MHz if SDHC is active

Random failures can occur if SDHC clk is below AHB_CLK. So
ensure that ahb_clk is atleast 66.5MHz when SDHC is active.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
12 years agoENGR00153157: MX51- Fix random failure when exiting LPAPM mode.
Ranjani Vaidyanathan [Thu, 14 Jul 2011 21:09:21 +0000 (16:09 -0500)]
ENGR00153157: MX51- Fix random failure when exiting LPAPM mode.

The system randomly hangs when exiting LPAPM mode on MX51.
The root cause of the issue because the parent of
periph_apm_clk cannot be changed when main_bus_clk is sourced
from it.
To fix the issue, we cannot use periph_apm_clk to source
main_bus_clk in LPAPM mode. Instead we need to divide down
PLL2 using dvfs_podf and use individual dividers to further
reduce other clocks in PLL2 domain.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
12 years agoENGR00153090 DA9053: fix a kernel crash during probe da9053 regulator driver
Wayne Zou [Thu, 14 Jul 2011 01:58:04 +0000 (09:58 +0800)]
ENGR00153090 DA9053: fix a kernel crash during probe da9053 regulator driver

Rootcause:
It's memory overflow and overwrite some other memory space by da9053 drver.
The code does not allocate memory for priv->regulators, which
will cause the following code priv->regulators[i] = regulator_register(..
overwrite other memory place.

Signed-off-by: Wayne Zou <b36644@freescale.com>
12 years agoENGR00152557 Add fuse bit check for GPU/VPU
Terry Lv [Tue, 5 Jul 2011 08:54:09 +0000 (16:54 +0800)]
ENGR00152557 Add fuse bit check for GPU/VPU

Add fuse bit check for GPU/VPU.
Some boards may not have GPU/VPU. This can be controlled by fuse
bit.
Signed-off-by: Terry Lv <r65388@freescale.com>
12 years agoENGR00152681 - EPDC fb: Updates may be shifted right by 1 column
Danny Nold [Tue, 5 Jul 2011 19:26:49 +0000 (14:26 -0500)]
ENGR00152681 - EPDC fb: Updates may be shifted right by 1 column

- Fixed PxP input left coordinate value.  Was previously being incorrectly
computed such that the value would be incorrect when using 16bpp RGB and an
X coordinate that is offset from 4-pixel alignment by 1 (e.g. x=1, x=5).
The resulting effect was that updates meeting this criteria would be
drawn to the EPD panel shifted to the right by 1 pixel.

Signed-off-by: Danny Nold <dannynold@freescale.com>
12 years agoENGR00142591 GPU: add some print message to help debug
Richard Zhao [Tue, 26 Apr 2011 09:37:50 +0000 (17:37 +0800)]
ENGR00142591 GPU: add some print message to help debug

Add print message when ioremap or shared memory alloc fail.

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
12 years agoENGR00152560 [MX233/MX28]mxs-mmc: fix clock rate setting
Tony Lin [Tue, 5 Jul 2011 06:36:14 +0000 (14:36 +0800)]
ENGR00152560 [MX233/MX28]mxs-mmc: fix clock rate setting

Fix clock rate setting on mxs-mmc driver.
Previously, if div2 was zero the value for TIMING_CLOCK_RATE
would have been 255 instead of 0.
Also the limits for div1 (TIMING_CLOCK_DIVIDE) and
div2 (TIMING_CLOCK_RATE + 1) where not correctly defined.

Can easily be reproduced on mx23evk: default clock for high speed
sdio cards is 50 MHz.
With a SSP_CLK of 28.8 MHz (default), this resulted in an actual
clock rate of about 56 kHz.

Signed-off-by: Tony Lin <tony.lin@freescale.com>
12 years agoENGR00152359-3 sii902x hdmi: add AVI and AIF support for common changes
Jason Chen [Fri, 1 Jul 2011 06:49:57 +0000 (14:49 +0800)]
ENGR00152359-3 sii902x hdmi: add AVI and AIF support for common changes

1.add AVI and AIF support.
2.add edid 4-block reading support.(not test)

For RGB input fmt support, pls input cmdline like:
video=mxcdixfb:RGB24,1024x768M@60
For YUV input fmt support, pls input cmdline like:
video=mxcdixfb:VYU444,1024x768M@60

Signed-off-by: Jason Chen <b02280@freescale.com>
12 years agoENGR00152359-2 ipuv3: add VYU444 fmt
Jason Chen [Fri, 1 Jul 2011 06:47:58 +0000 (14:47 +0800)]
ENGR00152359-2 ipuv3: add VYU444 fmt

1.add VYU444 fmt to support Sii902x hdmi yuv format
2.make pixel clock from internal ipu clock more accurate

Signed-off-by: Jason Chen <b02280@freescale.com>
12 years agoENGR00152359-1 sii902x hdmi: add AVI and AIF support.
Jason Chen [Fri, 1 Jul 2011 03:23:43 +0000 (11:23 +0800)]
ENGR00152359-1 sii902x hdmi: add AVI and AIF support.

1.add AVI and AIF support.
2.add edid 4-block reading support.(not test)

Signed-off-by: Jason Chen <b02280@freescale.com>
12 years agoENGR00151885: MX50 - Add SW workaround fro DPLL unlock HW issue.
Ranjani Vaidyanathan [Fri, 17 Jun 2011 16:36:18 +0000 (11:36 -0500)]
ENGR00151885: MX50 - Add SW workaround fro DPLL unlock HW issue.

Add the workaround that significantly reduces the occurrence of the
PLL1 unlock HW issue. For MX50, this workaround needs to be applied
in three places:
1. Suspend/resume code.
2. PLL1 set rate function.
3. PLL1 enable

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
12 years agoENGR00152137: add camera embed rotate function
Yuxi Sun [Mon, 27 Jun 2011 06:20:45 +0000 (14:20 +0800)]
ENGR00152137: add camera embed rotate function

add camera embed rotate function: nomarl, flip, mirror, flip&mirror

Signed-off-by: Yuxi Sun <b36102@freescale.com>
12 years agoENGR00152022 da9053: Fix a wrong macro definition of total register number.
Wayne Zou [Fri, 24 Jun 2011 05:21:37 +0000 (13:21 +0800)]
ENGR00152022 da9053: Fix a wrong macro definition of total register number.

da9053: Fix a wrong macro definition of total register number,
which leads to overwrite read pointer in struct da9052 when
reading last register in da9053.

Signed-off-by: Wayne Zou <b36644@freescale.com>
12 years agoENGR00151992: camera ov3640: change camera embedded rotate function
Yuxi Sun [Thu, 23 Jun 2011 09:20:33 +0000 (17:20 +0800)]
ENGR00151992: camera ov3640: change camera embedded rotate function

change camera rotate functions always return success.

Signed-off-by: Yuxi Sun <b36102@freescale.com>
12 years agoENGR00151896 - EPDC fb: Fix bug preventing suspend when powerdown disabled
Danny Nold [Tue, 21 Jun 2011 21:10:46 +0000 (16:10 -0500)]
ENGR00151896 - EPDC fb: Fix bug preventing suspend when powerdown disabled

- With FB_POWERDOWN_DISABLE is set as the powerdown delay (disabling the EPDC
driver from powering down), the EPDC driver was having problems going into
suspend.  Any request to blank the EPDC driver would result in a timeout
and an error status.  And subsequent attempts to send updates to the driver
would fail, as the driver's power state was incorrect.  This patch prompts
the EPDC driver to be disabled when the blanking state is changed to
FB_BLANK_POWERDOWN and FB_POWERDOWN_DISABLE is set.  Resultingly, the correct
driver power state is maintained and suspend/resume works correctly.

Signed-off-by: Danny Nold <dannynold@freescale.com>
12 years agoENGR00151334 MX5X: disable dvfs_core when system poweroff.
Zhang Jiejing [Thu, 23 Jun 2011 08:12:47 +0000 (16:12 +0800)]
ENGR00151334 MX5X: disable dvfs_core when system poweroff.

This Patch is fix for the reboot bug, our mx51,mx53 will hang after
reboot more then 20 times(100%).

We found this bug is caused by enable dvfs, so this patch disable
dvfs when system poweroff.

kernel panic log is like:

Kernel panic: (attached full logs)
MXC Watchdog # 0 shutdown
Restarting system.
Unable to handle kernel paging request at virtual address fffffffc
pgd = 99e54000
[fffffffc] *pgd=90ce6021, *pte=00000000, *ppte=00000000
Internal error: Oops: 817 [#1] PREEMPT
last sysfs file: /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
Modules linked in:
CPU: 0    Not tainted  (2.6.35.3-01072-gb754390 #1)
PC is at 0x99ce02bc
LR is at 0x84de7d4b
pc : [<99ce02bc>]    lr : [<84de7d4b>]    psr: 20000013
sp : 99ce1e68  ip : 00004076  fp : 00000000
r10: f9ffffff  r9 : 00000068  r8 : 8003a104
r7 : 00000000  r6 : 0000203c  r5 : 28121969  r4 : 00000000
r3 : ec860ad4  r2 : 00000000  r1 : 00000000  r0 : fffffffc
Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 10c5387d  Table: a9e54019  DAC: 00000015
Process reboot (pid: 2484, stack limit = 0x99ce02e8)
Stack: (0x99ce1e68 to 0x99ce2000)
1e60:                   00000000 00000000 80042690 8003aff0 00000000 28121969
1e80: 01234567 8003aa54 00000000 8007a438 00000000 99ce1ed4 980029d0 99ce1ed4
1ea0: 000508fb 99ce1f14 99ce0000 800ee880 00000000 800a6fc8 99ce1edc 980029d0
1ec0: 00000000 8009f6b8 0000000e 99ce1ef8 980029d0 00000000 00000000 99ce1f94
1ee0: 99ce0000 800ee880 00000000 800a5a9c 99ce1ef8 8009f7ec 00000001 00000000
1f00: 00000000 7fffffff 00000000 00000000 00000000 00000000 ffffffff 508fb800
1f20: 00000000 508fb7ff 00000000 99ce1f94 99ce0000 800ee880 00000000 8009f784
1f40: 508fb7ff 00000000 99ce1e8c 00000000 980029d0 99a21640 808c4d0c 800a00a0
1f60: 99a21800 99ce0000 99a21800 800ce5b4 0001b6dc 7e90caf4 00000001 00000024
1f80: 8003a104 99ce0000 00000000 800ee7ac 00000001 0001b6dc 7e90caf4 00000001
1fa0: 00000058 80039f80 0001b6dc 7e90caf4 fee1dead 28121969 01234567 00000000
1fc0: 0001b6dc 7e90caf4 00000001 00000058 00017047 00000000 00000000 00000000
1fe0: 0001b804 7e90ca88 6fd17763 6fd0c3ec 60000010 fee1dead 00000000 00000000
Code: 00000000 40000000 00000000 80039e90 (f4000000)
---[ end trace 7f263b4201ae9f59 ]---
Kernel panic - not syncing: Fatal exception
[<8003e578>] (unwind_backtrace+0x0/0xf0) from [<8046e83c>] (panic+0x6c/0xe0)
[<8046e83c>] (panic+0x6c/0xe0) from [<8003d420>] (die+0x2b4/0x304)
[<8003d420>] (die+0x2b4/0x304) from [<8003f3e8>] (__do_kernel_fault+0x64/0x84)
[<8003f3e8>] (__do_kernel_fault+0x64/0x84) from [<8003f5c8>]
(do_page_fault+0x1c0/0x1d4)
[<8003f5c8>] (do_page_fault+0x1c0/0x1d4) from [<800392c8>]
(do_DataAbort+0x34/0x94)
[<800392c8>] (do_DataAbort+0x34/0x94) from [<80039a2c>] (__dabt_svc+0x4c/0x60)
Exception stack(0x99ce1e20 to 0x99ce1e68)
1e20: fffffffc 00000000 00000000 ec860ad4 00000000 28121969 0000203c 00000000
1e40: 8003a104 00000068 f9ffffff 00000000 00004076 99ce1e68 84de7d4b 99ce02bc
1e60: 20000013 ffffffff
[<80039a2c>] (__dabt_svc+0x4c/0x60) from [<99ce02bc>] (0x99ce02bc)

Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
12 years agoENGR00151858-2 IPUv3 FB:Improve power stability
Liu Ying [Wed, 22 Jun 2011 03:04:35 +0000 (11:04 +0800)]
ENGR00151858-2 IPUv3 FB:Improve power stability

This patch makes IPUv3 FB driver don't blank the
framebuffer which is related with MEM_FG_SYNC channel
when entering suspend mode, but leaves the channel
disabling operation to IPUv3 driver. This makes
the overlay framebuffer won't be accidently
unblanked by up level code again, which causes
suspend or resume fail. Note that this patch is
for Android.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
12 years agoENGR00151858-1 IPUv3:Improve power stablility
Liu Ying [Wed, 22 Jun 2011 03:03:17 +0000 (11:03 +0800)]
ENGR00151858-1 IPUv3:Improve power stablility

This patch disables MEM_FG_SYNC channel when entering IPU
suspend. Adding this operation to IPU suspend can make sure
MEM_FG_SYNC channel is disabled, because we will not rely
on IPUv3 framebuffer driver to blank the framebuffer which
is related to MEM_FG_SYNC channel when entering suspend
mode. Note that this patch is for Android.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
12 years agoENGR00151963: MX51 - Add SW workaround for DPLL unlock issue.
Ranjani Vaidyanathan [Wed, 22 Jun 2011 22:26:51 +0000 (17:26 -0500)]
ENGR00151963: MX51 - Add SW workaround for DPLL unlock issue.

The patch based on the following consumption:
- PLL1 is already enabled when Linux boot up, this is true.
- PLL1 is working on 800Mhz on MX51
- PLL1 does not change during system up, keep 800Mhz

The patch will have the following side-effect
- suspend/resume will take more time

Before enter stop (WFI) mode
(1) switch DDR and ARM to PLL2
(2) Disable AREN bit to avoid PLL1 restart during MFN change)
(3) set PLL1 to ~864Mhz with MFI = 8, MFN = 180, MFD = 179
    thus the equation |MFN/(MFD+1)|  < 1
(4) Manual restart PLL1
(5) Wait PLL1 lock
 After CPU out of WFI
(6) Set PLL1 to 800Mhz with only change MFN to 60, others keep
(7) Wait MFN change complete by delay more than 4.6us,
(8) Switch DDR and ARM back to PLL1

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
12 years agoENGR00151891: MX50-Fix bug in exit from LPAPM mode.
Ranjani Vaidyanathan [Tue, 21 Jun 2011 17:54:09 +0000 (12:54 -0500)]
ENGR00151891: MX50-Fix bug in exit from LPAPM mode.

When exiting from LPAPM mode, ARM clock is run at 266.67MHZ for
a few instructions while the voltage is still at 0.85V.
Fix this issue by setting the ARM-PODF divider before
switching the parent.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
12 years agoENGR00144112 TVE:Fix potential hang issue for suspend
Liu Ying [Wed, 22 Jun 2011 06:26:05 +0000 (14:26 +0800)]
ENGR00144112 TVE:Fix potential hang issue for suspend

Framebuffer suspend event comes before framebuffer
blank event when system entering suspend mode.
So, if another driver calls FB_EVENT_BLANK
notifier chain, i.e, Android IPUv3 fb driver,
the suspend and blank event handlers registered
in TVE driver will be called. We used to disable
TVE clock in suspend handler, so it causes system
hang when we try to access TVE register when go
to blank handler. This patch fixes this issue.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
12 years agoENGR00151900 vpu: fix build failure for mx3 platform
Sammy He [Wed, 22 Jun 2011 09:56:55 +0000 (17:56 +0800)]
ENGR00151900 vpu: fix build failure for mx3 platform

Fix build failure for mx3 platform due to ENGR00151494 push.

Signed-off-by: Sammy He <r62914@freescale.com>
12 years agoENGR00144396 mmc: mx_sdhci: add pm_cap for support WiFi WoW suspend mode.
Zhang Jiejing [Tue, 21 Jun 2011 13:26:00 +0000 (21:26 +0800)]
ENGR00144396 mmc: mx_sdhci: add pm_cap for support WiFi WoW suspend mode.

This patch add pm_cap for mx_sdhci driver, so the client mmc driver can use
sdio_set_host_pm_flags() to set the MMC_PM_KEEP_POWER.

Also if the driver found MMC_PM_WAKE_SDIO_IRQ in pm_flags,
it should not unregister irq of this host, since the client
maybe use this irq to support wake up.

Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
12 years agoENGR00151822 - EPDC fb: Prevent endless collision by managing FULL mode updates
Danny Nold [Tue, 21 Jun 2011 02:51:03 +0000 (21:51 -0500)]
ENGR00151822 - EPDC fb: Prevent endless collision by managing FULL mode updates

When using SNAPSHOT update scheme, submitting FULL mode updates can easily
lead to an endlessly looping sequence of collisions if any updates are active
when the new FULL mode update is submitted.  Thus, we must first flush any
updates out before submitting a new FULL mode update.

Signed-off-by: Danny Nold <dannynold@freescale.com>
12 years agoENGR00151494-2 arch: change mxc_vpu.h to remove definition for mx32/mx37
Sammy He [Tue, 14 Jun 2011 13:10:13 +0000 (21:10 +0800)]
ENGR00151494-2 arch: change mxc_vpu.h to remove definition for mx32/mx37

The vpu code in driver for mx32/mx37 is out of date already, and
we won't support the platforms, so clean the code for removing it.

And removed ioctl definition that won't use again.

Signed-off-by: Sammy He <r62914@freescale.com>
12 years agoENGR00151494-1 vpu: remove the code for vpu of mx32/mx37 platforms
Sammy He [Tue, 14 Jun 2011 13:07:29 +0000 (21:07 +0800)]
ENGR00151494-1 vpu: remove the code for vpu of mx32/mx37 platforms

The vpu code in driver for mx32/mx37 is out of date already, and
we won't support the platforms, so clean the code for removing it.

Signed-off-by: Sammy He <r62914@freescale.com>
13 years agoENGR00151762 vpu: Fix system hang due to long time video playback on mx51
Sammy He [Mon, 20 Jun 2011 08:00:22 +0000 (16:00 +0800)]
ENGR00151762 vpu: Fix system hang due to long time video playback on mx51

Fix system hang due to long time video playback. This issue is only
on i.MX51 platfrom due to changing vpu clock parent in vpu_enable/
disable. Set vpu clock parent to axi_a forever to fix it.

Signed-off-by: Sammy He <r62914@freescale.com>