linux.git
10 years agoENGR00301270 [V4L2 Capture] PXP V4L2 output can't report absolute physical address.
Fancy Fang [Wed, 2 Apr 2014 06:51:16 +0000 (14:51 +0800)]
ENGR00301270 [V4L2 Capture] PXP V4L2 output can't report absolute physical address.

Add absolute physical address report by V4L2 driver after
this buffer has been mapped, which is requested by some
multimedia applications.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
10 years agoInput: tsc2007 - add device tree support.
Denis Carikli [Tue, 19 Nov 2013 19:56:04 +0000 (11:56 -0800)]
Input: tsc2007 - add device tree support.

Signed-off-by: Denis Carikli <denis@eukrea.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
10 years agoENGR00306443-2 dts:Add QoS description in imx6sx dts
Loren HUANG [Wed, 2 Apr 2014 09:19:05 +0000 (17:19 +0800)]
ENGR00306443-2 dts:Add QoS description in imx6sx dts

Add QoS description in imx6sx dts for gc400t QoS adjustment.

Signed-off-by: Loren HUANG <b02279@freescale.com>
10 years agoENGR00306443-1 mx6sx:Update the gc400t QoS
Loren HUANG [Wed, 2 Apr 2014 09:15:12 +0000 (17:15 +0800)]
ENGR00306443-1 mx6sx:Update the gc400t QoS

Per SoC team recommandation, update the gc400t QoS value to write 2
and Read 8. It can improve gpu performance in most case.

3d fill: 165->172Mpixel/s
2d fill: 190->228Mpixel/s

Signed-off-by: Loren HUANG <b02279@freescale.com>
10 years agoASoC: fsl_sai: Add imx6sx platform support
Nicolin Chen [Tue, 1 Apr 2014 11:34:09 +0000 (19:34 +0800)]
ASoC: fsl_sai: Add imx6sx platform support

The next coming i.MX6 Solo X SoC also contains SAI module while we use
imp_pcm_init() for i.MX platform.

So this patch adds one compatible route for imx6sx and updates the DT
doc accordingly.

Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 30c35252aadb460e009ca8a3fdc8891903bdfc66)

[ Added essential parameters to imx_pcm_init() calling due to build error,
  resulted from the define change of the function on the upstream. ]

Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
10 years agoENGR00298286 arm: dts: imx6qdl: add clock to CAAM.
Dan Douglass [Wed, 2 Apr 2014 19:01:26 +0000 (14:01 -0500)]
ENGR00298286 arm: dts: imx6qdl: add clock to CAAM.

CAAM depends on the clock used by WEIM interface. This patch supplied by
Haung Shijie corrects the issue by adding the clock as a resource for
the CAAM driver.

Signed-off-by: Dan Douglass <dan.douglass@freescale.com>
10 years agoENGR00298286 arm: dts: imx6qdl: add clock to CAAM.
Dan Douglass [Wed, 2 Apr 2014 19:00:08 +0000 (14:00 -0500)]
ENGR00298286 arm: dts: imx6qdl: add clock to CAAM.

CAAM depends on the clock used by WEIM interface. This patch supplied by
Haung Shijie corrects the issue by adding the clock to the device tree
entry for CAAM.

Signed-off-by: Dan Douglass <dan.douglass@freescale.com>
10 years agoENGR00306569: ARM: dts: imx6sx-sdb: Add mma8451 sensor dts support
Luwei Zhou [Wed, 2 Apr 2014 05:36:22 +0000 (13:36 +0800)]
ENGR00306569: ARM: dts: imx6sx-sdb: Add mma8451 sensor dts support

This patch add mma8451 sensor device tree support on i.MX6SX-SDB
platform.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
10 years agoENGR00305369 video: mxc ldb: disable channel in setup callback
Liu Ying [Fri, 21 Mar 2014 07:44:29 +0000 (15:44 +0800)]
ENGR00305369 video: mxc ldb: disable channel in setup callback

In order to avoid any pixelation issue, we should disable a LVDS
channel before its relevant display controlled is enabled.  This
patch adds logics to disable the LVDS channel in the setup()
callback which is invoked before the IPUv3 display controller is
disabled and re-enabled.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoARM: 7669/1: keep __my_cpu_offset consistent with generic one
Ming Lei [Mon, 11 Mar 2013 12:52:12 +0000 (13:52 +0100)]
ARM: 7669/1: keep __my_cpu_offset consistent with generic one

Commit 14318efb(ARM: 7587/1: implement optimized percpu variable access)
introduces arm's __my_cpu_offset to optimize percpu vaiable access,
which really works well on hackbench, but will cause __my_cpu_offset
to return garbage value before it is initialized in cpu_init() called
by setup_arch, so accessing percpu variable before setup_arch may cause
kernel hang. But generic __my_cpu_offset always returns zero before
percpu area is brought up, and won't hang kernel.

So the patch tries to clear __my_cpu_offset on boot CPU early
to avoid boot hang.

At least now percpu variable is accessed by lockdep before
setup_arch(), and enabling CONFIG_LOCK_STAT or CONFIG_DEBUG_LOCKDEP
can trigger kernel hang.

Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
(cherry picked from commit 9394c1c65e61eb6f4c1c99f342b49e451ec337b6)

10 years agodma: of: Remove restriction that #dma-cells can't be 0
Lars-Peter Clausen [Mon, 22 Apr 2013 08:33:32 +0000 (10:33 +0200)]
dma: of: Remove restriction that #dma-cells can't be 0

There is no sensible reason why #dma-cells shouldn't be allowed to be 0. It is
completely up to the DMA controller how many additional parameters, besides the
phandle, it needs to identify a channel. E.g. for DMA controller with only one
channel or for DMA controllers which don't have a restriction on which channel
can be used for which peripheral it completely legitimate to not require any
additional parameters.

Also fixes the following warning:
drivers/dma/of-dma.c: In function 'of_dma_controller_register':
drivers/dma/of-dma.c:67:7: warning: 'nbcells' may be used uninitialized in this function

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
(cherry picked from commit ff0e0f4f568e8d7593e0035c0c58067bcaf4ab07)

10 years agoENGR00300157: ARM: dts: imx6sl-evk-common: correct the pad setting of EPDC_PWRCTRL3
Robin Gong [Wed, 2 Apr 2014 02:19:44 +0000 (10:19 +0800)]
ENGR00300157: ARM: dts: imx6sl-evk-common: correct the pad setting of EPDC_PWRCTRL3

