]> git.kernelconcepts.de Git - karo-tx-linux.git/log
karo-tx-linux.git
9 years agoENGR00289279 mmc: sdhci: get runtime pm when sdio irq is enabled
Dong Aisheng [Fri, 15 Nov 2013 09:54:36 +0000 (17:54 +0800)]
ENGR00289279 mmc: sdhci: get runtime pm when sdio irq is enabled

SDIO cards may need clock to send the card interrupt to host.
Thus, we get runtime pm when sdio irq is enabled to prevent the clock
resource is released and put it when sdio irq is disabled.

Signed-off-by: Dong Aisheng <b29396@freescale.com>
(cherry picked from commit 3e8a2074a9bf37e9267f78e409898afd4b0d837a)

9 years agoENGR00288842 mmc: sdhci-esdhc-imx: add ADMA Length Mismatch errata fix
Dong Aisheng [Tue, 19 Nov 2013 10:10:27 +0000 (18:10 +0800)]
ENGR00288842 mmc: sdhci-esdhc-imx: add ADMA Length Mismatch errata fix

The uSDHC has an ADMA Length Mismatch errata ERR004536 which may cause ADMA
work abnormally. The errata has already been fixed for i.MX6Q TO1.2
and i.MX6DL TO1.1 by enable the bit 7 in 0x6c register.
Unfortunately this fix is not included in i.MX6SL.
So we disable ADMA for i.MX6SL and use SDMA instead.

Signed-off-by: Dong Aisheng <b29396@freescale.com>
(cherry picked from commit 885c943ca13d2975651a1d0732dc8866457c85e9)

9 years agoENGR00287331-2 sdhci-esdhc-imx: use bus freq in runtime pm
Dong Aisheng [Mon, 11 Nov 2013 06:53:58 +0000 (14:53 +0800)]
ENGR00287331-2 sdhci-esdhc-imx: use bus freq in runtime pm

Request BUS_FREQ_HIGH when bus is busy and then release BUS_FREQ_HIGH
when bus becomes idle.

Signed-off-by: Dong Aisheng <b29396@freescale.com>
(cherry picked from commit 64994f7115573c9ede53b51536b2c15f7cf0112a)

9 years agoENGR00240226-07 mmc: add delay after CMD6 befoer sending CMD13 for sandisk
Ryan QIAN [Wed, 16 Jan 2013 02:23:28 +0000 (10:23 +0800)]
ENGR00240226-07 mmc: add delay after CMD6 befoer sending CMD13 for sandisk

- Some sandisk emmc cards need certain delay befor sending cmd13 after
cmd6. Original CR: ENGR174296 (commit: fd031f9)

Acked-by: Aisheng Dong <b29396@freescale.com>
Signed-off-by: Ryan QIAN <b32804@freescale.com>
(cherry picked from commit f942bf1db36355d46f38792601594949f3f2c71b)

9 years agonet: fec: fix code identation
Nimrod Andy [Fri, 19 Sep 2014 06:26:03 +0000 (14:26 +0800)]
net: fec: fix code identation

There have extra identation before .skb_copy_to_linear_data_offset(),
this patch just remove the identation.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
9 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>
(cherry picked from commit cb5dfaf44d2fdbce4329c2e4762e8450c8cd3b3c)

9 years agoENGR00321941 ASoC: fsl_spdif: fix that can't get the Rx Sample Rate
Shengjiu Wang [Mon, 7 Jul 2014 11:03:21 +0000 (19:03 +0800)]
ENGR00321941 ASoC: fsl_spdif: fix that can't get the Rx Sample Rate

The SRPC register should be volatile, LOCK bit is set by the hardware.

Signed-off-by: Shengjiu Wang <b02247@freescale.com>
(cherry picked from commit 35ac9096cbe158962e779fd9bc64aeb74abbc745)

9 years agoENGR00320241 ASoC: fsl_spdif: Complete the volatile register list
Nicolin Chen [Tue, 24 Jun 2014 06:44:18 +0000 (14:44 +0800)]
ENGR00320241 ASoC: fsl_spdif: Complete the volatile register list

Not only SIS but also other read-only or write-only reigsters should be marked
as volatile register so as not to let regcache cache them. So this patch just
adds those missing registers.

Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
(cherry picked from commit 56ad235ba23274fc05422ad4b13153d1c56801c4)

9 years agoENGR00318773-10 ASoC: imx-audmux: Add driver suspend and resume to support MEGA Fast
Nicolin Chen [Thu, 15 May 2014 10:53:25 +0000 (18:53 +0800)]
ENGR00318773-10 ASoC: imx-audmux: Add driver suspend and resume to support MEGA Fast

For i.MX6 SoloX, there is a mode of the SoC to shutdown all power source of
modules during system suspend and resume procedure. Thus, AUDMUX needs to
save all the values of registers before the system suspend and restore them
after the system resume.

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

9 years agoENGR00318773-9 ASoC: fsl_ssi: Add driver suspend and resume to support MEGA Fast
Nicolin Chen [Thu, 15 May 2014 10:51:56 +0000 (18:51 +0800)]
ENGR00318773-9 ASoC: fsl_ssi: Add driver suspend and resume to support MEGA Fast

For i.MX6 SoloX, there is a mode of the SoC to shutdown all power source of
modules during system suspend and resume procedure. Thus, SSI needs to save
all the values of registers before the system suspend and restore them after
the system resume.

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

9 years agoENGR00318773-8 ASoC: fsl_spdif: Add driver suspend and resume to support MEGA Fast
Nicolin Chen [Wed, 14 May 2014 10:54:27 +0000 (18:54 +0800)]
ENGR00318773-8 ASoC: fsl_spdif: Add driver suspend and resume to support MEGA Fast

For i.MX6 SoloX, there is a mode of the SoC to shutdown all power source of
modules during system suspend and resume procedure. Thus, SPDIF needs to save
all the values of registers before the system suspend and restore them after
the system resume.

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

9 years agoENGR00318773-7 ASoC: fsl_esai: Add driver suspend and resume to support MEGA Fast
Nicolin Chen [Mon, 12 May 2014 12:00:48 +0000 (20:00 +0800)]
ENGR00318773-7 ASoC: fsl_esai: Add driver suspend and resume to support MEGA Fast

For i.MX6 SoloX, there is a mode of the SoC to shutdown all power source of
modules during system suspend and resume procedure. Thus, ESAI needs to save
all the values of registers before the system suspend and restore them after
the system resume.

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

