]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
10 years agoENGR00258357-3: mlb: Reset whole CDR in init function
Terry Lv [Fri, 12 Apr 2013 07:18:50 +0000 (15:18 +0800)]
ENGR00258357-3: mlb: Reset whole CDR in init function

Reset whole CDR in init function. This will make mlb connection to MITB
more stable.
This is a missed part in mx6 rm's mlb section, but new in mlb's latest
spec DS62420AP2.pdf 12.1.1-1.
Without this patch, mlb may receive irq from MITB during initialization.
It might cause some connection issue that mlb can't receive data
sometimes. It was treat to be MITB's fault before we get the latest
spec.

Signed-off-by: Terry Lv <r65388@freescale.com>
10 years agoENGR00258357-2: mlb: Add more debug msgs in DEBUG mode
Terry Lv [Fri, 12 Apr 2013 04:16:10 +0000 (12:16 +0800)]
ENGR00258357-2: mlb: Add more debug msgs in DEBUG mode

Changes are:
1. Use print_hex_dump to print buffer in DEBUG mode.
2. Add more debug msgs.

Signed-off-by: Terry Lv <r65388@freescale.com>
10 years agoENGR00258357-1: mlb: Remove MLB150_ from macro define names
Terry Lv [Fri, 12 Apr 2013 04:08:07 +0000 (12:08 +0800)]
ENGR00258357-1: mlb: Remove MLB150_ from macro define names

Remove MLB150_ from macro define names to make code clean.

Signed-off-by: Terry Lv <r65388@freescale.com>
10 years agoENGR00256417: MLB: can't receive data in wait mode
Terry Lv [Thu, 11 Apr 2013 09:05:00 +0000 (17:05 +0800)]
ENGR00256417: MLB: can't receive data in wait mode

For MLB uses iram for data transfer, and there's a missing of dependency
on iram in MLB's clock setting, MLB can't receive data in wait mode.
We need to add ocram clock dependency in MLB clock.

Signed-off-by: Terry Lv <r65388@freescale.com>
10 years agoENGR00257130-7 usb: host: Disable wakeup when switch PHY from off to on
Peter Chen [Wed, 10 Apr 2013 07:18:39 +0000 (15:18 +0800)]
ENGR00257130-7 usb: host: Disable wakeup when switch PHY from off to on

Disable wakeup interrupt, since there is wakeup
when phcd from 1->0 if wakeup interrupt is enabled.
The unexpected wakeup can be disappeared using this fix.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
10 years agoENGR00257130-6 mx6-msl: usb: Add 500us delay for phy stable time
Peter Chen [Tue, 9 Apr 2013 08:18:51 +0000 (16:18 +0800)]
ENGR00257130-6 mx6-msl: usb: Add 500us delay for phy stable time

The PHY needs 500us time to be stable when its clock
from off to on. If there is wakeup enable before the
PHY is stable, there will be an unexpected wakeup.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
10 years agoENGR00257130-5 mx6sl: Add config for USB ID as system wakeup source
Peter Chen [Mon, 8 Apr 2013 08:02:14 +0000 (16:02 +0800)]
ENGR00257130-5 mx6sl: Add config for USB ID as system wakeup source

Since USB ID pin may affect power savings, we add enable/disable
USB ID pin as system wakeup source using Kconfig option, the user
can determine it.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
10 years agoENGR00257130-4 mx6sl: different layout for stop_mode_config
Peter Chen [Mon, 8 Apr 2013 06:56:49 +0000 (14:56 +0800)]
ENGR00257130-4 mx6sl: different layout for stop_mode_config

The mx6sl has different register layout for STOP_MODE_CONFIG
bit at CCM_ANALOG_MISC0.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
10 years agoENGR00257130-3 usb: host: open the PHY when changing wakeup setting
Peter Chen [Wed, 3 Apr 2013 08:36:45 +0000 (16:36 +0800)]
ENGR00257130-3 usb: host: open the PHY when changing wakeup setting

- Disable irq when we change wakeup setting as there is unexpected
interrupt when we power PHY but enables wakeup.
- Power PHY when we need to change wakeup setting, as some wakeup
settings at PHY domain.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
10 years agoENGR00257130-2 msl: usb: Disable auto power PHY if usb wakeup disabled
Peter Chen [Wed, 3 Apr 2013 08:28:01 +0000 (16:28 +0800)]
ENGR00257130-2 msl: usb: Disable auto power PHY if usb wakeup disabled

- We need to disable auto power PHY if there is a wakeup at USB port,
but usb as wakeup source is disabled, otherwise, there will be unexpected
interrupt when the software thinks the controller is still at low power
mode.
- Rework usbh1_wakeup_event_clear. The old design was incorrect, align
it with usb_dr.c.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
10 years agoENGR00257130-1 mx6sl_evk: Add Host 1 vbus callback
Peter Chen [Wed, 3 Apr 2013 08:25:39 +0000 (16:25 +0800)]
ENGR00257130-1 mx6sl_evk: Add Host 1 vbus callback

- Make vbus is off default, and let the driver opens it.
- Add host 1 vbus callback, in that case, the driver can control it.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
10 years agomtd: fix recovery after failed write-buffer operation in cfi_cmdset_0002.c
Harald Nordgard-Hansen [Fri, 23 Nov 2012 22:11:03 +0000 (23:11 +0100)]
mtd: fix recovery after failed write-buffer operation in cfi_cmdset_0002.c

When working on a problem with some flash chips that lock up during
write-buffer operations, I think there may be a bug in the linux
handling of chips using cfi_cmdset_0002.c.

The datasheets I have found for a number of these chips all specify that
when aborting a write-buffer command, it is not enough to use the
standard reset.  Rather a "write-to-buffer-reset command" is needed.
This command is quite similar for all chips, the main variance seem to
be if the final 0xF0 can go to any address or must go to addr_unlock1.

The bug is then in the recovery handling when timing out at the end of
do_write_buffer, where using the normal reset command is not sufficient.

Without this change, if the write-buffer command fails then any
following operations on the flash also fail.

Signed-off-by: Harald Nordgard-Hansen <hhansen@pvv.org>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agomtd: cfi_cmdset_0002: Micron M29EW bugfixes as per TN-13-07
Gerlando Falauto [Tue, 3 Jul 2012 07:09:47 +0000 (09:09 +0200)]
mtd: cfi_cmdset_0002: Micron M29EW bugfixes as per TN-13-07

Fix the following issues with Micron's (formerly Numonyx)
M29EW NOR flash chips, as documented on TN-13-07:
- Correcting Erase Suspend Hang Ups (page 20)
- Resolving the Delay After Resume Issue (page 22)

Signed-off-by: Gerlando Falauto <gerlando.falauto@keymile.com>
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>
10 years agomtd: cfi_cmdset_0002: Slight cleanup of fixup messages
David Woodhouse [Mon, 14 May 2012 04:34:24 +0000 (23:34 -0500)]
mtd: cfi_cmdset_0002: Slight cleanup of fixup messages

These should be semicolons, not commas.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agomtd: add fixup for S29NS512P NOR flash.
Javier Martin [Fri, 11 May 2012 10:15:41 +0000 (12:15 +0200)]
mtd: add fixup for S29NS512P NOR flash.

Spansion S29NS512P flash uses a 16bit transfer to report number
of sectors instead of two 8bit accesses as CFI specifies.

Artem: remove warning message which said that we are applying the
fixup - no need to scary the user unnecessarily.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
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>
10 years agomtd: chips: cfi_cmdset_0002: Match ENABLE_VPP()/DISABLE_VPP() calls
Paul Parsons [Wed, 7 Mar 2012 14:11:16 +0000 (14:11 +0000)]
mtd: chips: cfi_cmdset_0002: Match ENABLE_VPP()/DISABLE_VPP() calls

This patch is part of a set which fixes unnecessary flash erase and write errors
resulting from the MTD CFI driver turning off vpp while an erase is in progress.
This patch ensures that only those flash operations which call ENABLE_VPP() can
then call DISABLE_VPP(). Other operations should never call DISABLE_VPP().

Signed-off-by: Paul Parsons <lost.distance@yahoo.com>
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>
10 years agomtd: cfi: AMD/Fujitsu compatibles: add panic write support
Ira W. Snyder [Fri, 6 Jan 2012 19:29:19 +0000 (11:29 -0800)]
mtd: cfi: AMD/Fujitsu compatibles: add panic write support