align with the same setting with v3.0.35, otherwise, cause 'POR' reset
if EPDC daughter board attached sometimes.

Signed-off-by: Robin Gong <b38343@freescale.com>
10 years agoASoC: fsl_sai: Separately enable interrupts for Tx and Rx streams
Nicolin Chen [Tue, 1 Apr 2014 03:17:07 +0000 (11:17 +0800)]
ASoC: fsl_sai: Separately enable interrupts for Tx and Rx streams

We only enable one side interrupt for each stream since over/underrun
on the opposite stream would be resulted from what we previously did,
enabling TERE but remaining FRDE disabled, even though the xrun on the
opposite direction will not break the current stream.

Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
Acked-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 20ea0d31528f7a461a4ecfb5924ca228bf3ca3c5)

10 years agoASoC: fsl_sai: Fix buggy configurations in trigger()
Nicolin Chen [Tue, 1 Apr 2014 03:17:06 +0000 (11:17 +0800)]
ASoC: fsl_sai: Fix buggy configurations in trigger()

The current trigger() has two crucial problems:
1) The DMA request enabling operations (FSL_SAI_CSR_FRDE) for Tx and Rx are
   now totally exclusive: It would fail to run simultaneous Tx-Rx cases.
2) The TERE disabling operation depends on an incorrect condition -- active
   reference count that only gets increased in snd_pcm_open() and decreased
   in snd_pcm_close(): The TERE would never get cleared.

So this patch overwrites the trigger function by following these rules:
A) We continue to support tx-async-while-rx-sync-to-tx case alone, which's
   originally limited by this fsl_sai driver, but we make the code easy to
   modify for the further support of the opposite case.
B) We enable both TE and RE for PLAYBACK stream or CAPTURE stream but only
   enabling the DMA request bit (FSL_SAI_CSR_FRDE) of the current direction
   due to the requirement of SAI -- For tx-async-while-rx-sync-to-tx case,
   the receiver is enabled only when both the transmitter and receiver are
   enabled.

Tested cases:
a) aplay test.wav -d5
b) arecord -r44100 -c2 -fS16_LE test.wav -d5
c) arecord -r44100 -c2 -fS16_LE -d5 | aplay
d) (aplay test2.wav &); sleep 1; arecord -r44100 -c2 -fS16_LE test.wav -d1
e) (arecord -r44100 -c2 -fS16_LE test.wav -d5 &); sleep 1; aplay test.wav -d1

Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
Acked-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit d827786ea623da7ceadaa037f2574a19cbeb90e5)

10 years agoASoC: fsl-sai: Add device tree bindings for Freescale SAI.
Xiubo Li [Tue, 17 Dec 2013 03:24:41 +0000 (11:24 +0800)]
ASoC: fsl-sai: Add device tree bindings for Freescale SAI.

This adds the Document for Freescale SAI driver under
Documentation/devicetree/bindings/sound/.

Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit b6344859b911990152e5ee411e62b82eb968004f)

10 years agoARM: 7811/1: locks: use early clobber in arch_spin_trylock
Will Deacon [Mon, 12 Aug 2013 17:03:26 +0000 (18:03 +0100)]
ARM: 7811/1: locks: use early clobber in arch_spin_trylock

commit afa31d8eb86fc2f25083e675d57ac8173a98f999 upstream.