9 years agoENGR00318773-6 ASoC: fsl_sai: Add driver suspend and resume to support MEGA Fast
Nicolin Chen [Mon, 12 May 2014 05:47:52 +0000 (13:47 +0800)]
ENGR00318773-6 ASoC: fsl_sai: Add driver suspend and resume to support MEGA Fast

For i.MX6 SoloX, there is a mode of the SoC to shutdown all power source of
modules during system suspend and resume procedure. Thus, SAI needs to save
all the values of registers before the system suspend and restore them after
the system resume.

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

9 years agoENGR00307835-4 ASoC: fsl: implement ASRC P2P xrun handler
Shengjiu Wang [Thu, 10 Apr 2014 02:11:00 +0000 (10:11 +0800)]
ENGR00307835-4 ASoC: fsl: implement ASRC P2P xrun handler

When ASRC P2P is working, it will check the xrun status of cpu dai
in the back end bistream. then will do Whole route stop and restart.

Signed-off-by: Shengjiu Wang <b02247@freescale.com>
(cherry picked from commit 28d18f23fe7577f613ad8cfb4699bba26178304b)

9 years agoENGR00307835-3 ASoC: fsl: implement the ESAI xrun handler.
Shengjiu Wang [Mon, 14 Apr 2014 07:19:54 +0000 (15:19 +0800)]
ENGR00307835-3 ASoC: fsl: implement the ESAI xrun handler.

When esai xrun happened, there is possibility of channel swap. So ESAI
need to be reset.

Signed-off-by: Shengjiu Wang <b02247@freescale.com>
(cherry picked from commit 440fbeee5bba4d4356a392ff35fe262774c48ea1)

9 years agoENGR00307835-2 ASoC: dmaengine: Add two function for dmaengine_pcm
Shengjiu Wang [Mon, 14 Apr 2014 06:58:05 +0000 (14:58 +0800)]
ENGR00307835-2 ASoC: dmaengine: Add two function for dmaengine_pcm

Add check_xrun and device_reset for dmaengine_pcm

Signed-off-by: Shengjiu Wang <b02247@freescale.com>
(cherry picked from commit 405588f31e432e5c6634a0817e4d804ead87882b)

9 years agoENGR00283079-1 ASoC: fsl: Implement different DMA buffer sizes
Nicolin Chen [Thu, 17 Oct 2013 10:24:29 +0000 (18:24 +0800)]
ENGR00283079-1 ASoC: fsl: Implement different DMA buffer sizes

Each CPU DAI driver has its own defined DMA buffer size, so this patch just
drops the original one that uses a fixed size for all drivers and implements
a different DMA buffer size to each driver.

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

9 years agoENGR00274585-9 ASoC: change error message to debug message
Shengjiu Wang [Fri, 9 Aug 2013 06:45:51 +0000 (14:45 +0800)]
ENGR00274585-9 ASoC: change error message to debug message

This error message is not actual error, which is a warning. When using
FE/BE, if there is widget which is used by playback and capture route, then
this message will be printed.

Signed-off-by: Shengjiu Wang <b02247@freescale.com>
(cherry picked from commit ad60b0e03d058b57f2fd9538e1158da8eefcea1f)

9 years agoENGR00274585-6 ASoC: fsl: update format and buffer size in the pcm dma
Shengjiu Wang [Mon, 12 Aug 2013 06:17:13 +0000 (14:17 +0800)]
ENGR00274585-6 ASoC: fsl: update format and buffer size in the pcm dma

1. add 24bit format support.
2. enlarge the buffer size for ESAI.

Signed-off-by: Shengjiu Wang <b02247@freescale.com>
(cherry picked from commit a20054a079076fa62c2e4a24218697894a387e4c)

9 years agoENGR00320849-1 ASoC: cs4xx8: fix the setting of Functional mode
Shengjiu Wang [Wed, 2 Jul 2014 09:24:45 +0000 (17:24 +0800)]
ENGR00320849-1 ASoC: cs4xx8: fix the setting of Functional mode

Failed case:
arecord -Dhw:0,1 -f S16_LE -r 96000 -c 2 -traw | aplay -Dhw:0,0 -f
S16_LE -r 96000 -c 2 -traw.
There is no sound when use this case.The reason is that the setting
of Functional mode is not correct.

Signed-off-by: Shengjiu Wang <b02247@freescale.com>
(cherry picked from commit be1ef3bb8da5c263345ebdad4a7c218a095d0f48)

9 years agoENGR00320678 ASoC: cs42xx8: Revert the DAPM routes to the old one
Nicolin Chen [Tue, 1 Jul 2014 09:59:39 +0000 (17:59 +0800)]
ENGR00320678 ASoC: cs42xx8: Revert the DAPM routes to the old one

The upstream version of DAPM routes results record noise issue due to its
inappropriate power-up sequence. So we provisionally revert this change
to the old stable one, and figure out why the sequence has problem later.

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

9 years agoregmap: cache: Handle stride > 1 in sync_block_raw_flush
Dylan Reid [Fri, 24 Jan 2014 23:40:39 +0000 (15:40 -0800)]
regmap: cache: Handle stride > 1 in sync_block_raw_flush

regcache_sync_block_raw_flush takes the address of the base register
and the address of one past the last register to write to.  "count" is
the number of registers in the range, not the number of bytes, it
should be (end addr - start addr) / stride. Without accounting for
strides greater than one, registers past the end might be synced or
the writeable_reg callback at the beginning of _regmap_raw_write will
fail and nothing will be written.

Signed-off-by: Dylan Reid <dgreid@chromium.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 78ba73eecd2256790926859849801c0446766c0a)
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
9 years agoASoC: pcm: Fix incorrect condition check for case SNDRV_PCM_TRIGGER_SUSPEND
Nicolin Chen [Mon, 12 May 2014 12:12:05 +0000 (20:12 +0800)]
ASoC: pcm: Fix incorrect condition check for case SNDRV_PCM_TRIGGER_SUSPEND

The regular state before we execute SNDRV_PCM_TRIGGER_SUSPEND should be
SNDRV_PCM_TRIGGER_START, not SNDRV_PCM_TRIGGER_STOP. Thus fix it.

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

9 years agoASoC: cs42xx8: Add SND_SOC_DAIFMT_DSP_A support
Shengjiu Wang [Tue, 29 Jul 2014 10:39:37 +0000 (18:39 +0800)]
ASoC: cs42xx8: Add SND_SOC_DAIFMT_DSP_A support