This allows the mtdoops driver to work on flash chips using the
AMD/Fujitsu compatible command set.

As the code comments note, the locks used throughout the normal code
paths in the driver are ignored, so that the chance of writing out the
kernel's last messages are maximized.

Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu>
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>
10 years agomtd: cleanup style on pr_debug messages
Brian Norris [Tue, 19 Jul 2011 17:06:10 +0000 (10:06 -0700)]
mtd: cleanup style on pr_debug messages

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agomtd: replace DEBUG() with pr_debug()
Brian Norris [Tue, 19 Jul 2011 17:06:09 +0000 (10:06 -0700)]
mtd: replace DEBUG() with pr_debug()

Start moving away from the MTD_DEBUG_LEVEL messages. The dynamic
debugging feature is a generic kernel feature that provides more
flexibility.

(See Documentation/dynamic-debug-howto.txt)

Also fix some punctuation, indentation, and capitalization that went
along with the affected lines.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00257755-4 ASoC: WM8962: Disable FLL when chip's not being used
Nicolin Chen [Mon, 8 Apr 2013 13:12:07 +0000 (21:12 +0800)]
ENGR00257755-4 ASoC: WM8962: Disable FLL when chip's not being used

There might be a case that SYSCLK_SRC is not FLL, but FLL's still open.
If so, next time we use FLL as SYSCLK_SRC, it won't work normally.

This patch disabled FLL if FLL's enabled no matter what SYSCLK_SRC is.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00257755-3 Revert "ENGR00256933 ASoC: WM8962: Add delay after FLL-enable"
Nicolin Chen [Tue, 9 Apr 2013 01:12:31 +0000 (09:12 +0800)]
ENGR00257755-3 Revert "ENGR00256933 ASoC: WM8962: Add delay after FLL-enable"

This reverts commit 0ed997878dd59c1dac6bf8f9eda412790bdd1df6.

We already reverted FLL-enable code in set_fll(), so we don't need delay any
more.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00257755-2 Revert "ENGR00256310 ASoC: imx-wm8962: Fix playback abnormally"
Nicolin Chen [Mon, 8 Apr 2013 11:58:26 +0000 (19:58 +0800)]
ENGR00257755-2 Revert "ENGR00256310 ASoC: imx-wm8962: Fix playback abnormally"

This reverts commit 85c5c1eb91a25787f8cdefdb40bcd4735d37270e.

With this patch, WM8962 couldn't work normally after SabreSD power-on.
So revert it and find a better solution.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00257755-1 Revert "ASoC: wm8962: Don't automatically enable and disable"
Nicolin Chen [Mon, 8 Apr 2013 11:38:34 +0000 (19:38 +0800)]
ENGR00257755-1 Revert "ASoC: wm8962: Don't automatically enable and disable"

This reverts commit 1fe3d0961814ad1fb1c1d691bfb85fc664caab05.

With this patch, WM8962 couldn't work normally after SabreSD power-on.
So revert it and find a better solution.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00257947 mtd: use memcpy to replace the memcpy_fromio
Huang Shijie [Mon, 8 Apr 2013 08:56:46 +0000 (16:56 +0800)]
ENGR00257947 mtd: use memcpy to replace the memcpy_fromio

During the read of NOR, the kernel actually calls the inline_map_copy_from()
to read the data out. And inline_map_copy_from() will use the memcpy_fromio()
to do the real job.

The memcpy_fromio macro maps _memcpy_fromio() in the current code.
But the _memcpy_fromio() will use readb() to do the copy work one byte
by one byte. This makes the read performance of NOR very slow(about 2~3MB/s).

A similiar discussion could be found in:
http://lists.infradead.org/pipermail/linux-arm-kernel/2009-November/003860.html

This patch replace the memcpy_fromio with memcpy which is optimized by the
kernel.

The following is the result from mtd_speedtest with M29W256GL7AN6E:
=================================================
mtd_speedtest: MTD device: 2
mtd_speedtest: not NAND flash, assume page size is 512 bytes.
mtd_speedtest: MTD device size 4194304, eraseblock size 131072, page size 512,
count of eraseblocks 32, pages per eraseblock 256, OOB size 0
mtd_speedtest: testing eraseblock write speed
mtd_speedtest: eraseblock write speed is 845 KiB/s
mtd_speedtest: testing eraseblock read speed
mtd_speedtest: eraseblock read speed is 19504 KiB/s
mtd_speedtest: testing page write speed
mtd_speedtest: page write speed is 845 KiB/s
mtd_speedtest: testing page read speed
mtd_speedtest: page read speed is 19140 KiB/s
mtd_speedtest: testing 2 page write speed
mtd_speedtest: 2 page write speed is 846 KiB/s
mtd_speedtest: testing 2 page read speed
mtd_speedtest: 2 page read speed is 19320 KiB/s
mtd_speedtest: Testing erase speed
mtd_speedtest: erase speed is 233 KiB/s
mtd_speedtest: Testing 2x multi-block erase speed
mtd_speedtest: 2x multi-block erase speed is 225 KiB/s
mtd_speedtest: Testing 4x multi-block erase speed
mtd_speedtest: 4x multi-block erase speed is 224 KiB/s
mtd_speedtest: Testing 8x multi-block erase speed
mtd_speedtest: 8x multi-block erase speed is 225 KiB/s
mtd_speedtest: Testing 16x multi-block erase speed
mtd_speedtest: 16x multi-block erase speed is 225 KiB/s
mtd_speedtest: Testing 32x multi-block erase speed
mtd_speedtest: 32x multi-block erase speed is 225 KiB/s
mtd_speedtest: Testing 64x multi-block erase speed
mtd_speedtest: 64x multi-block erase speed is 224 KiB/s
mtd_speedtest: finished
=================================================

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00257661 pcie: imx: pcie ep/rc validation
Richard Zhu [Tue, 12 Mar 2013 08:35:42 +0000 (16:35 +0800)]
ENGR00257661 pcie: imx: pcie ep/rc validation

HW setup:
* Two i.MX6Q SD boards, one is used as PCIe RC, the other
is used as PCIe EP. Connected by 2*mini_PCIe to standard_PCIe
adaptors, 2*PEX cable adaptors, One PCIe cable.

SW setup:
* When build RC image, make sure that
CONFIG_IMX_PCIE=y
# CONFIG_IMX_PCIE_EP_MODE_IN_EP_RC_SYS is not set
CONFIG_IMX_PCIE_RC_MODE_IN_EP_RC_SYS=y
* When build EP image, make sure that
CONFIG_IMX_PCIE=y
CONFIG_IMX_PCIE_EP_MODE_IN_EP_RC_SYS=y
# CONFIG_IMX_PCIE_RC_MODE_IN_EP_RC_SYS is not set

Features:
* Set-up link between RC and EP by their stand-alone
125MHz running internally.
* In EP's system, EP can access the reserved ddr memory
(default address:0x40000000) of PCIe RC's system, by the
interconnection between PCIe EP and PCIe RC.
* add the configuration methods in the EP side, used to
configure the start address and the size of the reserved
RC's memory window.
  - cat /sys/devices/platform/imx-pcie/rc_memw_info
  - echo 0x41000000 > /sys/devices/platform/imx-pcie/rc_memw_start_set
  - echo 0x800000 > /sys/devices/platform/imx-pcie/rc_memw_size_set

Throughput:
* when enable the EP_SELF_IO_TEST, and ARM core used as the
bus master: write speed ~300MB/s, read speed ~100MB/s.
* IPU used as the bus master: write speed ~344MB/s, read
speed ~211MB/s.

Signed-off-by: Richard Zhu <r65037@freescale.com>
10 years agoENGR00257658 Revert "ENGR00256893-1 MX6Q/DL-Fix Ethernet performance issue
Jason Liu [Sun, 7 Apr 2013 01:10:25 +0000 (09:10 +0800)]
ENGR00257658 Revert "ENGR00256893-1 MX6Q/DL-Fix Ethernet performance issue

This reverts commit 067c8dcfa79a169d86809272569fe734c4222c79.

i.mx6dl/dq sabreauto/sabresd board will boot up failed
randomly with this patch-set, thus revert it. [Jason]

