aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/fsl/fsl_esai.c
Commit message (Collapse)AuthorAge
* ENGR00319687 ASoC: fsl_esai: esai reset can't work after adding regcacheShengjiu Wang2014-06-24
| | | | | | | | | The reason is that PRRC and PCRC isn't cleared in restore_reg(), then update_bits for PCRC and PRRC will fail for cache is not updated. In other side, remove the store_reg() and restore_reg for adding regcache, and use regcache_sync to restore the registers. Signed-off-by: Shengjiu Wang <b02247@freescale.com>
* ENGR00318773-7 ASoC: fsl_esai: Add driver suspend and resume to support MEGA ↵Nicolin Chen2014-06-19
| | | | | | | | | | | | 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>
* ENGR00317675-1 ASoC: fsl: esai: refine esai for tdm supportShengjiu Wang2014-06-10
| | | | | | | Add parameter for slots, and caculate the number of TX/RX pins with slots. Signed-off-by: Shengjiu Wang <b02247@freescale.com>
* ASoC: fsl-esai: fix ESAI TDM slot settingXiubo Li2014-04-30
| | | | | | | | Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com> Acked-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org> (cherry picked from commit 236014ac7a6524f9f466139c2e47af70cb340ba3) Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
* ENGR00310878-2 ASoC: fsl_esai: cherry-pick from upstream and merge to mainlineShengjiu Wang2014-04-29
| | | | | | | | | | | | | | | cherry-picked commit is 43d24e76b69826ce32292f47060ad78cdd0197fa Header of this commit is "ASoC: fsl_esai: Add ESAI CPU DAI driver", use upstream driver to replace current one. Merged feature is: 1. Move setting of PRRC and PCRC to the end of hw_params, and disable it in shutdown function. 2. Merged the xrun handler with this commit. 3. Use dma init with NO_RESIDUE|NO_DT|COMPAT. 4. Add spba clock for ESAI Signed-off-by: Shengjiu Wang <b02247@freescale.com>
* ENGR00310878-1 Asoc: fsl: refine clock tree for ESAIShengjiu Wang2014-04-29
| | | | | | | There are three clock for ESAI, esai_extal, esai_ipg, esai_mem. Make the clock for ESAI more clear. Signed-off-by: Shengjiu Wang <b02247@freescale.com>
* ENGR00307835-3 ASoC: fsl: implement the ESAI xrun handler.Shengjiu Wang2014-04-16
| | | | | | | When esai xrun happened, there is possibility of channel swap. So ESAI need to be reset. Signed-off-by: Shengjiu Wang <b02247@freescale.com>
* ENGR00307835-1 ASoC: fsl: refine esai driver for sync modeShengjiu Wang2014-04-16
| | | | | | | 1. PCRC and PRRC should be set after the setting of control register according the RM. Then no need init TCCR and RCCR in init function. Signed-off-by: Shengjiu Wang <b02247@freescale.com>
* ENGR00299756-5 ASoC: fsl_esai: Add default init for ESAI after probe()Nicolin Chen2014-04-16
| | | | | | | | This patch extracts the register init code for ESAI along with the default slot number which is more common to I2S and LEFT_J mode. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
* ENGR00299756-1 ASoC: fsl_esai: Add missing clock enabler to ASoC interfacesNicolin Chen2014-04-16
| | | | | | | | | All of these functions might be called before we enable the core clock in the startup() by set_bias_level() or late_probe() in machine driver for example. To make it safe, we here add pair of clock en/disabling to each function. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
* ENGR00289643-2 ASoC: fsl: Add missing spba clock for esai and spdifNicolin Chen2014-04-16
| | | | | | | | Both esai and spdif are using SDMA script to transmit and receive data while the essential spba clock is missed in the current two drivers. Thus add them. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
* ENGR00283079-1 ASoC: fsl: Implement different DMA buffer sizesNicolin Chen2014-04-16
| | | | | | | | | 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>
* ENGR00274585-4 ASoC: fsl: add esai driverShengjiu Wang2014-04-16
add esai driver. add bindings documentation of esai Signed-off-by: Shengjiu Wang <b02247@freescale.com>