According to the spec, the definition of TDM and ONELINE_24 for
CS42XX8_INTF_DAC and CS42XX8_INTF_ADC is wrong. correct them and enable
SND_SOC_DAIFMT_DSP_A support.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Acked-by: Brian Austin <brian.austin@cirrus.com>
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 689dc643859953651ffb7111fdbcff2eb0f02841)

9 years agoASoC: cs42xx8: Make of match table static
Lars-Peter Clausen [Thu, 19 Jun 2014 07:40:28 +0000 (09:40 +0200)]
ASoC: cs42xx8: Make of match table static

The cs42xx8_of_match table is not used outside of the driver, hence it can and
should be made static.

Fixes the following warning from sparse:
sound/soc/codecs/cs42xx8.c:425:27: warning: symbol 'cs42xx8_of_match' was
not declared. Should it be static?

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Brian Austin <brian.austin@cirrus.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit afb7bb45bb904da3704aad47adc4615a81f515c5)

9 years agoASoC: fsl_esai: refine esai for TDM support
Shengjiu Wang [Fri, 8 Aug 2014 06:47:21 +0000 (14:47 +0800)]
ASoC: fsl_esai: refine esai for TDM support

Original driver didn't store the number of slots, just fix the slot number
to 2, use this default number to calculate bclk and pins for TX/RX.
In this patch, add one parameter for slots, and update the calculation of
bclk and pins of TX/RX. Then driver will be compatible with slots > 2 in
TDM mode.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit de0d712a6dd1eed097dc6aa4f97ee461949414fe)

9 years agoENGR00307592 ASoC: fsl_asrc: Add delay after enabling ASRC p2p
Nicolin Chen [Wed, 9 Apr 2014 03:24:51 +0000 (11:24 +0800)]
ENGR00307592 ASoC: fsl_asrc: Add delay after enabling ASRC p2p

When using ASRC p2p as a for-end with other back-end modules like ESAI,
it'd be safer to add 1ms delay, less might be futile for extreme cases,
after enabling ASRC so as to keep ASRC output FIFO with enough data to
content the DMA burstsize of back-ends and accordingly prevent underrun
that might happen to them.

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

9 years agoENGR00332688: ARM: dts: imx6qdl: refine spdif support in devicetree
Shengjiu Wang [Mon, 22 Sep 2014 08:54:45 +0000 (16:54 +0800)]
ENGR00332688: ARM: dts: imx6qdl: refine spdif support in devicetree

Add sysclk and spba clock, and assigned-clocks

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00332936 ARM: IMX6SL-EVK: EPDC: add four epdc firmware files
Fancy Fang [Wed, 24 Sep 2014 05:44:40 +0000 (13:44 +0800)]
ENGR00332936 ARM: IMX6SL-EVK: EPDC: add four epdc firmware files

Add the firmware files for EPDC driver.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
9 years agoENGR01330740-4 ARM: IMX6SL-EVK: update epdc/pxp driver to latest version
Fancy Fang [Fri, 19 Sep 2014 05:50:44 +0000 (13:50 +0800)]
ENGR01330740-4 ARM: IMX6SL-EVK: update epdc/pxp driver to latest version

Update the EPDC and PXP driver to the latest version
in imx-3.10.y branch.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
9 years agoENGR01330740-3 ARM: IMX6SL-EVK: correct some clock settings for epdc and lcdif
Fancy Fang [Tue, 9 Sep 2014 09:13:42 +0000 (17:13 +0800)]
ENGR01330740-3 ARM: IMX6SL-EVK: correct some clock settings for epdc and lcdif

1. split 'csi_lcdif_sels' into 'csi_core_sels' and 'lcdif_axi_sels'.
2. add 'CLK_SET_RATE_PARENT' flag to clocks 'IMX6SL_CLK_LCDIF_PIX_SEL'
   and 'IMX6SL_CLK_EPDC_PIX_SEL'.
3. configure LCDIF's clocks 'IMX6SL_CLK_LCDIF_AXI_SEL' and
   'IMX6SL_CLK_LCDIF_AXI'.
4. disable eink's auto update mode.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
9 years agoENGR01330740-2 ARM: IMX6SL-EVK: EPDC: add epdc module support to 3.14 kernel
Fancy Fang [Tue, 9 Sep 2014 04:42:22 +0000 (12:42 +0800)]
ENGR01330740-2 ARM: IMX6SL-EVK: EPDC: add epdc module support to 3.14 kernel

1. Add epdc related properties to dts file.
2. Set the epdc related clocks correctly.
3. Add epdc firmware compiling support.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
9 years agoENGR00330740-1 ARM: IMX6SL-EVK: MAX17135: add hwmon, mfd and regulator drivers for...
Fancy Fang [Fri, 5 Sep 2014 06:12:25 +0000 (14:12 +0800)]
ENGR00330740-1 ARM: IMX6SL-EVK: MAX17135: add hwmon, mfd and regulator drivers for this pmic

Add PMIC 'MAX17135' module drivers to 3.14 kernel. These are necessary
to supply power for E-ink panel display functions.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
9 years agoENGR00332313 ARM: IMX6SL-EVK: disable i2c3 by default
Fancy Fang [Fri, 19 Sep 2014 09:02:04 +0000 (17:02 +0800)]
ENGR00332313 ARM: IMX6SL-EVK: disable i2c3 by default

Disable I2C3 by default, since the pins are conflicted
with EPDC's pins.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
9 years agoENGR00331799-8: ASoC: fsl_spdif: add pm runtime for spdif
Shengjiu Wang [Tue, 3 Sep 2013 10:01:52 +0000 (18:01 +0800)]
ENGR00331799-8: ASoC: fsl_spdif: add pm runtime for spdif

Add pm runtime for spdif.

Signed-off-by: Shengjiu Wang <b02247@freescale.com>
9 years agoENGR00331799-7: ASoC: fsl_ssi: pm_runtime for ssi
Shengjiu Wang [Fri, 19 Sep 2014 06:09:46 +0000 (14:09 +0800)]
ENGR00331799-7: ASoC: fsl_ssi: pm_runtime for ssi

ADD pm runtime for ssi.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00331799-6: ASoC: fsl_spdif: add spba clk support
Shengjiu Wang [Wed, 17 Sep 2014 08:42:51 +0000 (16:42 +0800)]
ENGR00331799-6: ASoC: fsl_spdif: add spba clk support

spdif need to enable the spba clock, when sdma is using share peripheral
script. If don't enable it, may cause the read/write wrong data from/to
registers.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00331799-5: ASoC: fsl_esai: add spba clock support
Shengjiu Wang [Wed, 17 Sep 2014 08:42:32 +0000 (16:42 +0800)]
ENGR00331799-5: ASoC: fsl_esai: add spba clock support