Signed-off-by: Jason Liu <r64343@freescale.com>
Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00257658 Revert "ENGR00256893-2 MX6Q/DL-Fix Ethernet performance issue
Jason Liu [Sun, 7 Apr 2013 01:08:42 +0000 (09:08 +0800)]
ENGR00257658 Revert "ENGR00256893-2 MX6Q/DL-Fix Ethernet performance issue

This reverts commit 573bab0be2427d6664420eaf9d8e272dbe9d840f.

i.mx6dl/dq sabreauto/sabresd board will boot up failed
randomly with this patch-set, thus revert it. [Jason]

Signed-off-by: Jason Liu <r64343@freescale.com>
Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00257244 Fixed endless collisions in EPDC
Jay Monkman [Wed, 3 Apr 2013 22:47:29 +0000 (17:47 -0500)]
ENGR00257244 Fixed endless collisions in EPDC

Fixed reversed conditional, causing endless collions in some
situations.

Signed-off-by: Jay Monkman <jay.monkman@freescale.com>
10 years agoENGR00256893-2 MX6Q/DL-Fix Ethernet performance issue when WAIT mode is active
Ranjani Vaidyanathan [Mon, 1 Apr 2013 21:03:31 +0000 (16:03 -0500)]
ENGR00256893-2 MX6Q/DL-Fix Ethernet performance issue when WAIT mode is active

All of the interrupts from the ENET block are not routed to
the GPC block. Hence ENET interrupts are not able to wake
up the SOC when the system is in WAIT mode. And the ENET
interrupt gets serviced only when another interrupt causes
the SOC to exit WAIT mode. This impacts the ENET performance.

To fix the issue two options:
1. Route the ENET interrupt to a GPIO. Need to enable the
CONFIG_MX6_ENET_IRQ_TO_GPIO in the config.
This patch provides support for routing the ENET interrupt
to GPIO_1_6. Routing to this GPIO requires no HW board mods.
If the GPIO_1_6 is being used for some other peripheral,
this patch can be followed to route the ENET interrupt to
any other GPIO though a HW mode maybe required.
2. If the GPIO mechanism cannot be used and is not enabled
by the above mentioned config, the patch will disable entry
to WAIT mode until ENET clock is active. When the ENET clock
is disabled, WAIT mode will be automatically enetered.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
10 years agoENGR00256893-1 MX6Q/DL-Fix Ethernet performance issue when WAIT mode is active
Ranjani Vaidyanathan [Mon, 1 Apr 2013 21:02:35 +0000 (16:02 -0500)]
ENGR00256893-1 MX6Q/DL-Fix Ethernet performance issue when WAIT mode is active

All of the interrupts from the ENET block are not routed to
the GPC block. Hence ENET interrupts are not able to wake
up the SOC when the system is in WAIT mode. And the ENET
interrupt gets serviced only when another interrupt causes
the SOC to exit WAIT mode. This impacts the ENET performance.

To fix the issue two options:
1. Route the ENET interrupt to a GPIO. Need to enable the
CONFIG_MX6_ENET_IRQ_TO_GPIO in the config.
This patch provides support for routing the ENET interrupt
to GPIO_1_6. Routing to this GPIO requires no HW board mods.
If the GPIO_1_6 is being used for some other peripheral,
this patch can be followed to route the ENET interrupt to
any other GPIO though a HW mode maybe required.
2. If the GPIO mechanism cannot be used and is not enabled
by the above mentioned config, the patch will disable entry
to WAIT mode until ENET clock is active. When the ENET clock
is disabled, WAIT mode will be automatically enetered.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
10 years agoENGR00255518 ipu/ipu3: using the kernel common help function div_u64
Jason Liu [Wed, 3 Apr 2013 05:45:39 +0000 (13:45 +0800)]
ENGR00255518 ipu/ipu3: using the kernel common help function div_u64

We don't need invent the wheel to implement the wrap for the _do_div,
we can use the kernel common helper function for the u64 divide with
div_u64() function call

This also fix the build break when CONFIG_DEBUG_SECTION_MISMATCH=y with
GCC4.6.3 cross-compile toolchain.

CC      init/version.o
LD      init/built-in.o
LD      .tmp_vmlinux1
drivers/built-in.o: In function `_do_div.part.1':
clkdev.c:(.text+0x15c23c): undefined reference to `__aeabi_uldivmod'
clkdev.c:(.text+0x15c25c): undefined reference to `__aeabi_uldivmod'
clkdev.c:(.text+0x15c2bc): undefined reference to `__aeabi_uldivmod'
clkdev.c:(.text+0x15c3ac): undefined reference to `__aeabi_uldivmod'
clkdev.c:(.text+0x15c3d0): undefined reference to `__aeabi_uldivmod'

This issue is caused by the wrongly optimized code produced by GCC,
See the bug report here: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48783

The similar build break issue report at:
http://lists.infradead.org/pipermail/linux-mtd/2012-May/041677.html

Signed-off-by: Jason Liu <r64343@freescale.com>
10 years agoENGR00256315-5 mtd: cfi_cmdset_0002: print @adr when write timeout occurs
Huang Shijie [Mon, 1 Apr 2013 09:32:00 +0000 (17:32 +0800)]
ENGR00256315-5 mtd: cfi_cmdset_0002: print @adr when write timeout occurs

Print out the @adr when the write timeout occurs.
This is useful to check if the write timeouts occur at the
same address.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00256315-4 ARM: imx6: weim-nor: set proper PAD value
Huang Shijie [Mon, 1 Apr 2013 05:54:09 +0000 (13:54 +0800)]
ENGR00256315-4 ARM: imx6: weim-nor: set proper PAD value

Set the proper pad values for the pins used for address.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00256315-3 ARM: WEIM-NOR: set the proper timing
Huang Shijie [Fri, 22 Mar 2013 07:14:08 +0000 (15:14 +0800)]
ENGR00256315-3 ARM: WEIM-NOR: set the proper timing

These timings are calculated from the M29W256GL7AN6E.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00256315-2 Revert "ENGR00244769-1 [NOR FLASH]-Improve WEIM NOR speed"
Huang Shijie [Tue, 26 Mar 2013 05:50:03 +0000 (13:50 +0800)]
ENGR00256315-2 Revert "ENGR00244769-1 [NOR FLASH]-Improve WEIM NOR speed"

This reverts commit 4020b38fe2f0283af7630dbed28ed32d64118a83.

After apply these two patches, we can not pass the stress test.
So revert these two patches.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00256315-1 Revert "ENGR00244769-2 [NOR FLASH]-Improve WEIM NOR speed"
Huang Shijie [Tue, 26 Mar 2013 05:49:37 +0000 (13:49 +0800)]
ENGR00256315-1 Revert "ENGR00244769-2 [NOR FLASH]-Improve WEIM NOR speed"

This reverts commit 58209e14383520d58b1bf74e0e9f98f7d05b80c6.

After apply these two patches, we can not pass the stress test.
So revert these two patches.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00256933 ASoC: WM8962: Add delay after FLL-enable
Nicolin Chen [Tue, 2 Apr 2013 07:27:01 +0000 (15:27 +0800)]
ENGR00256933 ASoC: WM8962: Add delay after FLL-enable

  There's a start-up time after FLL_ENA bit is set. While the driver didn't
run the delay code which already exists in the set_fll() function.
  This patch let the driver run into the delay section, and made it work more
perfectly.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00256310 ASoC: imx-wm8962: Fix playback abnormally slower issue
Nicolin Chen [Tue, 2 Apr 2013 05:39:25 +0000 (13:39 +0800)]
ENGR00256310 ASoC: imx-wm8962: Fix playback abnormally slower issue

  Previously, we didn't close FLL after playback/capture, which might cause
FLL work werid after a long time suspend.
  This patch manually disables FLL after playback/capture.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoASoC: wm8962: Don't automatically enable and disable FLL
Mark Brown [Fri, 27 Jan 2012 19:54:03 +0000 (19:54 +0000)]
ASoC: wm8962: Don't automatically enable and disable FLL

Only enable and disable the FLL when explicitly told to, supporting some
additional use cases and making the driver behaviour more standard.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
(cherry picked from commit a968d9db3b3a9329587b09bd15f4981473c63a9d)

10 years agoENGR00256543 mx6: Update equation for thermal sensor on i.MX6DL
Anson Huang [Fri, 29 Mar 2013 01:44:41 +0000 (09:44 +0800)]
ENGR00256543 mx6: Update equation for thermal sensor on i.MX6DL

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>
10 years agoENGR00255104 The opening time of cs42888 is very long, about 400ms
b02247 [Fri, 29 Mar 2013 06:09:43 +0000 (14:09 +0800)]
ENGR00255104 The opening time of cs42888 is very long, about 400ms

