Age | Commit message (Collapse) | Author |
|
This reverts commit <f911217e6edd> (ls102xa: audio: Workaround for SAI
data transfer endian issue).
The patch "ls102xa: audio: Workaround for SAI data transfer endian
issue" isn't needed for LS1021A Rev2.0 silicon.
Signed-off-by: Alison Wang <alison.wang@freescale.com>
Change-Id: I850e4207e7beb7eedda260df001d9189ac666f28
Reviewed-on: http://git.am.freescale.net:8181/36159
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
Tested-by: Zhengxiong Jin <Jason.Jin@freescale.com>
|
|
This patch adds Power Management support for SAI.
Activate regmap cache with REGCACHE_RBTREE, and use
regmap cache code to save and restore registers in
suspend and resume. The Transmit Control Register
(TCSR) and Receive Control Register(RCSR) should
be volatile registers.
Signed-off-by: Alison Wang <alison.wang@freescale.com>
---
This patch has been sent to upstream for review:
https://patchwork.kernel.org/patch/5183621/.
Change-Id: I46a53b91fa005d9833e289d06430e26569897b2d
Reviewed-on: http://git.am.freescale.net:8181/22361
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Jingchang Lu <jingchang.lu@freescale.com>
Reviewed-by: Dongsheng Wang <dongsheng.wang@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
|
|
Transmit Data Register(TDR) used as the destination address
of EDMA transaction is in big-endian mode. The audio data in
memory and EDMA transaction are in little-endian mode. For
S16_LE format data, a workaround is to swap the original 16-bit
data, and then write into the higher 16 bit of TDR.
Signed-off-by: Alison Wang <alison.wang@freescale.com>
Change-Id: Ib15832743e9a4c69792f2dad4cb00fbbc1d2daaa
Reviewed-on: http://git.am.freescale.net:8181/21063
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Jingchang Lu <jingchang.lu@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
|
|
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Change-Id: I4e1f12afb9aefa0de69bcbab393eb8ec28f56df1
Reviewed-on: http://git.am.freescale.net:8181/19754
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
|
|
o Add SND_SOC_DAIFMT_DSP_A support.
o Add SND_SOC_DAIFMT_DSP_B support.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
---
This patch is pulled back from upstream:
commit a3f7dcc9cc0392528bff75b17adfcd74fb8a0ecd
Change-Id: I6863de1501bf897ec70f2d927046ccd3d2866010
Reviewed-on: http://git.am.freescale.net:8181/19753
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
|
|
o Fix some bugs of fsl_sai_set_dai_fmt_tr().
o Add SND_SOC_DAIFMT_LEFT_J support.
o Add SND_SOC_DAIFMT_CBS_CFM support.
o Add SND_SOC_DAIFMT_CBM_CFS support.
o And SND_SOC_DAIFMT_RIGHT_J need to be done in the future.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
---
This patch is pulled back from upstream:
commit 13cde090030c7d00e991c85b87c12891cc8e4df4
Change-Id: If49b36a048d2c2b3eedef732ef5bae4eed98bb4b
Reviewed-on: http://git.am.freescale.net:8181/19752
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
|
|
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
---
This patch is pulled back from upstream:
commit 78957fc349bcf29d415a649601581a993ff25e4d
Change-Id: I29156c937a15a11c6b46d83fbcaab6e1afe1b767
Reviewed-on: http://git.am.freescale.net:8181/19751
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
|
|
Makes the code slightly shorter.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
---
This patch is pulled back from upstream:
commit 633ff8f8a4393b4a13b94eddd2613198c32035e6
Change-Id: Ic59247589f69e0705d49fc4db9e7d269125856d8
Reviewed-on: http://git.am.freescale.net:8181/19750
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
|
|
Revert the SAI's endianess for fifo data to/from DMA engine.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
---
This patch is pulled back from upstream:
commit 72aa62bed3ea30635156fad95f123a0b665072bf
Change-Id: I7c8ec99b9d8292527ba2fc47ff071146b2225fae
Reviewed-on: http://git.am.freescale.net:8181/19749
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
|
|
This is maybe one bug or a limitation of the hardware that the {T,R}CR2's
Synchronous Mode bits must be set as late as possible, or the SAI device
maybe hanged up, and there has not any explaination about this limitation
in the SAI Data Sheet.
And the {T,R}CR2's Synchronous Mode bits must be set at the same time whether
for Tx or Rx stream.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
---
This patch is pulled back from upstream:
commit 496a39d9ec238569fac6daceac8f5420c5edc2f1
Change-Id: Ib09d153b20251254277f3efacdc5d5b5d8f8425b
Reviewed-on: http://git.am.freescale.net:8181/19748
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
|
|
Enables/Disables the corresponding data channel for tx/rx operation.
A channel must be enabled before its FIFO is accessed, and then disable
it when tx/rx is stopped or idle.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
---
This patch is pulled back from upstream:
commit e5d0fa9c3ec59a40e0285d96b65b7f62875acd42
Change-Id: I44a321c2f74580bc6387688777434c88f027c17b
Reviewed-on: http://git.am.freescale.net:8181/19747
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
|
|
Because we cannot make sure which one of _dai_fmt() and _dai_sysclk()
will be firstly called. So move the RCSR/TCSR and TCR1/RCR1's
initialization to _dai_probe(), and this can make sure that before any
of {T,R}CR{1~5} register to be set the RCSR/TCSR's RE/TE bit has been
cleared for the hareware limitation.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
---
This patch is pulled back from upstream:
commit e6dc12d7198eddba2e3e7a13feab5c7edde7ba1d
Change-Id: Ie77345f4a2d84d55443e84d1c4cb2d2a9db766d0
Reviewed-on: http://git.am.freescale.net:8181/19746
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
|
|
Generally we would write code for local variable like:
static new_func()
{
struct xxx *yyy;
...
int ret;
}
But this driver only follows this pattern for some functions, not all.
Thus this patch sorts the local variable in the general way.
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
Reviewed-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
---
This patch is pulled back from upstream:
commit 4e3a99f5b004b30bc604d82e5498700649148e0d
Change-Id: Idcc0aea15b8b1daca140b05c5c9655cea43746b6
Reviewed-on: http://git.am.freescale.net:8181/19745
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
|
|
Since using dev_err() there's no need to mention SAI any more, it will
print the full name of the driver -- fsl_sai.
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
Reviewed-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
---
This patch is pulled back from upstream:
commit 190af12dad975f2ea7d69d1c5c9d36fec64da767
Change-Id: I2a186ded87bcafa273f99840e2eadb9e9ed63eba
Reviewed-on: http://git.am.freescale.net:8181/19744
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
|
|
We can save this ret to make the code neater.
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
Reviewed-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
---
This patch is pulled back from upstream:
commit 15b29dae6604d2d2daf586429ff12f26272a868a
Change-Id: Ib5d7742e67c1bf4a1e72bcf887fe8fe07250c900
Reviewed-on: http://git.am.freescale.net:8181/19743
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
|
|
SAi only supports two data channels on hardware level and the driver also does
register the min->1 and max->2, so no need to check channels.
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
Reviewed-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
---
This patch is pulled back from upstream:
commit d22e28cce80a93578787d273bf1fa26a2be2636b
Change-Id: Ia3f1e1375c9a69d7f0259af8e801594be7b464e2
Reviewed-on: http://git.am.freescale.net:8181/19742
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
|
|
Use common helper function snd_pcm_format_width() to make code neater.
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
Reviewed-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
---
This patch is pulled back from upstream:
commit 1d7003092771bd2feec30e2f3e5a06aa33479e08
Change-Id: I6baf4f7c72a0d9f6aa332745f9251069c9600ab4
Reviewed-on: http://git.am.freescale.net:8181/19741
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
|
|
There are two functions haven't clk_disable_unprepare() if having error.
Thus fix them.
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
Reviewed-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
---
This patch is pulled back from upstream:
commit 1fb2d9d7465bcbb519c582fa4a3bd04ff4fce2d2
Change-Id: Ia4a2525d2e32949f2092fcd4de86d46ada27b096
Reviewed-on: http://git.am.freescale.net:8181/19740
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
|
|
There is no need of this function and makes the code slightly shorter
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
---
This patch is pulled back from upstream:
commit a6af47ae5399baf4f5a2426b2121c1bcb9da4019
Change-Id: I194d8ebdd181be51985a2440b7da038ba933dc5c
Reviewed-on: http://git.am.freescale.net:8181/19739
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
|
|
This adds Freescale SAI ASoC Audio support.
This implementation is only compatible with device tree definition.
Features:
o Supports playback/capture
o Supports 16/20/24 bit PCM
o Supports 8k - 96k sample rates
o Supports master and slave mode.
Signed-off-by: Alison Wang <b18965@freescale.com>
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
---
This patch is pulled back from upstream:
commit 4355082149429d1f87b6fbfc3ebc6305a5372ce2
Change-Id: Id2c5064a47530ea7cf3e1442267efcbc8bef0f06
Reviewed-on: http://git.am.freescale.net:8181/19738
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
|