esai need to enable the spba clock, when sdma is using share peripheral
script. If don't enable it, may cause the read/write wrong data from/to
register.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00331799-4: ASoC: fsl_asrc: add spba clock support
Shengjiu Wang [Wed, 17 Sep 2014 08:42:09 +0000 (16:42 +0800)]
ENGR00331799-4: ASoC: fsl_asrc: add spba clock support

asrc need to enable the spba clock, when sdma is using share peripheral
script. If don't enable it, may cause the read/write wrong data from/to
register.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00331799-3: ARM: dts: imx6sx: update dts for asrc
Shengjiu Wang [Wed, 17 Sep 2014 08:41:39 +0000 (16:41 +0800)]
ENGR00331799-3: ARM: dts: imx6sx: update dts for asrc

As we use the upstreamed asrc driver in imx_3.14, the device tree need
to be updated.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00331799-2 ASoC: fsl_spdif: don't change the root clock rate of spdif in driver
Shengjiu Wang [Tue, 16 Sep 2014 11:18:49 +0000 (19:18 +0800)]
ENGR00331799-2 ASoC: fsl_spdif: don't change the root clock rate of spdif in driver

The spdif root clock may be used by other module or defined with
CLK_SET_RATE_GATE, so we can't change the clock rate in driver.
In this patch remove the clk_set_rate and clk_round_rate to protect the
clock.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00331799-1 ASoC: fsl_ssi: refine ipg clock usage in this module
Shengjiu Wang [Thu, 4 Sep 2014 09:28:04 +0000 (17:28 +0800)]
ENGR00331799-1 ASoC: fsl_ssi: refine ipg clock usage in this module

Check if ipg clock is in clock-names property, then we can move the
ipg clock enable and disable operation to startup and shutdown, that
is only enable ipg clock when ssi is working and keep clock is disabled
when ssi is in idle.
But when the checking is failed, remain the clock control as before.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agonet: fec: Workaround for imx6sx enet tx hang when enable three queues
Fugang Duan [Tue, 16 Sep 2014 21:18:54 +0000 (05:18 +0800)]
net: fec: Workaround for imx6sx enet tx hang when enable three queues

When enable three queues on imx6sx enet, and then do tx performance
test with iperf tool, after some time running, tx hang.

Found that:
If uDMA is running, software set TDAR may cause tx hang.
If uDMA is in idle, software set TDAR don't cause tx hang.

There is a TDAR race condition for mutliQ when the software sets TDAR
and the UDMA clears TDAR simultaneously or in a small window (2-4 cycles).
This will cause the udma_tx and udma_tx_arbiter state machines to hang.
The issue exist at i.MX6SX enet IP.

So, the Workaround is checking TDAR status four time, if TDAR cleared by
hardware and then write TDAR, otherwise don't set TDAR.

The patch is only one Workaround for the issue ERR007885.

Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Frank Li <Frank.Li@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
9 years agonet:fec: increase DMA queue number
Fugang Duan [Tue, 16 Sep 2014 21:18:53 +0000 (05:18 +0800)]
net:fec: increase DMA queue number

when enable interrupt coalesce, 8 BD is not enough.

Signed-off-by: Frank Li <Frank.Li@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
9 years agonet: fec: add interrupt coalescence feature support
Fugang Duan [Tue, 16 Sep 2014 21:18:52 +0000 (05:18 +0800)]
net: fec: add interrupt coalescence feature support

i.MX6 SX support interrupt coalescence feature
By default, init the interrupt coalescing frame count threshold and
timer threshold.

Supply the ethtool interfaces as below for user tuning to improve
enet performance:
rx_max_coalesced_frames
rx_coalesce_usecs
tx_max_coalesced_frames
tx_coalesce_usecs

Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Frank Li <Frank.Li@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
9 years agonet: fec: refine error handle of parser queue number from DT
Frank Li [Tue, 16 Sep 2014 21:18:51 +0000 (05:18 +0800)]
net: fec: refine error handle of parser queue number from DT

check tx and rx queue seperately.
fix typo, "Invalidate" and "fail".
change pr_err to pr_warn.

Signed-off-by: Frank Li <Frank.Li@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
9 years agoENGR00332050-2 imx_v7_defconfig: enable ADC driver by default
Luwei Zhou [Thu, 18 Sep 2014 07:33:38 +0000 (15:33 +0800)]
ENGR00332050-2 imx_v7_defconfig: enable ADC driver by default

Enable adc driver in default config.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
9 years agoENGR00332050-1 ARM: dts: i.mx6sx: Add ADC device tree support on i.MX6SX-SDB.
Luwei Zhou [Thu, 18 Sep 2014 07:29:34 +0000 (15:29 +0800)]
ENGR00332050-1 ARM: dts: i.mx6sx: Add ADC device tree support on i.MX6SX-SDB.

Add ADC dts support on i.MX6SX-SDB platform.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
9 years agocrypto: testmgr - avoid DMA mapping from text, rodata, stack
Horia Geanta [Wed, 23 Jul 2014 08:59:38 +0000 (11:59 +0300)]
crypto: testmgr - avoid DMA mapping from text, rodata, stack

With DMA_API_DEBUG set, following warnings are emitted
(tested on CAAM accelerator):
DMA-API: device driver maps memory from kernel text or rodata
DMA-API: device driver maps memory from stack
and the culprits are:
-key in __test_aead and __test_hash
-result in __test_hash

MAX_KEYLEN is changed to accommodate maximum key length from
existing test vectors in crypto/testmgr.h (131 bytes) and rounded.

Signed-off-by: Horia Geanta <horia.geanta@freescale.com>
Acked-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from commit 29b77e5dd88e1b920e3e65681f0e7b961ebbdeb8)

9 years agocrypto: testmgr - Fix DMA-API warning
Tadeusz Struk [Mon, 19 May 2014 16:51:33 +0000 (09:51 -0700)]
crypto: testmgr - Fix DMA-API warning

With DMA-API debug enabled testmgr triggers a "DMA-API: device driver maps memory from stack" warning, when tested on a crypto HW accelerator.

Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from commit 9bac019dad8098a77cce555d929f678e22111783)

9 years agoENGR00327300 ARM: dts: imx6qdl-sabresd: enable wdog2 instead of wdog1 in ldo-bypass...
Robin Gong [Thu, 14 Aug 2014 05:40:22 +0000 (13:40 +0800)]
ENGR00327300 ARM: dts: imx6qdl-sabresd: enable wdog2 instead of wdog1 in ldo-bypass board.