In this commit 957bc47ffbad8532f0e8f6463946e8c04bc3176f, add msleep(400)
for reducing noise in the hw_params, but this time is very long for opening
device.
In this patch, remove this time and use the "Soft Ramp on Zero Crossings" to
reduce the noise.

Signed-off-by: b02247 <b02247@freescale.com>
10 years agoENGR00256918 IPUv3 common:Correct CSI_PRP_MEM disable routine
Liu Ying [Mon, 1 Apr 2013 08:52:27 +0000 (16:52 +0800)]
ENGR00256918 IPUv3 common:Correct CSI_PRP_MEM disable routine

For both CSI_MEMx and CSI_PRP_VF(ENC)_MEM capture channels,
we disable them with the following sequence:
1) Wait for an idmac channel eof interrupt.
2) Disable CSI by clearing CSIx_EN in IPU_CONF register.
3) Disable idmac channel by clearing relevant bit in
   IPU_IDMAC_CH_EN_1 register and other settings.

However, currently, we don't do 3) until CSI_PRP_VF(ENC)_MEM's
idmac channel being not busy by a while loop check. In case, an
external sensor is plugged out from the system or the sensor is
somehow broken, we will be unable to get out of that infinite
while loop. Since this check is unnecessary(we've already
waited for an idmac eof interrupt), this patch simply removes
it from the disable routine of CSI_PRP_VF(ENC)_MEM channel.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00256820-2 ASoC: imx-wm8962: Fix incorrect setting of wm8962's FLL source
Nicolin Chen [Mon, 1 Apr 2013 09:52:17 +0000 (17:52 +0800)]
ENGR00256820-2 ASoC: imx-wm8962: Fix incorrect setting of wm8962's FLL source

  WM8962's internal FLL is sourced from MCLK on SabreSD, while the machine
driver set its source to OSC, which's definitely wrong.
  So This patch changed its source to MCLK to prevent some potential issue.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00256820-1 ASoC: WM8962: revert FLL-disable before FLL-setting
Nicolin Chen [Mon, 1 Apr 2013 09:51:30 +0000 (17:51 +0800)]
ENGR00256820-1 ASoC: WM8962: revert FLL-disable before FLL-setting

  The patch at the commit 30293bc6 dropped FLL-disabling code from wm8962
driver, which was a work around for CR 00209905. Since we fixed the issue in
a better way(commit 018958f4), we don't need the work around any more.
  And in wm8962's datasheet, Wolfson suggests that driver should disable and
re-enable the FLL after the other registers're updated. So it's better for us
to revert the code to prevent some potential issue.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00255371 v4l2 fg overlay:workaround ipu warning
Liu Ying [Wed, 27 Mar 2013 07:45:49 +0000 (15:45 +0800)]
ENGR00255371 v4l2 fg overlay:workaround ipu warning

There is annoying ipu warning when doing preview
by using v4l2 fg overlay component:
/unit_tests/mxc_v4l2_overlay.out -iw 320 -ih 240 -ow 1280
-oh 720 -r 0 -fg -t 5
imx-ipuv3 imx-ipuv3.0: IDMAC12's EBA0 is not 8-byte aligned
This warning can be seen only when preview size is bigger
than 1024*1024(ipu device driver split mode is enabled).
After debug, it appears that the unaligned buffer address
is caused by input cropping for left strip, and this
cropping is triggered by the split mode algrithm. The
algrithm is complex, so currently this patch only changes
the input pixel format of the ipu task from UYVY to NV12
to workaround this warning.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00254106 Avoid incorrect GPU frequency scaling be overwritten
Loren Huang [Sat, 30 Mar 2013 05:53:10 +0000 (13:53 +0800)]
ENGR00254106 Avoid incorrect GPU frequency scaling be overwritten

Correct code to remove unnecessary GPU frequency scaling updte.
This patch is from vivante.

Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Lily Zhang
10 years agoENGR00256629 V4L2 output: Fix color bar issue on 1080p HDMI display
Wayne Zou [Mon, 25 Mar 2013 04:56:46 +0000 (12:56 +0800)]
ENGR00256629 V4L2 output: Fix color bar issue on 1080p HDMI display

When doing video playback on video16, which is also the first framebuffer
and used for fb console as well, there is a color bar on top of 1080p screen.
We need to make sure the correct vmode when doing pan display.

Signed-off-by: Wayne Zou <b36644@freescale.com>
10 years agoENGR00253652 ov5640 dvp:Align iq setting with mipi camera
Liu Ying [Mon, 25 Mar 2013 03:32:36 +0000 (11:32 +0800)]
ENGR00253652 ov5640 dvp:Align iq setting with mipi camera

According to the OV FAE, the image quality(iq) setting is
from 0x5000 register to 0x3a1f register in the camera's
initialization setting. This patch aligns image quality
setting of ov5640 dvp camera to ov5640 mipi camera.
The registers whose values are changed are 0x5001, 0x5189,
0x518b, 0x518d, 0x518e, 0x518f, 0x5199, 0x519c and 0x519d.
This change may improve the image quality of 5M/1M/VGA/QVGA
taken pictures in Android according to test team observation.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00255406 net: fec: Workaround tx hang due to TDAR bit cleared by uDMA
Fugang Duan [Wed, 27 Mar 2013 10:23:16 +0000 (18:23 +0800)]
ENGR00255406 net: fec: Workaround tx hang due to TDAR bit cleared by uDMA

MTIP enet IP have one IC issue recorded at PDM ticket:TKT168103

The issue description:
The TDAR bit after being set by software is not acted upon by the ENET
module due to the timing of when the ENET state machine clearing the
TDAR bit occurring coincident or momentarily after the software sets
the bit.

The result:
The corresponding transmit packet for an incoming ping is delayed.

Workaround:
This forces the ENET module to check the Transmit buffer descriptor
and take action if the “ready” flag is set. Otherwise the ENET module
returns to idle mode.

Signed-off-by: Fugang Duan <B38611@freescale.com>
10 years agoENGR00255322 Disable non-contiguous memory using for VG
Loren Huang [Thu, 28 Mar 2013 10:14:17 +0000 (18:14 +0800)]
ENGR00255322 Disable non-contiguous memory using for VG

Current OpenVG doesn't support to use non-contiguous memory.
Forbid VG to try to allocate non-contiguous memory when video
memory is used up temporarily.

Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Lily Zhang
10 years agoENGR00255111 battery: fix voltage decreased only while discharging
Robin Gong [Mon, 25 Mar 2013 06:27:42 +0000 (14:27 +0800)]
ENGR00255111 battery: fix voltage decreased only while discharging

If system run higher cpu loading with bigger current, such as GPU or VPU,
the voltage of battery will decrease down quickly  and rise up later.But the
battery driver only permit voltage decreasing while discharging before, in
other words, in the above case , the voltage will keep in very low level,
although the voltage will rise back again.

Now, remove the constrain in the code. Of course, with the patch, voltage will
down and rise back when run high loading user case, but it's better than
LOW ALWAYS, in worst case, the battery capacity will be 0 as test team reported

Please note :
Current battery capaity is not accurate because of hardware
design defect(ENGR00219632) on Sabresd.So please ignore the accuracy issue.

Signed-off-by: Robin Gong <b38343@freescale.com>
10 years agoENGR00255481 mx6: Update equation for thermal sensor
Anson Huang [Wed, 13 Mar 2013 06:01:01 +0000 (14:01 +0800)]
ENGR00255481 mx6: Update equation for thermal sensor

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>
10 years agoENGR00255688 4.6.9p11.1 [gpu]GPU Kernel driver integration
Loren Huang [Mon, 25 Mar 2013 07:43:57 +0000 (15:43 +0800)]
ENGR00255688 4.6.9p11.1 [gpu]GPU Kernel driver integration

4.6.9p11.1 GPU kernel driver integration

Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Lily Zhang
10 years agoENGR00255491 ov5640: Fix build break by make modules
Robby Cai [Fri, 22 Mar 2013 05:27:11 +0000 (13:27 +0800)]
ENGR00255491 ov5640: Fix build break by make modules

Fix the kernel modules building error for mx6q/mx6dl as follows:

LD [M] drivers/usb/gadget/g_serial.o
Building modules, stage 2.
MODPOST 48 modules
ERROR: "csi_enable_mclk" [drivers/media/video/mxc/capture/ov5640_camera.ko]
undefined!
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2

Signed-off-by: Robby Cai <R63905@freescale.com>
10 years agoENGR00255484-3 msl: usb: add clock deinit at fail path
Peter Chen [Fri, 22 Mar 2013 05:46:23 +0000 (13:46 +0800)]
ENGR00255484-3 msl: usb: add clock deinit at fail path

If not, the clocks usage will be mismatch

Signed-off-by: Peter Chen <peter.chen@freescale.com>
10 years agoENGR00255484-2 usb: ehci-arc: add NULL pointer check for pdata->pdev
Peter Chen [Fri, 22 Mar 2013 05:16:22 +0000 (13:16 +0800)]
ENGR00255484-2 usb: ehci-arc: add NULL pointer check for pdata->pdev

The pdata->pdev is initialized at platform code, if init
fails at first, it will be not initialized, and platform exit
will not be called. This also fixes an oop when config usb
module wrongly:

Unable to handle kernel NULL pointer dereference at virtual address 0000005c
pgd = ba1c4000
[0000005c] *pgd=4a145831, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1] PREEMPT SMP
Modules linked in: ehci_hcd(+) usbcore
CPU: 1    Not tainted  (3.0.35-02451-ge361da1 #60)
PC is at fsl_usb_host_uninit_ext+0xc/0x28
LR is at usb_hcd_fsl_probe+0x2c8/0x44c [ehci_hcd]
pc : [<80062b58>]    lr : [<7f060934>]    psr: a0000013
sp : ba11be80  ip : 00005027  fp : 000a76e0
r10: 00000048  r9 : ba11a000  r8 : bfd4d608
r7 : ffffffed  r6 : bfd4d600  r5 : bfc84400  r4 : 80aaee48
r3 : 80062b4c  r2 : 00000000  r1 : 60000093  r0 : 00000000
Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 10c53c7d  Table: 4a1c404a  DAC: 00000015
Process modprobe (pid: 1555, stack limit = 0xba11a2f0)
Stack: (0xba11be80 to 0xba11c000)
be80: bfd97600 7f060934 00000000 00000000 bfd4d608 bfd4d608 80aca808 bfd4d63c
bea0: 7f062bd4 80041704 ba11a000 00000000 000a76e0 802a5cec bfd4d608 802a4a14
bec0: bfd4d608 7f062bd4 bfd4d63c 00000000 80041704 802a4bac 7f062bd4 ba11bee8
bee0: 802a4b20 802a4254 bffd4040 bff03f38 7f065000 7f062bd4 80a934c8 bfc8cd20
bf00: 00000000 802a3be0 7f062b1c 7f062bd4 00000000 7f017ec8 7f062bd4 00000000
bf20: 7f065000 80041704 00000000 802a51a0 7f017ec8 80aae500 00000000 7f065000
bf40: 80041704 7f065058 000a79e8 8003b4c4 00000000 00000000 00000000 80a14834
bf60: 000a79e8 000a79e8 7f062c20 00000000 0000e67b 80041704 ba11a000 00000000
bf80: 000a76e0 800aa428 ba076740 800f58dc 000a79e8 0000e67b 00000000 000a75d0
bfa0: 00000080 80041580 0000e67b 00000000 000a79e8 0000e67b 000a75d0 000a76e0
bfc0: 0000e67b 00000000 000a75d0 00000080 000a6a78 00000008 000a76a0 000a76e0
bfe0: 7ec7ab50 7ec7ab40 0001a32c 2ace6490 20000010 000a79e8 4fffe821 4fffec21
[<80062b58>] (fsl_usb_host_uninit_ext+0xc/0x28) from [<7f060934>]
(usb_hcd_fsl_probe+0x2c8/0x44c [ehci_hcd])
[<7f060934>] (usb_hcd_fsl_probe+0x2c8/0x44c [ehci_hcd]) from [<802a5cec>]
(platform_drv_probe+0x18/0x1c)
[<802a5cec>] (platform_drv_probe+0x18/0x1c) from [<802a4a14>]
(driver_probe_device+0x98/0x1a4)
[<802a4a14>] (driver_probe_device+0x98/0x1a4) from [<802a4bac>]
(__driver_attach+0x8c/0x90)
[<802a4bac>] (__driver_attach+0x8c/0x90) from [<802a4254>]
(bus_for_each_dev+0x60/0x8c)
[<802a4254>] (bus_for_each_dev+0x60/0x8c) from [<802a3be0>]
(bus_add_driver+0x184/0x25c)
[<802a3be0>] (bus_add_driver+0x184/0x25c) from [<802a51a0>]
(driver_register+0x78/0x13c)
[<802a51a0>] (driver_register+0x78/0x13c) from [<7f065058>]
(ehci_hcd_init+0x58/0x88 [ehci_hcd])
[<7f065058>] (ehci_hcd_init+0x58/0x88 [ehci_hcd]) from [<8003b4c4>]
(do_one_initcall+0x30/0x16c)
[<8003b4c4>] (do_one_initcall+0x30/0x16c) from [<800aa428>]
(sys_init_module+0x84/0x19c)
[<800aa428>] (sys_init_module+0x84/0x19c) from [<80041580>]
(ret_fast_syscall+0x0/0x30)
Code: 80aaee48 e92d4010 e30e4e48 e34840aa (e590005c)
---[ end trace 719afdfe4af3a442 ]---

Signed-off-by: Peter Chen <peter.chen@freescale.com>
10 years agoENGR00255484-1 msl: usb: add NULL poiner check for fsl_xcvr_ops
Peter Chen [Thu, 21 Mar 2013 02:12:07 +0000 (10:12 +0800)]
ENGR00255484-1 msl: usb: add NULL poiner check for fsl_xcvr_ops

Add NULL pointer check for global fsl_xcvr_ops

Signed-off-by: Peter Chen <peter.chen@freescale.com>
10 years agoENGR00255482 ASoC: HDMI-audio: Add error message for HDMI-video detect failure
Nicolin Chen [Fri, 22 Mar 2013 02:57:07 +0000 (10:57 +0800)]
ENGR00255482 ASoC: HDMI-audio: Add error message for HDMI-video detect failure

  HDMI-audio depends on HDMI-video. If users want to use HDMI-audio function,
they need to load HDMI-video first. Sometime users would forget to put video
info into U-boot cmdline, "video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24" for
example. That might cause HDMI-auido driver fail to detect HDMI-video.
  Previously, if this happened to system, driver only returned with "ENOMEM"
and system would print "Can't allocate memory". This might confuse users due
to the vague infomation. Users would be hard to figure out the root cause.
  So this patch just add some error message to give users a clear indication,
and changed the "ENOMEM" error number to the more precise "ENODEV".

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00255029 ASoC: spdif: fix clk_enable/disable() mismatched issue
Nicolin Chen [Wed, 20 Mar 2013 03:09:17 +0000 (11:09 +0800)]
ENGR00255029 ASoC: spdif: fix clk_enable/disable() mismatched issue

  The function might be returned if the CNEW wasn't detected, while in this
case the code won't disable the clk.
  This patch just fixed the mismatch.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00254442 Sabre ARD Include WEIM-NOR on imx6_updater_defconfig
Alejandro Sierra [Thu, 14 Mar 2013 21:58:46 +0000 (15:58 -0600)]
ENGR00254442 Sabre ARD Include WEIM-NOR on imx6_updater_defconfig

Sabre ARD include WEIM-NOR configuration update to
enable higher bandwidth on this interface for mfg tool
support (imx6_updater_defconfig).

Signed-off-by: Alex Sierra <b18039@freescale.com>
Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00252064-3 camera: ov5640: fix missed setting for light_frequency
Robby Cai [Thu, 14 Mar 2013 09:58:01 +0000 (17:58 +0800)]
ENGR00252064-3 camera: ov5640: fix missed setting for light_frequency

Confirmed from OV, the missed setting for light_frequency need to be added.

Signed-off-by: Robby Cai <R63905@freescale.com>
(cherry picked from commit 3c4d081940ec00fecd87a55721e14116dc01e481)

10 years agoENGR00252064-2 mx6sl: ov5640: need enable MCLK before read sensor ID
Robby Cai [Thu, 14 Mar 2013 08:51:00 +0000 (16:51 +0800)]
ENGR00252064-2 mx6sl: ov5640: need enable MCLK before read sensor ID

After the patch of auto-detection for sensor pushed, there's a need to
read sensor ID in probe function. But on MX6SL, MCLK is not enabled at
that time. So need to enable it before read sensor ID.

Signed-off-by: Robby Cai <R63905@freescale.com>
(cherry picked from commit 78ad8b6f9d18cf5595cb532b7e08804aff158815)

10 years agoENGR00252064-1 csi/v4l: need power on sensor for its initialization
Robby Cai [Thu, 14 Mar 2013 08:37:09 +0000 (16:37 +0800)]
ENGR00252064-1 csi/v4l: need power on sensor for its initialization

Need power on the sensor for its initialization, otherwise the sensor can
not work properly.

Signed-off-by: Sheng Nan <b38800@freescale.com>
Signed-off-by: Robby Cai <R63905@freescale.com>
(cherry picked from commit 24ef6f52c717b9f2288d1c66ec6efd284935e23e)

10 years agoENGR00253947 EPDC: fix reboot failure
Robby Cai [Tue, 12 Mar 2013 11:17:50 +0000 (19:17 +0800)]
ENGR00253947 EPDC: fix reboot failure

This patch is to

1) add clock enablement before access EPDC registers, otherwise system may hang.