The res variable is written before we've finished with the input
operands (namely the lock address), so ensure that we mark it as `early
clobber' to avoid unintended register sharing.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Wang Weidong <wangweidong1@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoARM: 7812/1: rwlocks: retry trylock operation if strex fails on free lock
Will Deacon [Mon, 12 Aug 2013 17:04:05 +0000 (18:04 +0100)]
ARM: 7812/1: rwlocks: retry trylock operation if strex fails on free lock

commit 00efaa0250939dc148e2d3104fb3c18395d24a2d upstream.

Commit 15e7e5c1ebf5 ("ARM: 7749/1: spinlock: retry trylock operation if
strex fails on free lock") modifying our arch_spin_trylock to retry the
acquisition if the lock appeared uncontended, but the strex failed.

This patch does the same for rwlocks, which were missed by the original
patch.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Li Zefan <lizefan@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoARM: 7749/1: spinlock: retry trylock operation if strex fails on free lock
Will Deacon [Wed, 5 Jun 2013 10:27:26 +0000 (11:27 +0100)]
ARM: 7749/1: spinlock: retry trylock operation if strex fails on free lock

commit 15e7e5c1ebf556cd620c9b091e121091ac760f6d upstream.

An exclusive store instruction may fail for reasons other than lock
contention (e.g. a cache eviction during the critical section) so, in
line with other architectures using similar exclusive instructions
(alpha, mips, powerpc), retry the trylock operation if the lock appears
to be free but the strex reported failure.

Reported-by: Tony Thompson <anthony.thompson@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Li Zefan <lizefan@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoARM: 7957/1: add DSB after icache flush in __flush_icache_all()
Vinayak Kale [Wed, 12 Feb 2014 06:30:01 +0000 (07:30 +0100)]
ARM: 7957/1: add DSB after icache flush in __flush_icache_all()

commit 39544ac9df20f73e49fc6b9ac19ff533388c82c0 upstream.

Add DSB after icache flush to complete the cache maintenance operation.

Signed-off-by: Vinayak Kale <vkale@apm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoARM: 7953/1: mm: ensure TLB invalidation is complete before enabling MMU
Will Deacon [Fri, 7 Feb 2014 18:12:20 +0000 (19:12 +0100)]
ARM: 7953/1: mm: ensure TLB invalidation is complete before enabling MMU

commit bae0ca2bc550d1ec6a118fb8f2696f18c4da3d8e upstream.

During __v{6,7}_setup, we invalidate the TLBs since we are about to
enable the MMU on return to head.S. Unfortunately, without a subsequent
dsb instruction, the invalidation is not guaranteed to have completed by
the time we write to the sctlr, potentially exposing us to junk/stale
translations cached in the TLB.

This patch reworks the init functions so that the dsb used to ensure
completion of cache/predictor maintenance is also used to ensure
completion of the TLB invalidation.

Reported-by: Albin Tonnerre <Albin.Tonnerre@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoENGR00306165: ARM: dts: imx6q/dl: Modify the mag3110 interrupt flag
Luwei Zhou [Mon, 31 Mar 2014 07:11:34 +0000 (15:11 +0800)]
ENGR00306165: ARM: dts: imx6q/dl: Modify the mag3110 interrupt flag

This patch modify the sensor mag3110 interrupt flag to rising edege.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
10 years agoENGR00306133-2: ARM: dts: imx6sx-sdb: Add isl29023 dts support
Luwei Zhou [Wed, 2 Apr 2014 01:21:38 +0000 (09:21 +0800)]
ENGR00306133-2: ARM: dts: imx6sx-sdb: Add isl29023 dts support

This patch add isl29023 sensor device tree support on i.MX6SX-SDB
platform.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
10 years agoENGR00306133-1: input: misc: isl29023: Enable isl29023 driver for i.MX6SX-SDB platform
Luwei Zhou [Mon, 31 Mar 2014 06:31:23 +0000 (14:31 +0800)]
ENGR00306133-1: input: misc: isl29023: Enable isl29023 driver for i.MX6SX-SDB platform

The isl29023 share the same interrupt gpio with mag3110 sensor. This patch add shared
interrutp support.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
10 years agoENGR00306134-2: ARM: dts: imx6sx-sdb: Add mag3110 dts support
Luwei Zhou [Wed, 2 Apr 2014 01:15:16 +0000 (09:15 +0800)]
ENGR00306134-2: ARM: dts: imx6sx-sdb: Add mag3110 dts support

This patch add mag3110 sensor device tree support on i.MX6SX-SDB
platform.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
10 years agoENGR00306134-1: hwmon: mag3110 Enable mag3110 driver for i.MX6SX-SDB platform
Luwei Zhou [Mon, 31 Mar 2014 06:05:23 +0000 (14:05 +0800)]
ENGR00306134-1: hwmon: mag3110 Enable mag3110 driver for i.MX6SX-SDB platform

The mag3110 driver can support irq mode and polling mode. On i.MX6SX-SDB platorm,
mag3110 sensor and other sensor share the same GPIO interrutp line. The main modification:

* Modify the driver to support irq working mode.
* Add shared interrupt support in the driver.
* Fix the clear interrupt flag issue.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
10 years agoENGR00303701-3 ARM: clk: imx6sx: use the 132MHz for the WEIM
Huang Shijie [Tue, 18 Mar 2014 08:51:06 +0000 (16:51 +0800)]
ENGR00303701-3 ARM: clk: imx6sx: use the 132MHz for the WEIM

We set the maximum clock frequency for the WEIM module.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00303701-2 ARM: dts: imx6sx-19x19-arm2: enable the WEIM
Huang Shijie [Mon, 17 Mar 2014 07:01:11 +0000 (15:01 +0800)]
ENGR00303701-2 ARM: dts: imx6sx-19x19-arm2: enable the WEIM

enable the 32MB parallel NOR flash.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00303701-1 ARM: dts: imx6sx: add WEIM support
Huang Shijie [Mon, 17 Mar 2014 05:36:23 +0000 (13:36 +0800)]
ENGR00303701-1 ARM: dts: imx6sx: add WEIM support

Add the WEIM node and the pinctrl.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00306309 ARM:imx:imx6qdl: Fix procedure to switch the parent of LDB_DI_CLK
Ranjani Vaidyanathan [Mon, 31 Mar 2014 18:35:45 +0000 (13:35 -0500)]
ENGR00306309 ARM:imx:imx6qdl: Fix procedure to switch the parent of LDB_DI_CLK

Due to incorrect placement of the clock gate cell in the ldb_di[x]_clk tree,
the glitchy parent mux of ldb_di[x]_clk can cause a glitch to enter the
ldb_di_ipu_div divider. If the divider gets locked up, no ldb_di[x]_clk is
generated, and the LVDS display will hang when the ipu_di_clk is sourced from
ldb_di_clk.

To fix the problem, both the new and current parent of the ldb_di_clk should
be disabled before the switch. This patch ensures that correct steps are
followed when ldb_di_clk parent is switched in the beginning of boot.

Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@freescale.com>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
10 years agoENGR00306442-2 ARM: imx6sx: Fix audio noise during monaural audio playback
Nicolin Chen [Tue, 1 Apr 2014 08:33:08 +0000 (16:33 +0800)]
ENGR00306442-2 ARM: imx6sx: Fix audio noise during monaural audio playback

We should disable the pull up/down bit to the tx data pin as the pulling
operation would cause I2S signal distortion.

Thus this patches dropped the pull up/down bit of TXC pad and the useless
0x40000 bit from all of pads in the group.

Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
10 years agoENGR00306442-1 ARM: imx6sx: Merge SPDIF and AUDIO clocks into one gate clock
Nicolin Chen [Tue, 1 Apr 2014 08:23:37 +0000 (16:23 +0800)]
ENGR00306442-1 ARM: imx6sx: Merge SPDIF and AUDIO clocks into one gate clock

On Solo X, SPDIF and AUDIO clocks shares one single gate to switch two
entirely different clock routes:

SPDIF <--      <---- SPDIF_PODF ----....
 \    /
  gate1
 /    \
AUDIO <--      <---- AUDIO_PODF ----....

The two audio modules would easily cause conflict during clock operations
if running in the same time:

SPDIF <-- gate1 <---- SPDIF_PODF ----....

AUDIO <-- gate1 <---- AUDIO_PODF ----....

To keep them safe, we here have to merge them into one gate clock and limit
their rates and parent identical:

<---- SPDIF_PODF ----....
       /
SPDIF, AUDIO <-- gate1
       \
<---- AUDIO_PODF ----....

[ The only disadvantage of this modification is that we can not separately
  set a different clock rates and clock sources to SPDIF and AUDIO clock. ]

Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
10 years agoENGR00305624-2 ASoC: imx-hdmi-dma: Correct the appl pointer
Nicolin Chen [Tue, 25 Mar 2014 03:46:35 +0000 (11:46 +0800)]
ENGR00305624-2 ASoC: imx-hdmi-dma: Correct the appl pointer

We might not be able to get appl_ptr, so we estimated it by using hw_ptr,
while the distance between then should not be 2 * priv->period_bytes
initially but 8 * priv->period_bytes as we pri-filled one entire buffer
size at the beginning. The driver's memory access might be overlapped
with ALSA's buffer updating. So this patch fixes this inaccurate distance.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
(cherry picked from commit 5d0d4e1558fa0c235691436e1c5d26d9c8950775)

10 years agoENGR00305624-1 ASoC: imx-hdmi-dma: Use neon data copy function
Nicolin Chen [Thu, 6 Mar 2014 11:04:30 +0000 (19:04 +0800)]
ENGR00305624-1 ASoC: imx-hdmi-dma: Use neon data copy function

Use neon data copy function as default to improve data copy performance so that
we can prevent some noise issue happening to HDMI audio due to the performance
issue.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
(cherry picked from commit aca6d0c4c96d658021bda4b5a4e454076e27e9f2)

10 years agoENGR00304914-1 ASoC: imx-hdmi-dma: Limit period size for 6DQ
Nicolin Chen [Fri, 21 Mar 2014 09:30:44 +0000 (17:30 +0800)]
ENGR00304914-1 ASoC: imx-hdmi-dma: Limit period size for 6DQ

The HDMI IP in i.MX6DQ has a bug that it limits the dma period size within 8K.

Patch 'ENGR00300188-1 ASoC: imx-hdmi-dma: Double the buffer and period sizes'
doubled the period size which works great with Dual Lite but broke the HDMI
audio function on DQ. Thus fix it for 6DQ case.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
(cherry picked from commit 5b5f5e3f7b1dd41022e6e587460fd912fcd481d0)

10 years agoASoC: fsl_sai: Improve fsl_sai_isr()
Nicolin Chen [Fri, 28 Mar 2014 11:39:25 +0000 (19:39 +0800)]
ASoC: fsl_sai: Improve fsl_sai_isr()

This patch improves fsl_sai_isr() in these ways:
1, Add comment for mask fetching code.
2, Return IRQ_NONE if the IRQ is not for the device.
3, Use regmap_write() instead of regmap_update_bits().

Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 4a16d85ffa819902f595eac6677788eddc0e6628)

10 years agoASoC: fsl_sai: Add isr to deal with error flag
Nicolin Chen [Thu, 27 Mar 2014 11:06:59 +0000 (19:06 +0800)]
ASoC: fsl_sai: Add isr to deal with error flag

It's quite cricial to clear error flags because SAI might hang if getting
FIFO underrun during playback (I haven't confirmed the same issue on Rx
overflow though).

So this patch enables those irq and adds isr() to clear the flags so as to
keep playback entirely safe.

Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit e2681a1bf5ae053426a6c5c1daaed17b2f95efe6)

10 years agoENGR00305648-8 dma: imx-sdma: Add SAI script support
Nicolin Chen [Fri, 28 Mar 2014 06:21:52 +0000 (14:21 +0800)]
ENGR00305648-8 dma: imx-sdma: Add SAI script support

This patch adds SAI script support to imx-sdma.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
10 years agoENGR00305648-7 ARM: dts: Add ESAI and SAI(Disabled) for imx6sx-19x19-arm2 board
Nicolin Chen [Thu, 27 Mar 2014 12:04:31 +0000 (20:04 +0800)]
ENGR00305648-7 ARM: dts: Add ESAI and SAI(Disabled) for imx6sx-19x19-arm2 board

This patch adds nodes for ESAI and SAI for imx6sx-19x19-arm2 board
and enables ESAI only due to pin conflict.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
10 years agoENGR00305648-6 ASoC: imx-cs42888: Merge imx6sx-arm2 configuration with old imx6qdl...
Nicolin Chen [Thu, 27 Mar 2014 12:02:35 +0000 (20:02 +0800)]
ENGR00305648-6 ASoC: imx-cs42888: Merge imx6sx-arm2 configuration with old imx6qdl-sabreauto

To simplify the code, we use one unified configuration for both imx6sx-arm2
and the old imx6qdl-sabreauto board.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
10 years agoENGR00305648-5 ARM: imx6sx: set Audio clocks to 24.576MHz
Nicolin Chen [Thu, 27 Mar 2014 11:51:15 +0000 (19:51 +0800)]
ENGR00305648-5 ARM: imx6sx: set Audio clocks to 24.576MHz

This patch sets a default clock 24.576MHz for ESAI clock and swtich the
source of external AUDIO clock from pll4 to pll3 since 24.0Mhz would be
more likely recommanded than 24.576MHz to WM8962 audio codec.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
10 years agoENGR00305648-4 ARM: imx6sx: Add SPDIF support to 19x19 arm2 board
Nicolin Chen [Wed, 26 Mar 2014 03:18:18 +0000 (11:18 +0800)]
ENGR00305648-4 ARM: imx6sx: Add SPDIF support to 19x19 arm2 board

Add SPDIF support to 19x19 arm2 board and create a new dts for it due to
pin conflict.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
10 years agoENGR00305648-3 ARM: imx6sx: Add audio nodes to dtsi
Nicolin Chen [Wed, 26 Mar 2014 03:11:25 +0000 (11:11 +0800)]
ENGR00305648-3 ARM: imx6sx: Add audio nodes to dtsi

This patch adds SPDIF SAI ASRC_P2P and ESAI support to imx6sx.dtsi

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
10 years agoENGR00305648-2 ARM: imx6sx: Add SAI ipg clock to the clock tree
Nicolin Chen [Wed, 26 Mar 2014 02:59:01 +0000 (10:59 +0800)]
ENGR00305648-2 ARM: imx6sx: Add SAI ipg clock to the clock tree

There's one clock for SAI memory access missing in the clock tree. Thus add it.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
10 years agoENGR00305648-1 ASoC: imx-sgtl5000: Support non-ssi cpu-dai
Nicolin Chen [Tue, 25 Mar 2014 12:56:18 +0000 (20:56 +0800)]
ENGR00305648-1 ASoC: imx-sgtl5000: Support non-ssi cpu-dai

The current imx-sgtl5000 driver always attaches the cpu-dai to ssi while
in fact it could be attached to other cpu-dais like SAI. Thus this patch
use a general code to support another cpu-dai. And meanwhile update the
devicetree for i.MX6 Series.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
10 years agoENGR00306276: iMX6: Add workaround for ARM errata 761320 and 794072
Nitin Garg [Sat, 29 Mar 2014 22:32:22 +0000 (17:32 -0500)]
ENGR00306276: iMX6: Add workaround for ARM errata 761320 and 794072

These are Category B, hence workaround is essential.

Signed-off-by: Nitin Garg <nitin.garg@freescale.com>
10 years agoENGR00306257 [#1027]fix system hang up issue caused by GPU
Richard Liu [Tue, 1 Apr 2014 01:58:49 +0000 (09:58 +0800)]
ENGR00306257 [#1027]fix system hang up issue caused by GPU

This issue happens when multiple thread is trying to idle GPU at the
same time, root cause is some wrong logic related with powerMutex which
cause cpu still access GPU AHB register after GPU is suspend(clock off),
that cause the bus lockup and make the whole system hang.

Signed-off-by: Richard Liu <r66033@freescale.com>
Acked-by: Jason Liu
10 years agoENGR00306156 ARM: dts: imx6sx-sdb: add gpio key support
Anson Huang [Mon, 31 Mar 2014 07:22:46 +0000 (15:22 +0800)]
ENGR00306156 ARM: dts: imx6sx-sdb: add gpio key support

Add GPIO key support on i.MX6SX-SDB, see below mapping:

KEY_FUNC1 -> KEY_VOLUMEUP;
KEY_FUNC2 -> KEY_VOLUMEDOWN;

Signed-off-by: Anson Huang <b20788@freescale.com>
10 years agoENGR00306171 ARM: imx6x: fix imx6_enet_mac_init() function build warning
Fugang Duan [Mon, 31 Mar 2014 07:12:37 +0000 (15:12 +0800)]
ENGR00306171 ARM: imx6x: fix imx6_enet_mac_init() function build warning

Use compiler 4.4.4-glibc-2.11.1-multilib-1.0 build kernel, there have
build warning:
arch/arm/mach-imx/mach-imx6q.c:240: warning: 'macaddr_high' may be used uninitialized in this function
arch/arm/mach-imx/mach-imx6q.c:240: warning: 'macaddr1_high' may be used uninitialized in this function

For 4.7/4.8 compiler build, no warning report.

The patch just to avoid the build warning.

Signed-off-by: Fugang Duan <B38611@freescale.com>
10 years agoENGR00306137 ARM: imx_v7_defconfig: enable 802.2 LLC
Fugang Duan [Mon, 31 Mar 2014 05:24:51 +0000 (13:24 +0800)]
ENGR00306137 ARM: imx_v7_defconfig: enable 802.2 LLC

Enable IEEE 802.2 LLC protocol.

Signed-off-by: Fugang Duan <B38611@freescale.com>
10 years agoENGR00305598-4 ARM: dts: imx6sx: add new DTS file to enable LCDIF1
Robby Cai [Thu, 27 Mar 2014 10:55:21 +0000 (18:55 +0800)]
ENGR00305598-4 ARM: dts: imx6sx: add new DTS file to enable LCDIF1

Due to the CSI and LCDIF1 shares the same pin MX6SX_PAD_LCD1_ENABLE.

Signed-off-by: Robby Cai <R63905@freescale.com>
10 years agoENGR00305598-3 ARM: dts: imx6sx: add csi and v4l2 capture support
Robby Cai [Thu, 27 Mar 2014 10:41:01 +0000 (18:41 +0800)]
ENGR00305598-3 ARM: dts: imx6sx: add csi and v4l2 capture support

Add csi camera support and csi v4l2 capture support on i.MX6SX 19x19 ARM2 board.
Since MX6SX_PAD_LCD1_ENABLE pin is shared between CSI and LCDIF1. LCDIF1 is
disabled by default.

Signed-off-by: Robby Cai <R63905@freescale.com>
10 years agoENGR00305598-2 ARM: dts: imx6sx: Add ov5640 camera support on imx6sx-19x19-arm2
Robby Cai [Thu, 27 Mar 2014 10:20:57 +0000 (18:20 +0800)]
ENGR00305598-2 ARM: dts: imx6sx: Add ov5640 camera support on imx6sx-19x19-arm2

Add ov5640 camera support on i.MX6SX 19x19 ARM2 board.
Add new pin group for CSI to reflect the change on this board.

Signed-off-by: Robby Cai <R63905@freescale.com>
10 years agoENGR00305598-1 ARM: dts: imx6sx-19x19-arm2: Add new pin control group for I2C2
Robby Cai [Thu, 27 Mar 2014 10:13:18 +0000 (18:13 +0800)]
ENGR00305598-1 ARM: dts: imx6sx-19x19-arm2: Add new pin control group for I2C2

On i.MX6SX 19x19 ARM2 board, two different PINs are used.
This patch reflects this change.

Signed-off-by: Robby Cai <R63905@freescale.com>
10 years agoENGR00305272 net: fec: keep VLAN tag in default
Fugang Duan [Mon, 24 Mar 2014 09:56:35 +0000 (17:56 +0800)]
ENGR00305272 net: fec: keep VLAN tag in default

By default, keep VLAN tag and tranfer to user.
If remove the VLAN tag, enable the quirk "FEC_QUIRK_HAS_VLAN" for
enet IP.

Signed-off-by: Fugang Duan <B38611@freescale.com>
10 years agoENGR00305549 ARM: imx6sx-sdb: enable USB function
Peter Chen [Thu, 27 Mar 2014 07:23:02 +0000 (15:23 +0800)]
ENGR00305549 ARM: imx6sx-sdb: enable USB function

usbotg1 is for dual-role function, usbotg2 is dedicated
to host function.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
10 years agoENGR00305465 MXC IPUv3 fb: Fix permissions of fsl_disp_property sysfs entry
Julien Olivain [Wed, 26 Mar 2014 17:38:02 +0000 (18:38 +0100)]
ENGR00305465 MXC IPUv3 fb: Fix permissions of fsl_disp_property sysfs entry

Set the correct permissions of the fsl_disp_property sysfs entry.

Acked-by: Liu Ying <Ying.Liu@freescale.com>
Signed-off-by: Julien Olivain <julien.olivain@freescale.com>
10 years agoENGR00305106-3 ARM: dts: imx6sx-sdb: enable the uart5
Huang Shijie [Tue, 25 Mar 2014 07:45:32 +0000 (15:45 +0800)]
ENGR00305106-3 ARM: dts: imx6sx-sdb: enable the uart5

enable the uart5 for Bluetooth.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00305106-2 ARM: dts: imx6sx: add a pinctrl for uart5
Huang Shijie [Tue, 25 Mar 2014 07:38:02 +0000 (15:38 +0800)]
ENGR00305106-2 ARM: dts: imx6sx: add a pinctrl for uart5

This pinctrl is used by the imx6sx-sdb board.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00305106-1 ARM: dts: imx6sx: add more UART nodes
Huang Shijie [Tue, 25 Mar 2014 07:15:49 +0000 (15:15 +0800)]
ENGR00305106-1 ARM: dts: imx6sx: add more UART nodes

Add uart3 ~ uart5 DT nodes which are supported by the imx6sx.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00305362 ARM: dts: imx6sx: Add gpio for wm8962 headphone detection
Shengjiu Wang [Wed, 26 Mar 2014 08:53:46 +0000 (16:53 +0800)]
ENGR00305362 ARM: dts: imx6sx: Add gpio for wm8962 headphone detection

update devicetree for wm8962 headphone detection.

Signed-off-by: Shengjiu Wang <b02247@freescale.com>
10 years agoENGR00305067-10 ARM: dts: imx6sx-sdb: Support Hannstar CABC
Liu Ying [Tue, 25 Mar 2014 06:51:14 +0000 (14:51 +0800)]
ENGR00305067-10 ARM: dts: imx6sx-sdb: Support Hannstar CABC

This patch adds a device tree node for the Hannstar CABC function.
We currently disable the CABC feature since it makes a panel's
backlight unstable when display content varies considerably from
time to time.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00305067-9 ARM: dts: imx6sx-sdb: Add pwm4 backlight support
Liu Ying [Tue, 25 Mar 2014 06:48:00 +0000 (14:48 +0800)]
ENGR00305067-9 ARM: dts: imx6sx-sdb: Add pwm4 backlight support

This patch adds pwm4 backlight support for the imx6sx-sdb platform.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00305067-8 ARM: dts: imx6sx-sdb: Specify backlight1's fb-names
Liu Ying [Tue, 25 Mar 2014 06:42:56 +0000 (14:42 +0800)]
ENGR00305067-8 ARM: dts: imx6sx-sdb: Specify backlight1's fb-names

This patch specifies the devicetree node backlight1's property
fb-names to be 'mxs-lcdif0' so that the pwm3 backlight device
will only respond to this framebuffer's blank/unblank events.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00305067-7 ARM: dts: imx6sx-sdb: Rename pwm3 backlight node
Liu Ying [Tue, 25 Mar 2014 06:39:01 +0000 (14:39 +0800)]
ENGR00305067-7 ARM: dts: imx6sx-sdb: Rename pwm3 backlight node

This patch renames the backlight node based on pwm3 from 'backlight'
to 'backlight1' so that we may add the upcoming backlight node based
on pwm4 which is named to 'backlight2'.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00305067-6 ARM: dts: imx6sx-sdb: Add LVDS framebuffer support
Liu Ying [Tue, 25 Mar 2014 06:26:33 +0000 (14:26 +0800)]
ENGR00305067-6 ARM: dts: imx6sx-sdb: Add LVDS framebuffer support

This patch adds LCDIF2 devicetree node and LDB devicetree node
to the devicetree file imx6sx-sdb.dts so that the framebuffer based
on LCDIF2/LVDS can be supported.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00305067-5 ARM: dts: imx6sx-sdb: Change LCDIF1 display node name
Liu Ying [Tue, 25 Mar 2014 06:20:23 +0000 (14:20 +0800)]
ENGR00305067-5 ARM: dts: imx6sx-sdb: Change LCDIF1 display node name

This patch changes the display node name of LCDIF1 from 'display' to
'display0' so that we may add the upcoming display node of LCDIF2
which is named to 'display1'.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00305067-4 ARM: dtsi: imx6sx: Add LCDIF alias entries
Liu Ying [Tue, 25 Mar 2014 06:16:31 +0000 (14:16 +0800)]
ENGR00305067-4 ARM: dtsi: imx6sx: Add LCDIF alias entries

This patch adds alias entries for LCDIF1 and LCDIF2.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00305067-3 video: mxsfb: Add DT alias index info to fb id
Liu Ying [Tue, 25 Mar 2014 06:06:17 +0000 (14:06 +0800)]
ENGR00305067-3 video: mxsfb: Add DT alias index info to fb id

Multiple LCDIFs may be embedded in a SoC.  A real example is the
i.MX6sx SoC.  There are two LCDIFs embedded in it.  In order to
distinguish bewteen multiple framebuffers based on different
LCDIFs, this patch adds devicetree alias index information to a
certain framebuffer's fix id.  The fix id is in the 'mxs-lcdifx'
fashion.  If there is no alias node defined for a lcdif node, the
fix id will be 'mxs-lcdif'.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00305067-2 media: v4l2: mxc pxp output: Weaken fb id check
Liu Ying [Tue, 25 Mar 2014 05:58:17 +0000 (13:58 +0800)]
ENGR00305067-2 media: v4l2: mxc pxp output: Weaken fb id check

This patch uses strncmp() to replace strcmp() to weaken framebuffer
id check so that the mxs framebuffer driver may use different names
for standalone framebuffers.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00305067-1 video: pwm backlight: Add DT check fb support
Liu Ying [Wed, 19 Mar 2014 05:20:30 +0000 (13:20 +0800)]
ENGR00305067-1 video: pwm backlight: Add DT check fb support

A system based on a devicetree kernel may have multiple framebuffers
and each framebuffer has its own pwm backlight.  A specific pwm backlight
should be enabled/disabled according to its framebuffer unblank/blank
events respectively.  The backlight device's callback check_fb() is the
method the backlight core driver uses to determine if a backlight device
should respond to a certain framebuffer blank/unblank events or not.
This patch adds the callback check_fb() for the pwm backlight driver with
devicetree supported.  Users should list every framebuffer name in the
string property fb-names of a pwm backlight devicetree node, otherwise,
the backlight device will respond to every framebuffer's blank/unblank
events in a system.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agomtd: nand: fix GET/SET_FEATURES address on 16-bit devices
David Mosberger [Fri, 21 Mar 2014 22:05:10 +0000 (16:05 -0600)]
mtd: nand: fix GET/SET_FEATURES address on 16-bit devices

GET_FEATURES and SET_FEATURES also need byte-addressing on 16-bit devices.

Signed-off-by: David Mosberger <davidm@egauge.net>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00300658-6 csi: imx6sx: add clock handling in driver
Robby Cai [Wed, 19 Mar 2014 10:27:20 +0000 (18:27 +0800)]
ENGR00300658-6 csi: imx6sx: add clock handling in driver

According to IC team, DCIC1 clock is used in the IPSYNC for CSI1 and
DCIC2 clock is used in the IPSYNC for the CSI2. So dcic clock is needed for CSI.

The display axi clock is a clock gating newly added on imx6sx.
It needs to be enabled for lcdif/pxp/csi/pcie to work.

CSI clock seems to be implemented different other than other SoCs.
It needs also to be enabled before access the registers, otherwise
the system will hang.

Signed-off-by: Robby Cai <R63905@freescale.com>
10 years agoENGR00300658-5 ARM: dts: imx6sx: Add clock device node
Robby Cai [Thu, 20 Mar 2014 12:35:25 +0000 (20:35 +0800)]
ENGR00300658-5 ARM: dts: imx6sx: Add clock device node

on imx6sx need to enable display_axi, dcic and csi clock.
display_axi, dcic is not needed on imx6sl.

Signed-off-by: Robby Cai <R63905@freescale.com>
10 years agoENGR00300658-4 csi: imx6sx: add CSI_ENABLE bit control in driver
Robby Cai [Wed, 26 Feb 2014 15:50:34 +0000 (23:50 +0800)]
ENGR00300658-4 csi: imx6sx: add CSI_ENABLE bit control in driver

on imx6sx, a new bit CSI_ENABLE is added in IC design.
This patch adds this support for CSI control.

Signed-off-by: Robby Cai <R63905@freescale.com>
10 years agoENGR00300658-3 ARM: dts: imx6sx: add camera ov5640 support on imx6sx-sdb
Robby Cai [Mon, 24 Feb 2014 11:51:35 +0000 (19:51 +0800)]
ENGR00300658-3 ARM: dts: imx6sx: add camera ov5640 support on imx6sx-sdb

Add ov5640 camera support on imx6sx-sdb

Signed-off-by: Robby Cai <R63905@freescale.com>
10 years agoENGR00300658-2 ARM: dts: imx6sx: add csi and v4l2 capture support on imx6sx-sdb
Robby Cai [Mon, 24 Feb 2014 06:52:51 +0000 (14:52 +0800)]
ENGR00300658-2 ARM: dts: imx6sx: add csi and v4l2 capture support on imx6sx-sdb

Add CSI module and v4l2 capture support on imx6sx-sdb board

Note1: CSI has pin conflict with LCDIF1 on imx6sx-sdb board.
So camera connector(J13) and LCD expansion connector(J11) can not be used
at the same time. As a result, a new DTS file for LCDIF1 is added.

Note2: Camera connector(J13) can not be used without an adapter card (during
manufacturing process so far) because footprint is mirrored on Sabre-SDB.
This patch is to verify camera feature via LCD connector(J11).

Signed-off-by: Robby Cai <R63905@freescale.com>
10 years agoENGR00300658-1 clk: imx6sx: correct csi parent clock
Robby Cai [Mon, 24 Feb 2014 11:52:22 +0000 (19:52 +0800)]
ENGR00300658-1 clk: imx6sx: correct csi parent clock

correct csi parent clock

Signed-off-by: Robby Cai <R63905@freescale.com>
10 years agoENGR00304860-3 ARM: dts: imx6sx-17x17-arm: add the ECSPI4 DT node
Huang Shijie [Mon, 24 Mar 2014 06:55:01 +0000 (14:55 +0800)]
ENGR00304860-3 ARM: dts: imx6sx-17x17-arm: add the ECSPI4 DT node

Since it has pin conflict with SD3, the default status is "disabled".

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00304860-2 ARM: dts: imx6sx: add pinctrl for ECSPI4
Huang Shijie [Mon, 24 Mar 2014 06:47:47 +0000 (14:47 +0800)]
ENGR00304860-2 ARM: dts: imx6sx: add pinctrl for ECSPI4

Add the pinctrl for ECSPI4. We use this pinctrl in the imx6sx-17x17-arm2
board.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00304860-1 ARM: dts: imx6sx: add the DT nodes for ECSPI
Huang Shijie [Mon, 24 Mar 2014 06:36:54 +0000 (14:36 +0800)]
ENGR00304860-1 ARM: dts: imx6sx: add the DT nodes for ECSPI

Add four DT nodes for ECSPI.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00304676-3: pci: host: imx6: remove gpc operate code
Robin Gong [Fri, 21 Mar 2014 10:40:25 +0000 (18:40 +0800)]
ENGR00304676-3: pci: host: imx6: remove gpc operate code

remove the code about gpc, since it will be done in gpc driver.
That makes driver more clean and better.

Signed-off-by: Robin Gong <b38343@freescale.com>
10 years agoENGR00304676-2 ARM: dts: imx6sx: add new pcie regulator for gpc
Robin Gong [Fri, 21 Mar 2014 10:38:48 +0000 (18:38 +0800)]
ENGR00304676-2 ARM: dts: imx6sx: add new pcie regulator for gpc

add new pcie regulator for gpc driver to install the right notify
function.

Signed-off-by: Robin Gong <b38343@freescale.com>
10 years agoENGR00304676-1 ARM: imx: gpc: update gpc driver for turning on PCIe
Robin Gong [Fri, 21 Mar 2014 10:28:43 +0000 (18:28 +0800)]
ENGR00304676-1 ARM: imx: gpc: update gpc driver for turning on PCIe

For PCIe module on i.mx6sx, need send one power request to PCIe by GPC.
So we need update gpc driver for the new requirement. We implement it by
regulator notify framwork as pu power on/off in gpc driver. As PCIe use
fs_initcall, we need make sure gpc driver ready before PCIe driver probe.
Otherwise, cause system hang during PCIe driver probe, because the notify
NOT installed ready and the gpc will NOT power on PCIe.

Signed-off-by: Robin Gong <b38343@freescale.com>
10 years agoENGR00304574-6 ARM: dts: imx6sx-17x17: add the gpmi DT node
Huang Shijie [Fri, 21 Mar 2014 07:53:00 +0000 (15:53 +0800)]
ENGR00304574-6 ARM: dts: imx6sx-17x17: add the gpmi DT node

Add the gpmi DT node.
Since it has pin conflict with qspi, we disable it by default.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00304574-5 mtd: gpmi: add support for imx6sx
Huang Shijie [Fri, 21 Mar 2014 07:30:54 +0000 (15:30 +0800)]
ENGR00304574-5 mtd: gpmi: add support for imx6sx

This patch adds the gpmi support for imx6sx.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00304574-4 mtd: gpmi: add gpmi_devdata{} to simplify the code
Huang Shijie [Fri, 21 Mar 2014 05:30:21 +0000 (13:30 +0800)]
ENGR00304574-4 mtd: gpmi: add gpmi_devdata{} to simplify the code

More and more chips use the GPMI controller, but these chips may use
different version of the IPs for GPMI and BCH. The different IPs have
different features, such as the BCH's maximum ECC strength:

     imx23/imx28 -- the BCH's maximum ECC strength is 20
     imx6q       -- the BCH's maximum ECC strength is 40
     imx6sx      -- the BCH's maximum ECC strength is 62

This patch does the following things:

  [1] add a new data structure, gpmi_devdata{}, to store the information for
      each IP. Beside the IP version, we stores the following informations:
         <1> BCH's maximum ECC strength.
         <2> the maximum chain delay in the EDO mode.

      but we may add more information in future.

  [2] add the gpmi_devdata_imx{23|28|6q} to replace the gpmi_ids.

  [3] simplify the code by using the ECC strength from gpmi_devdata, such as
      gpmi_check_ecc() and legacy_set_geometry();

  [4] use the maximum chain delay to initialize the EDO mode,
      see gpmi_compute_edo_timing().

  [5] rewrite the macros, such GPMI_IS_MX{23|28|6Q}.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00304574-3 ARM: dts: imx6sx: add the DT node for gpmi
Huang Shijie [Fri, 21 Mar 2014 02:38:45 +0000 (10:38 +0800)]
ENGR00304574-3 ARM: dts: imx6sx: add the DT node for gpmi

Add the DT node for gpmi, including the pinctrl for gpmi.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00304574-2 dma: mxs-dma: add the dependency for SOC_IMX6SX
Huang Shijie [Fri, 21 Mar 2014 02:32:54 +0000 (10:32 +0800)]
ENGR00304574-2 dma: mxs-dma: add the dependency for SOC_IMX6SX

Add the dependency for imx6sx.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00304574-1 ARM: dts: imx6sx: add dt node for apbh-dma
Huang Shijie [Fri, 21 Mar 2014 02:30:58 +0000 (10:30 +0800)]
ENGR00304574-1 ARM: dts: imx6sx: add dt node for apbh-dma

Add the dt node for apbh-dma.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00304827 net: fec: init the phy_id to invalid address
Fugang Duan [Fri, 21 Mar 2014 03:51:13 +0000 (11:51 +0800)]
ENGR00304827 net: fec: init the phy_id to invalid address

Init the phy_id to invalid address in .probe() function.

Signed-off-by: Fugang Duan <B38611@freescale.com>
10 years agoENGR00303542-4 mach:Update gpu clock to 720M
Loren HUANG [Wed, 26 Feb 2014 11:02:30 +0000 (19:02 +0800)]
ENGR00303542-4 mach:Update gpu clock to 720M

-Designed team confirmed GC400T is designed to run 720M.
-Update the clock source for GC400T.

Signed-off-by: Loren HUANG <b02279@freescale.com>
10 years agoENGR00303542-3 dts:Add gpu description into imx6sx dtsi
Loren HUANG [Wed, 26 Feb 2014 11:01:05 +0000 (19:01 +0800)]
ENGR00303542-3 dts:Add gpu description into imx6sx dtsi

-Add gpu description into imx6sx dtsi to enable gc400t.

Signed-off-by: Loren HUANG <b02279@freescale.com>
10 years agoENGR00303542-2 Change pu dummy for i.mx6sx
Loren HUANG [Thu, 20 Mar 2014 10:27:15 +0000 (18:27 +0800)]
ENGR00303542-2 Change pu dummy for i.mx6sx

-Change pu dummy for i.mx6sx to allow gpu power operation

Signed-off-by: Robin Gong <b38343@freescale.com>
Signed-off-by: Loren Huang <b02279@freescale.com>
10 years agoENGR00303542-1 gpu:Update gpu kernel driver to 5.0.9.1 release
Loren HUANG [Wed, 19 Mar 2014 10:50:24 +0000 (18:50 +0800)]
ENGR00303542-1 gpu:Update gpu kernel driver to 5.0.9.1 release

-Update gpu kernel driver to 5.0.9.1 release

Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Shawn Guo
10 years agoENGR00304563-2 ARM: dts: add fixed phy address to imx6sx 17x17/19x19 arm2 boards
Fugang Duan [Fri, 21 Mar 2014 00:59:40 +0000 (08:59 +0800)]
ENGR00304563-2 ARM: dts: add fixed phy address to imx6sx 17x17/19x19 arm2 boards

Add fixed phy-id property for imx6sx 17x17/19x19 arm2 boards.

Signed-off-by: Fugang Duan <B38611@freescale.com>
10 years agoENGR00304563-1 net: fec: add fixed phy address support
Fugang Duan [Fri, 21 Mar 2014 00:51:09 +0000 (08:51 +0800)]
ENGR00304563-1 net: fec: add fixed phy address support

Add fixed phy address support.

i.MX6sx has two MACs, and MAC1 mdio bus connects to two phys which
means MAC2 share MDIO bus with MAC1. So for any one of the two MACn,
which can scan two phy address. For current implementment, it selects
the little address for the default address and binding with the phy.
For the situation, user can add the fixed phy address to DTS.

Signed-off-by: Fugang Duan <B38611@freescale.com>
10 years agoENGR00303200 [IPU Split] - Vertical line in downsaled image with ratio less 2
Oliver Brown [Wed, 12 Mar 2014 16:21:02 +0000 (11:21 -0500)]
ENGR00303200 [IPU Split] - Vertical line in downsaled image with ratio less 2

The optimal resize ratio should be used if the downscaler is not needed. This
will fix a vertical line in the center for some scaling ratios.

Signed-off-by: Oliver Brown <oliver.brown@freescale.com>
10 years agoENGR00303778-2 ARM: dts: imx6sx-19x19-arm2: add pxp and v4l2 output support
Robby Cai [Wed, 19 Mar 2014 10:59:47 +0000 (18:59 +0800)]
ENGR00303778-2 ARM: dts: imx6sx-19x19-arm2: add pxp and v4l2 output support

Enable pxp and v4l2 output driver on imx6sx 19x19 ARM2 board.

Signed-off-by: Robby Cai <R63905@freescale.com>
10 years agoENGR00303778-1 ARM: dts: imx6sx-sdb: add pxp v4l2 output support on SDB
Robby Cai [Wed, 19 Mar 2014 10:38:19 +0000 (18:38 +0800)]
ENGR00303778-1 ARM: dts: imx6sx-sdb: add pxp v4l2 output support on SDB

Add pxp v4l2 output support

Signed-off-by: Robby Cai <R63905@freescale.com>
10 years agoENGR00304446 net: fec: free resource after phy probe fail
Fugang Duan [Thu, 20 Mar 2014 09:24:02 +0000 (17:24 +0800)]
ENGR00304446 net: fec: free resource after phy probe fail

Current flow call .fec_enet_close() function after phy probe
fail, which is not right. It must free memory and disable all
related clocks when there has no phy connection or phy probe
fail.

Signed-off-by: Fugang Duan <B38611@freescale.com>