As we use WDOG_B pin of wdog2 to reset extenal pmic in ldo-bypass mode, so we need
use WDOG2 as the default watchdog device in kernel.

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit 50dad2a0ba9809da6fe446526f0acb65b5eaed25)

9 years agoENGR00279402-1 ARM: dts: imx6: add wdog reset source seclect in dts
Robin Gong [Thu, 12 Sep 2013 08:22:26 +0000 (16:22 +0800)]
ENGR00279402-1 ARM: dts: imx6: add wdog reset source seclect in dts

Some boards use another WDOG reset source to reboot system in ldo-bypass mode.
We need add the property in board dts file so that we can easily know the
WDOG reset source currently.

For Sabresd, WDOG1 for ldo-enable mode(WDOG event), WDOG2 for ldo-bypass mode
(reset external pmic to trigger POR event).
For sl-evk board, there is no WDOG pin connected with external pmic as Sabresd
, because mx6sl boot at 400Mhz. Then both ldo-enable and ldo-bypass mode use
the common WDOG1 as reset source.

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit d960bbe78009d306f80957321622aaad0628ac4b)

9 years agoENGR00287983-2 imx restart: add another WDOG2 reset support for ldo-bypass
Robin Gong [Thu, 14 Nov 2013 05:58:21 +0000 (13:58 +0800)]
ENGR00287983-2 imx restart: add another WDOG2 reset support for ldo-bypass

For ldo-bypass mode on i.MX6Q/DL sabresd board, we will use another WDOG2 to
reset external pmic to trigger POR event, rather than WDOG1 to trigger WDOG
event in ldo-enable mode. We need to consider it in common mxc_restart().
On i.MX6SL sabresd board we use WDOG1 to trigger WDOG event both ldo-bypass and
ldo-enable mode.

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit ee07b144e1adff13d262e7f353f5804e3c2d3e06)

9 years agoENGR00332011: ARM: dts: imx6qdl-sabreauto: enable gpio-key
Robin Gong [Thu, 18 Sep 2014 04:04:31 +0000 (12:04 +0800)]
ENGR00332011: ARM: dts: imx6qdl-sabreauto: enable gpio-key

enable gpio-key on imx6qdl-sabreauto board.

Signed-off-by: Robin Gong <b38343@freescale.com>
9 years agoARM: dts: imx6sl: add keypad support for i.mx6sl-evk board.
Anson Huang [Tue, 14 Jan 2014 09:30:28 +0000 (17:30 +0800)]
ARM: dts: imx6sl: add keypad support for i.mx6sl-evk board.

i.MX6SL EVK board has a 3*3 keypad matrix to support 8 keypads,
enable them, the keymap is as below:

SW6:  MATRIX_KEY(0x0, 0x0, KEY_UP)         /* ROW0, COL0 */
SW7:  MATRIX_KEY(0x0, 0x1, KEY_DOWN)       /* ROW0, COL1 */
SW8:  MATRIX_KEY(0x0, 0x2, KEY_ENTER)      /* ROW0, COL2 */
SW9:  MATRIX_KEY(0x1, 0x0, KEY_HOME)       /* ROW1, COL0 */
SW10: MATRIX_KEY(0x1, 0x1, KEY_RIGHT)      /* ROW1, COL1 */
SW11: MATRIX_KEY(0x1, 0x2, KEY_LEFT)       /* ROW1, COL2 */
SW12: MATRIX_KEY(0x2, 0x0, KEY_VOLUMEDOWN) /* ROW2, COL0 */
SW13: MATRIX_KEY(0x2, 0x1, KEY_VOLUMEUP)   /* ROW2, COL1 */

Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
(cherry picked from commit 4291b6455aa7bf6620cff9e8ef2b1389b8c8d4e0)

9 years agoENGR00318936-2 input: keyboard: imx: remove usless release interrupt enabled code
Robin Gong [Wed, 18 Jun 2014 06:14:09 +0000 (14:14 +0800)]
ENGR00318936-2 input: keyboard: imx: remove usless release interrupt enabled code

Remove useless code for release interrupt enabled, because we check status by
timer rather than release interrupt. Remove the code which may disable depress
interrupt. Also make sure enable depress interrupt in suspend function.

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit 806ed5b9769efff2c9d8c66ed19315b48ec6fd57)

9 years agoENGR00318936-1 input: keyboard: imx: add pm_stay_awake and pm_relax
Robin Gong [Tue, 10 Jun 2014 03:56:49 +0000 (11:56 +0800)]
ENGR00318936-1 input: keyboard: imx: add pm_stay_awake and pm_relax

There is a small window after system suspend but timer scan function
didn't finish timely, in this case,  system enter suspend without kpp
interrupt enabled and failed to resume back if key depressed.We add
pm_stay_awake and pm_relax to make sure system suspend flow abort in
this case.

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit 3868f06af8f39673f270643ada63dd88e2f5699e)

9 years agoENGR00243120 rtc:snvs: support power off system by SNVS
Robin Gong [Mon, 4 Feb 2013 08:20:05 +0000 (16:20 +0800)]
ENGR00243120 rtc:snvs: support power off system by SNVS

Enable the function by SNVS which located in snvs-rtc driver

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit 79e3dc7b9f29213179ad6904ee0abc63d3ba5301)

9 years agoENGR00331116 ARM: dts: i.mx6sl-evk: Add mma8450 sensor dts support on i.MX6SL-EVK...
Luwei Zhou [Thu, 18 Sep 2014 05:15:43 +0000 (13:15 +0800)]
ENGR00331116 ARM: dts: i.mx6sl-evk: Add mma8450 sensor dts support on i.MX6SL-EVK platform.

Support MMA8450 sensor on i.MX6SL-EVK

Signed-off-by: Luwei Zhou <b45643@freescale.com>
9 years agoENGR00331509-3 imx_v7_defconfig: enable isl29023 by default
Luwei Zhou [Wed, 17 Sep 2014 05:38:56 +0000 (13:38 +0800)]
ENGR00331509-3 imx_v7_defconfig: enable isl29023 by default

Enable isl29023 driver in default config.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
9 years agoENGR00331509-2 ARM: dts: i.mx6q/dl/sx: Add isl29023 device tree support.
Luwei Zhou [Wed, 17 Sep 2014 05:03:03 +0000 (13:03 +0800)]
ENGR00331509-2 ARM: dts: i.mx6q/dl/sx: Add isl29023 device tree support.