And,
2) fix unbalanced disablement for PMIC regulators

------------[ cut here ]------------
WARNING: at drivers/regulator/core.c:1422 _regulator_disable+0xf8/0x12c()
unbalanced disables for VCOM
Modules linked in:
[<80040518>] (unwind_backtrace+0x0/0xf8) from [<800671d8>]
(warn_slowpath_common +0x4c/0x64)
[<800671d8>] (warn_slowpath_common+0x4c/0x64) from [<80067284>]
(warn_slowpath_fmt+0x30/0x40)
[<80067284>] (warn_slowpath_fmt+0x30/0x40) from [<8024ef60>]
(_regulator_disable+0xf8/0x12c)
[<8024ef60>] (_regulator_disable+0xf8/0x12c) from [<8024efc4>]
(regulator_disable+0x30/0x70)
[<8024efc4>] (regulator_disable+0x30/0x70) from [<80241044>]
(mxc_epdc_fb_shutdown+0x18/0x84)
[<80241044>] (mxc_epdc_fb_shutdown+0x18/0x84) from [<80277f64>]
(platform_drv_shutdown+0x18/0x1c)
[<80277f64>] (platform_drv_shutdown+0x18/0x1c) from [<802751d0>]
(device_shutdown+0xac/0x124)
[<802751d0>] (device_shutdown+0xac/0x124) from [<8007812c>]
(kernel_restart_prepare+0x30/0x38)
[<8007812c>] (kernel_restart_prepare+0x30/0x38) from [<80078140>]
(kernel_restart+0xc/0x48)
[<80078140>] (kernel_restart+0xc/0x48) from [<80078290>]
(sys_reboot+0x10c/0x1c4)
[<80078290>] (sys_reboot+0x10c/0x1c4) from [<8003ad40>]
(ret_fast_syscall+0x0/0x30)
---[ end trace e392f5dd2f75e1a5 ]---
------------[ cut here ]------------
WARNING: at drivers/regulator/core.c:1422 _regulator_disable+0xf8/0x12c()
unbalanced disables for DISPLAY
Modules linked in:
[<80040518>] (unwind_backtrace+0x0/0xf8) from [<800671d8>]
(warn_slowpath_common+0x4c/0x64)
[<800671d8>] (warn_slowpath_common+0x4c/0x64) from [<80067284>]
(warn_slowpath_fmt+0x30/0x40)
[<80067284>] (warn_slowpath_fmt+0x30/0x40) from [<8024ef60>]
(_regulator_disable+0xf8/0x12c)
[<8024ef60>] (_regulator_disable+0xf8/0x12c) from [<8024efc4>]
(regulator_disable+0x30/0x70)
[<8024efc4>] (regulator_disable+0x30/0x70) from [<8024104c>]
(mxc_epdc_fb_shutdown+0x20/0x84)
[<8024104c>] (mxc_epdc_fb_shutdown+0x20/0x84) from [<80277f64>]
(platform_drv_shutdown+0x18/0x1c)
[<80277f64>] (platform_drv_shutdown+0x18/0x1c) from [<802751d0>]
(device_shutdown+0xac/0x124)
[<802751d0>] (device_shutdown+0xac/0x124) from [<8007812c>]
(kernel_restart_prepare+0x30/0x38)
[<8007812c>] (kernel_restart_prepare+0x30/0x38) from [<80078140>]
(kernel_restart+0xc/0x48)
[<80078140>] (kernel_restart+0xc/0x48) from [<80078290>]
(sys_reboot+0x10c/0x1c4)
[<80078290>] (sys_reboot+0x10c/0x1c4) from [<8003ad40>]
(ret_fast_syscall+0x0/0x30)
---[ end trace e392f5dd2f75e1a6 ]---

Signed-off-by: Robby Cai <R63905@freescale.com>
(cherry picked from commit bda715c9defa98cfcdcdf8784717500a42e5b7af)

10 years agoENGR00253849 EPDC: fix build warnings in epdc fb driver
Robby Cai [Tue, 12 Mar 2013 06:59:49 +0000 (14:59 +0800)]
ENGR00253849 EPDC: fix build warnings in epdc fb driver

This patch is to fix the following warnings:

drivers/video/mxc/mxc_epdc_fb.c:5062:2: warning: initialization from
incompatible pointer type [enabled by default]
drivers/video/mxc/mxc_epdc_fb.c:5062:2: warning: (near initialization for
'mxc_epdc_fb_driver.shutdown') [enabled by default]

Signed-off-by: Robby Cai <R63905@freescale.com>
(cherry picked from commit a086f9782435b51f494c618236907894dfeff3ad)

10 years agoENGR00237365: board-mx6q_sabreauto fix mipi-csi2 settings
Adrian Alonso [Tue, 19 Feb 2013 16:49:19 +0000 (10:49 -0600)]
ENGR00237365: board-mx6q_sabreauto fix mipi-csi2 settings

* Correct mipi-csi2 settings only one data line is used
* Add mx6q_mipi_csi1_io_init ipu-csi setting callback
  use virtual channel 1 and attach it to CSI1 -> IPU0
* Set i2c slave address to 0x52
* Set ipu-csi clko_clk

Signed-off-by: Adrian Alonso <aalonso@freescale.com>
10 years agoENGR00254896 mx6: hdmidongle: Fix compile error.
Zhang Xiaodong [Wed, 20 Mar 2013 08:06:35 +0000 (16:06 +0800)]
ENGR00254896 mx6: hdmidongle: Fix compile error.

After enable PICE in kernel config, building will meet
fatal error:linux/wakelock.h: No such file or directory

Signed-off-by: Zhang Xiaodong <B39117@freescale.com>
10 years agoENGR00254931 IPUv3 Fb: Fix display twinkling issue during suspend/resume
Wayne Zou [Tue, 19 Mar 2013 01:38:04 +0000 (09:38 +0800)]
ENGR00254931 IPUv3 Fb: Fix display twinkling issue during suspend/resume

Fix display twinkling issue when video playback on LVDS during suspend/resume.
The issue happens when the rootfs application Xfbdev calls fb_set_var() for IPU
BG fb to unblank the console, so it wants to reinitialize the IPU BG. However,
IPU FG is still being used for video playback.It is reasonable to refuse
reprogramme because of the resources confilct.

Signed-off-by: Wayne Zou <b36644@freescale.com>
10 years agoENGR00253355 ARM: imx6q/imx6dl: Set proper PAD value for WEIM NOR
Huang Shijie [Fri, 15 Mar 2013 09:26:35 +0000 (17:26 +0800)]
ENGR00253355 ARM: imx6q/imx6dl: Set proper PAD value for WEIM NOR

Set proper pad value for WEIM NOR. Without setting these pad value
the weim-nor can not work.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00254457 mx6dl: fix mx6dl TO1.1 can't enter 'mem'
Robin Gong [Fri, 15 Mar 2013 04:37:04 +0000 (12:37 +0800)]
ENGR00254457 mx6dl: fix mx6dl TO1.1 can't enter 'mem'

The previous patch ENGR00251630 didn't notice mx6q_revision() will
return -EINVAL and will match 'mx6q_revision()<IMX_CHIP_REVISION_1_1'
,then mx6dl TO1.1 will also change suspend state to 'standby'.

Signed-off-by: Robin Gong <b38343@freescale.com>
10 years agoENGR00243289 egalax_ts: Add support for single-touch
Eric Nelson [Thu, 30 Aug 2012 04:50:30 +0000 (21:50 -0700)]
ENGR00243289 egalax_ts: Add support for single-touch

Add support for single-touch for the Egalax Touch driver

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@freescale.com>
10 years agoENGR00254267 MX6DL/MX6SL max freq: Fix max cpu freq at 1G on MX6DL ARD
Robin Gong [Thu, 14 Mar 2013 09:19:44 +0000 (17:19 +0800)]
ENGR00254267 MX6DL/MX6SL max freq: Fix max cpu freq at 1G on MX6DL ARD

For MX6DL,align max cpufreq judge by SPEED_GRADING fuse bit with MX6DQ.
For MX6SL without the fuse bit, we need add condition check, if found
arm_max_freq set by default , change to1G. Else decided by 'arm_freq'
setting by cmdline.

Signed-off-by: Robin Gong <b38343@freescale.com>
10 years agoENGR00253927 IPU: Fix NULL pointer bug when BG EOF interrupt occur early
Wayne Zou [Tue, 12 Mar 2013 08:54:59 +0000 (16:54 +0800)]
ENGR00253927 IPU: Fix NULL pointer bug when BG EOF interrupt occur early

Fix NULL pointer bug when IPU BG EOF interrupt occur before register irq handler
It can be reproduced on MIPI DSI display on i.mx6dl SabreSD board.

The sequence is:
a) enable display channel
b) pan display (fb_set_var()) -> ipu_enable_irq
c) ipu_request_irq
If an EOF interrupt comes before c and after b, the issue happens.

Signed-off-by: Wayne Zou <b36644@freescale.com>
10 years agoENGR00243315-6 ADV7180:Remove unnecessary header files
Liu Ying [Fri, 8 Mar 2013 09:16:20 +0000 (17:16 +0800)]
ENGR00243315-6 ADV7180:Remove unnecessary header files

This patch removes unnesessary header files in the driver.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00243315-5 ADV7180:Power management adjustment
Liu Ying [Fri, 8 Mar 2013 09:01:28 +0000 (17:01 +0800)]
ENGR00243315-5 ADV7180:Power management adjustment

ADV7180 power down/on can be controlled by a gpio
pin or i2c register setting. The PDBP bit in 0x0f
register chooses the control source, and the PWRDWN
bit in 0x0f register chooses to power down the chip
or power on the chip if control source is i2c.
This patch removes all gpio pin power down/on code
after probe function and uses i2c to do power down/on
operation, as some boards may choose to not connect
ADV7180 power down pin with AP, however, AP's i2c bus
has to be connect with the ADV7180 chip.
Moveover, this patch also adds a 400ms sleep after
the chip is powered on, which is a workaround for
preview scrolling issue(we suspect that the chip
needs some time to in a stable status, so that it
may sends correct data to AP).

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00243315-4 MXC V4L2 Capture:Improve debug info for s_std
Liu Ying [Fri, 8 Mar 2013 08:55:37 +0000 (16:55 +0800)]
ENGR00243315-4 MXC V4L2 Capture:Improve debug info for s_std

commit f8e1a3bb62eecf93a31a51c4dbe08a0214fa1d57 introduced an
annoying kernel log by changing a pure debug info to error level.
This patch reverts that change.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00243315-3 MXC V4L2 Capture:Remove unnecessary mclk setting
Liu Ying [Fri, 8 Mar 2013 08:44:41 +0000 (16:44 +0800)]
ENGR00243315-3 MXC V4L2 Capture:Remove unnecessary mclk setting

commit f8e1a3bb62eecf93a31a51c4dbe08a0214fa1d57 added a hard
coding for csi_parma.mclk setting to 27MHz. The comment added by
that commit is totally wrong by telling that csi_param.mclk
would be a kind of 'pixel clock' set in 'csi_data_dest' register.
This patch removes the unnecessary mclk setting for csi_param.mclk
variable, since it is only valid for CSI test mode.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00243315-2 IPUv3 CSI:Remove test mode clock setting
Liu Ying [Fri, 8 Mar 2013 08:33:35 +0000 (16:33 +0800)]
ENGR00243315-2 IPUv3 CSI:Remove test mode clock setting

This patch removes test mode clock setting in function
ipu_csi_init_interface(), since the setting is only
necessary for function _ipu_csi_set_test_generator().
This unnecessary setting is added wrongly by commit
f8e1a3bb62eecf93a31a51c4dbe08a0214fa1d57.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00243315-1 IPUv3 CSI:Correct CCIR code1/2 for PAL and NTSC
Liu Ying [Fri, 8 Mar 2013 08:01:48 +0000 (16:01 +0800)]
ENGR00243315-1 IPUv3 CSI:Correct CCIR code1/2 for PAL and NTSC

We reversed CCIR code1/2 setting before, which may brings
captured frame quality issue(jaggy edge can be seen). This
patch revert that change.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00253835: CAAM: Fix build warnings in caamhash.c
Terry Lv [Tue, 12 Mar 2013 05:45:28 +0000 (13:45 +0800)]
ENGR00253835: CAAM: Fix build warnings in caamhash.c

A warning was find in caamhash.c:
linux-2.6-imx/drivers/crypto/caam/caamhash.c: In function
'ahash_update_ctx':
linux-2.6-imx/drivers/crypto/caam/caamhash.c:850: warning: 'desc' may be
used uninitialized in this function

This commit is to fix it.

Signed-off-by: Terry Lv <r65388@freescale.com>
10 years agoENGR00253418 IMX6 SabreSD Display: Support LVDS1 and HDMI dual display
Wayne Zou [Fri, 8 Mar 2013 07:29:49 +0000 (15:29 +0800)]
ENGR00253418 IMX6 SabreSD Display: Support LVDS1 and HDMI dual display

Support LVDS1 and HDMI dual display on SabreSD Rev.C board on i.mx6
By default, LVDS uses LDB_SEP1 mode due to the hardware design.

Signed-off-by: Wayne Zou <b36644@freescale.com>
10 years agoENGR00169384 imx6q: uart: config and enble uart5
Jianzheng Zhou [Mon, 11 Mar 2013 09:41:26 +0000 (17:41 +0800)]
ENGR00169384 imx6q: uart: config and enble uart5

Config clock,irq,mux pad,data entry, etc to setup uart5.

Signed-off-by: Jianzheng Zhou <jianzheng.zhou@freescale.com>
10 years agoENGR00234501 ASoC: spdif: fix Ubuntu reboot hang issue
Nicolin Chen [Mon, 11 Mar 2013 09:09:14 +0000 (17:09 +0800)]
ENGR00234501 ASoC: spdif: fix Ubuntu reboot hang issue

  spdif driver registered kcontrol for ALSA subsystem controlling, while some
of those kcontrol functions lack of clk_enable() before register-accessing. So
system would definitely hang when those functions're called, which did happen
during reboot test on Ubuntu due to its pulse-audio.
  This patch added paired clk_en/disable() to those functions so as to pevent
system hang issue.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Tested-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00253290-2 ASoC: imx-wm8962: fix continuous playback distortion issue
Nicolin Chen [Fri, 8 Mar 2013 03:03:27 +0000 (11:03 +0800)]
ENGR00253290-2 ASoC: imx-wm8962: fix continuous playback distortion issue

  If DAC volume's set to a value that's lower than 0xd8, contineously FLL
setting of wm8962 in machine driver would cause playback distortion issue,
which happens to ENGR219882. so we have to put some another code in machine
driver to prevent distortion issue.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00253290-1 ASoC: wm8962: fix over-gained audio playback issue
Nicolin Chen [Fri, 8 Mar 2013 03:01:57 +0000 (11:01 +0800)]
ENGR00253290-1 ASoC: wm8962: fix over-gained audio playback issue

  We put some code to set default volumes in codec driver, but later we found
that one of volume was higher than 0db, which would cause over-gained volume.
  So this patch removed DAC default volume setting, and reverted the volume