Add isl29023 sensor device tree support on i.MX6Q/DL/SX platform.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
9 years agoENGR00331509-1 input: misc: isl29023: Add isl29023 driver support on i.MX6Q/DL/SX...
Luwei Zhou [Wed, 17 Sep 2014 02:50:08 +0000 (10:50 +0800)]
ENGR00331509-1 input: misc: isl29023: Add isl29023 driver support on i.MX6Q/DL/SX platform.

Add isl29023 driver support for i.MX6Q/DL/SX platform. The code derives from 3.10.y branch.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
9 years agoENGR00331790 ARM: dts: add new dts imx6sx-17x17-arm2-gpmi-weim.dts
Allen Xu [Fri, 12 Sep 2014 17:38:24 +0000 (12:38 -0500)]
ENGR00331790 ARM: dts: add new dts imx6sx-17x17-arm2-gpmi-weim.dts

For NAND and WEIM verification on 3.14 Kernel.

Signed-off-by: Allen Xu <b45815@freescale.com>
9 years agoENGR00331085-10: ARM: imx_v7_defconfig: build in audio modules
Shengjiu Wang [Wed, 3 Sep 2014 09:06:18 +0000 (17:06 +0800)]
ENGR00331085-10: ARM: imx_v7_defconfig: build in audio modules

Build in audio modules: FM, IMX_CS42888, IMX_HDMI.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00331085-9: ARM: dts: imx6sx-sdb: Support spdif out in sx-sdb board
Shengjiu Wang [Fri, 27 Jun 2014 06:02:28 +0000 (14:02 +0800)]
ENGR00331085-9: ARM: dts: imx6sx-sdb: Support spdif out in sx-sdb board

Add device tree for spdif in sx-sdb board.

Signed-off-by: Shengjiu Wang <b02247@freescale.com>
9 years agoENGR00331085-8: ARM: dts: imx6sx: add sai support for imx6sx-sdb board
Shengjiu Wang [Mon, 15 Sep 2014 11:40:20 +0000 (19:40 +0800)]
ENGR00331085-8: ARM: dts: imx6sx: add sai support for imx6sx-sdb board

SAI has pin conflicts with other moudles on all current boards of Solo X
and two sdma event conflicts with UART5.

Thus this patch adds new dtbs for SAI cases that occupy the pins and the
event IDs of SDMA.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00331085-7: ARM: dts: imx6sx: Add SSI<->WM8962 audio support for imx6sx-sdb
Shengjiu Wang [Tue, 16 Sep 2014 06:14:52 +0000 (14:14 +0800)]
ENGR00331085-7: ARM: dts: imx6sx: Add SSI<->WM8962 audio support for imx6sx-sdb

Append audio nodes to the devicetree to add audio support for imx6sx-sdb with
Wolfson WM8962 CODEC.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00331085-6: ARM: dts: imx6sl-evk: Add spdif support for imx6sl-evk
Shengjiu Wang [Tue, 16 Sep 2014 06:11:21 +0000 (14:11 +0800)]
ENGR00331085-6: ARM: dts: imx6sl-evk: Add spdif support for imx6sl-evk

Complete spdif devicetree binding for imx6sl, also add its support
for imx6sl-evk board.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00331085-5: ARM: dts: imx6sl-evk: Add WM8962 support for imx6sl-evk
Shengjiu Wang [Tue, 16 Sep 2014 06:08:11 +0000 (14:08 +0800)]
ENGR00331085-5: ARM: dts: imx6sl-evk: Add WM8962 support for imx6sl-evk

Add WM8962 support for imx6sl-evk:
 * Add pinctrl group for audmux on evk board
 * Add WM8962-related devictree binding for evk board
 * Add clock route for ssi.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00331085-4: ARM: dts: imx6qdl: Add si4763 support for imx6qdl-sabreauto
Shengjiu Wang [Thu, 11 Sep 2014 02:57:18 +0000 (10:57 +0800)]
ENGR00331085-4: ARM: dts: imx6qdl: Add si4763 support for imx6qdl-sabreauto

Add missing devicetree nodes and binding for the support.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00331085-3: ARM: dts: imx6qdl: enable hdmi audio
Shengjiu Wang [Wed, 3 Sep 2014 07:59:34 +0000 (15:59 +0800)]
ENGR00331085-3: ARM: dts: imx6qdl: enable hdmi audio

The HDMI audio's DMA type is changed to 24. So need to update the dts.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00331085-2: ARM: dts: imx6qdl: enable asrc support
Shengjiu Wang [Wed, 3 Sep 2014 07:48:34 +0000 (15:48 +0800)]
ENGR00331085-2: ARM: dts: imx6qdl: enable asrc support

Enable asrc support and enable asrc p2p for sound-cs42888.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00331085-1: ARM: dts: imx6qdl: enable sound-cs42888
Shengjiu Wang [Mon, 4 Aug 2014 08:38:45 +0000 (16:38 +0800)]
ENGR00331085-1: ARM: dts: imx6qdl: enable sound-cs42888

Enable sound-cs42888 in sabreauto board. Enable clock route for esai
from external 24.576MHz OSC to internal ESAI clock via analog clock2
PADs on the SoC and pll4 so that ESAI can get an entirely synchronous
clock source against CS42888.

    anaclk2                 0           1            24576000
     lvds2_in               0           1            24576000
      pll4_sel              0           1            24576000
       pll4_audio           0           1            24576000
        pll4_post_div       0           1            24576000
         pll4_audio_div     0           1            24576000
          esai_sel          0           1            24576000
           esai_pred        0           1            24576000
            esai_podf       0           1            24576000
             esai           0           1            24576000

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00301869-1 iio: adc: Enable i.MX6SX adc driver.
Luwei Zhou [Thu, 6 Mar 2014 07:47:47 +0000 (15:47 +0800)]
ENGR00301869-1 iio: adc: Enable i.MX6SX adc driver.

Enable i.MX6SX adc driver. ADC driver will try getting ADC controller
channel number via device tree, because i.MX chip enable 4 channels
on each controller.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
(cherry picked from commit 14a6a98f64e26702b1c0ecfc7d58a45ee5752d54)

9 years agoiio:adc:imx: add Freescale Vybrid vf610 adc driver
Fugang Duan [Sun, 26 Jan 2014 05:39:00 +0000 (05:39 +0000)]
iio:adc:imx: add Freescale Vybrid vf610 adc driver

Add Freescale Vybrid vf610 adc driver. The driver only support
ADC software trigger.

VF610 ADC device documentation is available at below reference manual
(chapter 37):
http://cache.freescale.com/files/32bit/doc/ref_manual/VYBRIDRM.pdf?
fpsp=1&WT_TYPE=Reference%20Manuals&WT_VENDOR=FREESCALE&WT_FILE_FORMAT
=pdf&WT_ASSET=Documentation

CC: Shawn Guo <shawn.guo@linaro.org>
CC: Jonathan Cameron <jic23@kernel.org>
CC: Mark Rutland <mark.rutland@arm.com>
CC: Otavio Salvador <otavio@ossystems.com.br>
CC: Peter Meerwald <pmeerw@pmeerw.net>
CC: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
(cherry picked from commit 98f8dc71365e31944e34f225e08e1c87d3001b41)

9 years agoENGR00307635-6 ASoC: fsl: Enable SAI for imx-sgtl5000 and imx-wm8962
Nicolin Chen [Wed, 9 Apr 2014 09:12:12 +0000 (17:12 +0800)]
ENGR00307635-6 ASoC: fsl: Enable SAI for imx-sgtl5000 and imx-wm8962

Since we are able to link SAI and sgtl5000 and wm8962, we should update
the Kconfig to make it build-in if enabling their machine drivers.

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

9 years agoENGR00307635-5 ASoC: imx-wm8962: Add non-SSI cpu dai support
Nicolin Chen [Tue, 8 Apr 2014 11:13:15 +0000 (19:13 +0800)]
ENGR00307635-5 ASoC: imx-wm8962: Add non-SSI cpu dai support

The current imx-wm8962 machine driver is designed for SSI as CPU DAI only
while as its name we should make the driver more generic to any other CPU
DAI on i.MX serires -- ESAI, SAI for example.

So this patch makes the driver more general so as to support those non-SSI
cases.

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

9 years agoENGR00312217-1 ASoC: fsl: pop noise with wm8962
Shengjiu Wang [Wed, 7 May 2014 10:02:15 +0000 (18:02 +0800)]
ENGR00312217-1 ASoC: fsl: pop noise with wm8962

The reason of pop noise is that we change the sysclk in hw_free, which is
for another wm8962 issue. So in currently the pop noise can't be resolved
with no confliction. So for Android, because the samplerate is fixed. we can
use other workaround for this issue: change the sysclk in the set_bias().

Signed-off-by: Shengjiu Wang <b02247@freescale.com>
(cherry picked from commit 84babc7fa0a56f6620f8b04a86baece620297dda)

9 years agoENGR00306857 pulseaudio5.0 mute Headphone volume when Headphone plugged
Shengjiu Wang [Thu, 3 Apr 2014 08:05:40 +0000 (16:05 +0800)]
ENGR00306857 pulseaudio5.0 mute Headphone volume when Headphone plugged

Pulseaudio will detect the Headphone Jack, then swith to Headphone.
So register new Jack for Headphone, the iface=CARD.

Signed-off-by: Shengjiu Wang <b02247@freescale.com>
(cherry picked from commit 6a715373c43f16e48883061049e67919281878d1)

9 years agoENGR00290229 ASoC: fsl: Drop snd_soc_dapm_sync() in imx-wm8962
Nicolin Chen [Fri, 29 Nov 2013 09:44:39 +0000 (17:44 +0800)]
ENGR00290229 ASoC: fsl: Drop snd_soc_dapm_sync() in imx-wm8962

As DAPM would do the sync() for us, we don't need to handle it by ourselves.
And leaving snd_soc_dapm_sync() here is dangerous because it would disable
the clock from WM8962 during the short period of the output route changing
since we don't leave the alternative route's enanbling to this machine driver
but to DAPM core.

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

9 years agoENGR00279368-1 ASoC: fsl: Drop useless resume function in WM8962 machine driver
Nicolin Chen [Thu, 12 Sep 2013 06:24:20 +0000 (14:24 +0800)]
ENGR00279368-1 ASoC: fsl: Drop useless resume function in WM8962 machine driver

The resume function is useless for the driver because registered jack pin has
already handled suspend/resume cases, thus drop it.

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

9 years agoENGR00277715-4 ARM: dts: Add WM8962 jack detecting support for SabreSD
Nicolin Chen [Tue, 3 Sep 2013 11:03:05 +0000 (19:03 +0800)]
ENGR00277715-4 ARM: dts: Add WM8962 jack detecting support for SabreSD

Update devicetree to add WM8962 jack detecting support

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

9 years agoENGR00277715-3 ASoC: fsl: Add WM8962 jack detecting support
Nicolin Chen [Tue, 3 Sep 2013 04:45:05 +0000 (12:45 +0800)]
ENGR00277715-3 ASoC: fsl: Add WM8962 jack detecting support

There're two GPIOs connected to the headphone jack and microphone jack,
thus add the states detection.

Reviewed-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
(cherry picked from commit f85ca1dd664178328bd813651e91d612787b6926)

9 years agoENGR00277471 ASoC: fsl: Fix set-mute-failed issue after WM8962 capture
Nicolin Chen [Fri, 30 Aug 2013 08:02:35 +0000 (16:02 +0800)]
ENGR00277471 ASoC: fsl: Fix set-mute-failed issue after WM8962 capture

We only need to mute WM8962 after playback, so add direction check
before doing mute.

And a mute failure would cause hw_free() abruptly return after it,
which might drop the essential procedure code for FLL controlling.
Thus put mute before FLL controlling code and drop its return check.

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

9 years agoENGR00274386-2 ASoC: imx-wm8962: Set MCLK source clock to 0Hz in hw_free()
Nicolin Chen [Tue, 13 Aug 2013 03:37:54 +0000 (11:37 +0800)]
ENGR00274386-2 ASoC: imx-wm8962: Set MCLK source clock to 0Hz in hw_free()

When DAPM closed WM8962 after playback, its driver would prompt
'wm8962 0-001a: Unsupported sysclk ratio 500' due to the invalid
divisor calculated by WM8962 codec driver.

To fix it, we can work around by setting its MCLK source to 0Hz,
so the codec driver would never get an invalid divisor any more.
Since hw_params() would re-set the MCLK source, no need to worry
about any side-effect.

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

9 years agoENGR00273838-9 ASoC: WM8962: Remove 64KHz sample rate support
Nicolin Chen [Mon, 5 Aug 2013 09:26:45 +0000 (17:26 +0800)]
ENGR00273838-9 ASoC: WM8962: Remove 64KHz sample rate support

64KHz is not in the auto samplerate list of WM8962. When playing a 64KHz
wave file, 'Unsupported rate 64000Hz' will be prompted.