interface of it to let user control the register from user space.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00252782 mxc v4l2 capture:Support csi number attribution
Liu Ying [Tue, 5 Mar 2013 06:54:51 +0000 (14:54 +0800)]
ENGR00252782 mxc v4l2 capture:Support csi number attribution

This patch adds device attribution for video device to
show csi number to userspace. The pattern is in "ipux_csix"
fashion, which tells which ipu and csi is relevant to a
specific video device. In this way, userspace may figure
out different cameras even if they have the same type,
especially, android may use this to know back/front
cameras.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoARM: 7417/1: vfp: ensure preemption is disabled when enabling VFP access
Will Deacon [Fri, 11 May 2012 16:42:37 +0000 (17:42 +0100)]
ARM: 7417/1: vfp: ensure preemption is disabled when enabling VFP access

The vfp_enable function enables access to the VFP co-processor register
space (cp10 and cp11) on the current CPU and must be called with
preemption disabled. Unfortunately, the vfp_init late initcall does not
disable preemption and can lead to an oops during boot if thread
migration occurs at the wrong time and we end up attempting to access
the FPSID on a CPU with VFP access disabled.

This patch fixes the initcall to call vfp_enable from a non-preemptible
context on each CPU and adds a BUG_ON(preemptible) to ensure that any
similar problems are easily spotted in the future.

Cc: stable@vger.kernel.org
Reported-by: Hyungwoo Yang <hwoo.yang@gmail.com>
Signed-off-by: Hyungwoo Yang <hyungwooy@nvidia.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
[Fix merge conflict]
Signed-off-by: Jason Liu <r64343@freescale.com>
10 years agoENGR00251209-9 msl: usb: make global variable as drvdata
Peter Chen [Tue, 5 Mar 2013 03:21:04 +0000 (11:21 +0800)]
ENGR00251209-9 msl: usb: make global variable as drvdata

There is a bug when we try to remove wakeup module twice as
g_ctrl is a globle variable, in fact, it is per controller
wakeup driver, so the private data should be per device.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
10 years agoENGR00251209-8 usb: fix the build error when building usb as loadable module
Peter Chen [Mon, 4 Mar 2013 09:42:52 +0000 (17:42 +0800)]
ENGR00251209-8 usb: fix the build error when building usb as loadable module

export usb_suspend, usb_resume, and pm_mutex

Signed-off-by: Peter Chen <peter.chen@freescale.com>
10 years agoENGR00251209-7 usb: mark phy's low power flag as false at probe
Peter Chen [Mon, 4 Mar 2013 09:40:34 +0000 (17:40 +0800)]
ENGR00251209-7 usb: mark phy's low power flag as false at probe

PHY's low power flag was false at former logic, so this
change should not affect functions.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
10 years agoENGR00251209-6 msl-mx6: usb: keep the phy lower flag as true defaultly
Peter Chen [Mon, 4 Mar 2013 09:35:02 +0000 (17:35 +0800)]
ENGR00251209-6 msl-mx6: usb: keep the phy lower flag as true defaultly

Keep the phy lower flag as true defaultly, the driver should mark
it as false when the driver begins to use PHY.
This fixes one bug that when build both host and gadget as loadable
modules, the phy lower flag is false if the related module is not
loaded, then, the wakeup interrupt will not be treated as happened
if host module is loaded, but gadget is not loaded, or vice verse.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
10 years agoENGR00251209-5 usb: fix the system hang when unload gadget module
Peter Chen [Mon, 4 Mar 2013 09:30:08 +0000 (17:30 +0800)]
ENGR00251209-5 usb: fix the system hang when unload gadget module

- For gadget, the clock will be closed at platform code, so
the driver should not be close clock beforehand.
- For host, the PHY should not be low power mode when the host
controller has still possibilities to use. Besides, the 5v should
be off at last as some platform uses 5v for PHY's power.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
10 years agoENGR00251209-4 msl-mx6: usb: Fix system hang when unload gadget module
Peter Chen [Mon, 4 Mar 2013 09:19:20 +0000 (17:19 +0800)]
ENGR00251209-4 msl-mx6: usb: Fix system hang when unload gadget module

At gadget module remove function, it closes the clock, but
at platform code, it still visits register. In fact,
The PHY has already been low power mode when driver's remove
before platform code is called.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
10 years agoENGR00251209-3 usb: fix below build warning
Peter Chen [Mon, 4 Mar 2013 06:22:52 +0000 (14:22 +0800)]
ENGR00251209-3 usb: fix below build warning

/home/b29397/work/projects/linux-2.6-imx/arch/arm/mach-mx6/usb_dr.c:
In function 'mx6_usb_dr_init':
/home/b29397/work/projects/linux-2.6-imx/arch/arm/mach-mx6/usb_dr.c:
615: warning: unused variable 'imx6q_mxc_ehci_otg_data'
/home/b29397/work/projects/linux-2.6-imx/arch/arm/mach-mx6/usb_dr.c:
At top level:
/home/b29397/work/projects/linux-2.6-imx/arch/arm/mach-mx6/usb_dr.c:
77: warning: 'fsl_platform_otg_set_usb_phy_dis' defined but not used

Signed-off-by: Peter Chen <peter.chen@freescale.com>
10 years agoENGR00251209-2 usb: otg: fix the dp/dm will be floating when phy is no 3v3
Peter Chen [Fri, 1 Mar 2013 08:37:42 +0000 (16:37 +0800)]
ENGR00251209-2 usb: otg: fix the dp/dm will be floating when phy is no 3v3

For the design which the phy is no power (no 5v for VBUS), the
PHY can't get dp/dm correctly, so it the port change interrpt
is enabled or the host enters low power mode, the unexpected
interrupt will occur.
This commit will make the dp/dm as zero at otg configuration.
For gadget-only, the same function is existed at probe.
For host-only, the vbus will be on before port change interrupt
is enabled.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
10 years agoENGR00251209-1 usb: add host 1 vbus callback
Peter Chen [Fri, 1 Mar 2013 07:33:24 +0000 (15:33 +0800)]
ENGR00251209-1 usb: add host 1 vbus callback

The callback will be used at probe and remove

Signed-off-by: Peter Chen <peter.chen@freescale.com>
10 years agoENGR00252727-2 [GPU]Power on VG core if there is only VG core in SoC
Loren Huang [Tue, 5 Mar 2013 07:44:28 +0000 (15:44 +0800)]
ENGR00252727-2 [GPU]Power on VG core if there is only VG core in SoC

-Power on VG core to makesure VG can be initalized if there is only
VG core in SoC.
-Power off VG core after initalization is done.
-Adjust VG power and clock state to match above changing.

Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Lily Zhang
10 years agoENGR00252727-1 [mxc]Add fuse check for gpu platform device
Loren Huang [Tue, 5 Mar 2013 07:40:22 +0000 (15:40 +0800)]
ENGR00252727-1 [mxc]Add fuse check for gpu platform device

Add fuse check for gpu platform device. Bypass gpu core
initialization if certain core is fused.If all gpu cores
are fused, bypass gpu driver loading.

Signed-off-by: Loren Huang <b02279@freescale.com>
10 years agoENGR00252559: mxc_v4l2_capture: ov5640: incorrect warning for XGA@15fps
Sheng Nan [Mon, 4 Mar 2013 06:47:48 +0000 (14:47 +0800)]
ENGR00252559: mxc_v4l2_capture: ov5640: incorrect warning for XGA@15fps

The following warning information should be displayed
only when the format is XGA and frame rate is 30fps:

pr_warning("ov5640: actual frame rate of XGA is 22.5fps\n");

Signed-off-by: Sheng Nan <b38800@freescale.com>
10 years agoENGR00252411: mxc_v4l2_capture: ov5642/ov5640 cannot both be set as build-in.
Sheng Nan [Mon, 4 Mar 2013 02:35:13 +0000 (10:35 +0800)]
ENGR00252411: mxc_v4l2_capture: ov5642/ov5640 cannot both be set as build-in.

ov5642 and ov5640 are inside choice "prompt "Select Camera/TV Decoder""
It prevents some modules are set as build-in at the same time.

All the cameras inside the choice are parallel cameras. There is no need to
include all of them inside a choice.

Know issues:
ADV7180 (out of the choice) and mipi ov camera (inside the choice)
can not be both selected for ARM2 board:
CSI0_MCLK pad is conflicted between adv7180 and mipi camera ext port.
Developers should know this.

Signed-off-by: Sheng Nan <b38800@freescale.com>