Thus remove to let alsa-lib handle it.

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

9 years agoENGR00273838-8 ASoC: WM8962: Let codec driver enable/disable its MCLK
Nicolin Chen [Mon, 5 Aug 2013 08:26:16 +0000 (16:26 +0800)]
ENGR00273838-8 ASoC: WM8962: Let codec driver enable/disable its MCLK

WM8962 needs its MCLK when powerup -- wm8962_resume(). Thus it's better
to control the MCLK in codec driver. Thus remove the clock enable in
machine dirver accordingly.

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

9 years agoENGR00273838-7 ASoC: fsl: Use hw_params() and hw_free() to set FLL
Nicolin Chen [Mon, 5 Aug 2013 07:34:05 +0000 (15:34 +0800)]
ENGR00273838-7 ASoC: fsl: Use hw_params() and hw_free() to set FLL

We followed community way by using set_bias() to set FLL of WM8962.
But this can't meet our requirement: aplay -Dhw: 16khz.wav 24khz.wav.
Thus use hw_params() and hw_free() instead.

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

9 years agoASoC: wm8962: Let CODEC driver enable and disable its own MCLK
Nicolin Chen [Tue, 29 Jul 2014 10:38:39 +0000 (18:38 +0800)]
ASoC: wm8962: Let CODEC driver enable and disable its own MCLK

snd_soc_open() will trigger pm_runtime resume() which will then enable
the regulator and initialization. So we should make sure the MCLK is
enabled before this resume().

Previously we let the machine driver get the clock and enable it in
its probe(). However, considering about power saving, it'll be better
to enable it when it's going to be used and disable it after using.

So this patch just simply adds clk_get() and clk_enable() to WM8962
driver. Meanwhile, it marks clock pointer to NULL if no clock assigned
to it so it will not break any current function.

Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit d7821953cfe9803c593a682320468ce2de862803)

9 years agoASoC: wm8962: Convert to params_width()
Mark Brown [Thu, 31 Jul 2014 11:53:36 +0000 (12:53 +0100)]
ASoC: wm8962: Convert to params_width()

The CODEC doesn't care how data is laid out in memory.

Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
(cherry picked from commit ec4dc01eb41a7eb03675516975f704b355fe2fc1)

9 years agoENGR00331635-3: ARM: dts: imx6sx: Update sdma DT binding
Shengjiu Wang [Tue, 16 Sep 2014 05:40:39 +0000 (13:40 +0800)]
ENGR00331635-3: ARM: dts: imx6sx: Update sdma DT binding

Complete the compatible for sdma and use same firmware as imx6q.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00331635-2: dma: imx-sdma: Add SAI script support
Shengjiu Wang [Tue, 16 Sep 2014 05:43:59 +0000 (13:43 +0800)]
ENGR00331635-2: dma: imx-sdma: Add SAI script support

This patch adds SAI script support to imx-sdma.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00331635-1: dma: imx-sdma: Add imx6sx platform support
Shengjiu Wang [Tue, 16 Sep 2014 05:39:06 +0000 (13:39 +0800)]
ENGR00331635-1: dma: imx-sdma: Add imx6sx platform support

The new Solo X has more requirements for SDMA events. So it creates a event mux
to remap most of event numbers in GPR (General Purpose Register). If we want to
use SDMA support for those module who do not get the even number as default, we
need to configure GPR first.

Thus this patch adds this support of GPR event remapping configuration to the
SDMA driver.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00331450-14: ARM: dts: imx6sx-sdb: add pfuze100 support
Robin Gong [Mon, 15 Sep 2014 08:20:08 +0000 (16:20 +0800)]
ENGR00331450-14: ARM: dts: imx6sx-sdb: add pfuze100 support

Add pfuze100 support for imx6sx-sdb.

Signed-off-by: Robin Gong <b38343@freescale.com>
9 years agoENGR00331450-13: ARM: dts: imx6sl: remove always-on for vddpu
Robin Gong [Mon, 15 Sep 2014 08:13:55 +0000 (16:13 +0800)]
ENGR00331450-13: ARM: dts: imx6sl: remove always-on for vddpu

PU can be dynamically turned off or on, so we need remove
"regulator-always-on" property.

Signed-off-by: Robin Gong <b38343@freescale.com>
9 years agoENGR00331450-12: ARM: dts: imx6sl-evk-pf200: add pfuze200 support
Robin Gong [Mon, 15 Sep 2014 08:07:50 +0000 (16:07 +0800)]
ENGR00331450-12: ARM: dts: imx6sl-evk-pf200: add pfuze200 support

Add pfuze200 support on imx6sl-evk board.

Signed-off-by: Robin Gong <b38343@freescale.com>
9 years agoENGR00331450-11: ARM: dts: imx6dl-sabresd-pf200: use ldo-enable mode
Robin Gong [Mon, 15 Sep 2014 07:59:38 +0000 (15:59 +0800)]
ENGR00331450-11: ARM: dts: imx6dl-sabresd-pf200: use ldo-enable mode

For pfuze200, we have to use ldo-enable mode, because VDDARM_IN and VDDSOC_IN
share the same regulator.
Add GPL license head.

Signed-off-by: Robin Gong <b38343@freescale.com>
9 years agoENGR00331450-10 ARM: dts: imx6sl-evk: add ldo-bypass support
Robin Gong [Mon, 15 Sep 2014 07:28:42 +0000 (15:28 +0800)]
ENGR00331450-10 ARM: dts: imx6sl-evk: add ldo-bypass support

Add ldo-bypass support for imx6sl-evk board. Meanwhile, add ldo dts
to support ldo-enable mode.

Signed-off-by: Robin Gong <b38343@freescale.com>
9 years agoENGR00331450-9: ARM: dts: imx6sl-evk: add pfuze100 support
Robin Gong [Mon, 15 Sep 2014 07:19:10 +0000 (15:19 +0800)]
ENGR00331450-9: ARM: dts: imx6sl-evk: add pfuze100 support

Add pfuze100 support for imx6sl-evk board.

Signed-off-by: Robin Gong <b38343@freescale.com>
9 years agoENGR00331450-8: ARM: dts: imx6dl-sabresd-pf200: add pfuze200 support
Robin Gong [Mon, 15 Sep 2014 07:00:38 +0000 (15:00 +0800)]
ENGR00331450-8: ARM: dts: imx6dl-sabresd-pf200: add pfuze200 support

Add pfuze200 support on imx6dl-sabresd board.

Signed-off-by: Robin Gong <b38343@freescale.com>