summaryrefslogtreecommitdiff
path: root/sound/soc/tegra/tegra_asoc_utils.h
AgeCommit message (Collapse)Author
2012-09-04ASoC: Tegra: Add ALSA ctl to set DMA addressSumit Bhattacharya
Add support for setting of DMA address through alsa control for AVP rendering. This is required to directly do DMA from IRAM to I2S. Bug 1024403 Change-Id: I6b79ae6e9a562160a19d238b817e1a8b407ac208 Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-on: http://git-master/r/127436 (cherry picked from commit f270f46bef98a56f44432e608041adb617c22559) Signed-off-by: Chandrakanth Gorantla <cgorantla@nvidia.com> Change-Id: I195aae9043f967273283579f44d5367fe73d542f Reviewed-on: http://git-master/r/129159 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Scott Peterson <speterson@nvidia.com>
2012-07-27asoc: tegra: integration of slave mode support.Ankit Gupta
Add master/slave configurability support interface for all codecs. Currently, complete slave mode functionality is added only for MAX98088 and WM8903 codec only. By default, board parameters will set i2s master mode for all codecs. asoc: tegra: utils: add support for i2s master/slave mode. Support for i2s in master or slave mode is made generic by obtaining information from platform data. Signed-off-by: Ankit Gupta <ankitgupta@nvidia.com> Change-Id: Ided0fcefb6cdb124b78aab423bfd8c7dccd4bf6e Reviewed-on: http://git-master/r/111553 (cherry picked from commit bb1ad7222f9c75424a45976d16de418bc927dc04) asoc: tegra: wm8903 machine: add support for i2s in slave mode. Add support for i2s as slave for playback and capture use cases. Signed-off-by: Ankit Gupta <ankitgupta@nvidia.com> Change-Id: I1f6b73a0a1b690ecd311b0ff4107aadbb1f037d8 Reviewed-on: http://git-master/r/111472 (cherry picked from commit 0434f8ba74adefe60597d95d30a455b9b2ece9b8) asoc: tegra: wm8753 machine: add support for i2s in slave mode. Add support for i2s as slave for playback and capture use cases. Signed-off-by: Ankit Gupta <ankitgupta@nvidia.com> Change-Id: Ib0596955cd0c6ac5ec57b0f3c6ecc9e4ed41268c Reviewed-on: http://git-master/r/113208 (cherry picked from commit 0fc6b5e3a98d9f8866f73d7914b0c590334ce862) asoc: tegra: aic326x machine: add support for i2s in slave mode. Support for i2s in slave mode is added for playabck and capture use cases. Signed-off-by: Ankit Gupta <ankitgupta@nvidia.com> Change-Id: I41f6459765f075703ad7f5f8dc9d4628dd853820 Reviewed-on: http://git-master/r/112874 (cherry picked from commit 9a89ede36a1dca6f53250444e819443fb6f28d09) asoc: tegra: rt5640 machine: add support for i2s in slave mode. Add support for i2s as slave for playback and capture use cases. Signed-off-by: Ankit Gupta <ankitgupta@nvidia.com> Change-Id: I850ec62149b8a8d244445b70658b632dbce06558 Reviewed-on: http://git-master/r/112878 (cherry picked from commit 1d51561c8edf47d8557a825450a48ee8743a185b) asoc: tegra: max98088 machine: add support for codec i2s as slave. Add support for codec i2s as slave during voice Call. (Bug 998682) Signed-off-by: Ankit Gupta <ankitgupta@nvidia.com> Change-Id: I8fc54d367e9acd5417d270869cb5a9398b3b527f Reviewed-on: http://git-master/r/110559 (cherry picked from commit 78a490867e131b1cc892094ddd844c2b892cafb6) asoc: tegra: max98095 machine: add support for i2s in slave mode. Add support for i2s as slave for playback and capture use cases. Signed-off-by: Ankit Gupta <ankitgupta@nvidia.com> Change-Id: I80944d403be94c55ad2ce31aea921d80ea7c088a Reviewed-on: http://git-master/r/112875 Reviewed-on: http://git-master/r/118080 Reviewed-by: Scott Peterson <speterson@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com>
2012-05-28ASoC: Tegra: Add support for AVP renderingSumit Bhattacharya
Add alsa controls to specify which alsa device is used by AVP to render audio. Also add support for disabling DMA interrupt when AVP renders audio. Also add couple of alsa controls to query DMA channel ID and DMA buffer physical address. Bug 968814 Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com> Change-Id: If593329db72bf00d97f7433f5c54e13500281253 Reviewed-on: http://git-master/r/97916 Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
2012-04-26ASoC: Tegra: Pass snd_soc_card handle in tegra_asoc_utils_initSumit Bhattacharya
Change prototype of tegra_asoc_utils_init to pass snd_soc_card handle. It is needed to move common tegra machine driver codes to tegra_asoc_utils interface. Bug 968814 Change-Id: I98490ffdda51cf7d0b89adadb23c31892183bc0e Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-on: http://git-master/r/97914 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2012-01-30asoc:tegra: Support I2S slave modeScottPeterson
Support I2S slave mode. Disable pll_p_out1 and pll_a to reduce power when in slave mode. Slave mode disabled by default. Reviewed-on: http://git-master/r/76046 Change-Id: I873a11d54f1e037d99c86ff4cec06ee83064902a Signed-off-by: ScottPeterson <speterson@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/77765 Reviewed-by: Automatic_Commit_Validation_User
2011-11-30ASoC: Tegra: Don't allow PLL rate change while it is in useSumit Bhattacharya
Expose a new API to lock pll_a, pll_a_out0 and mclk rates. Any dai-link which sets any of these clocks should call this API from hwparam() to lock these rates and should release the lock once dai-link shutdown is called. When lock is held by any dai-link request for change in any of these clocks will not be granted. Bug 872652 Change-Id: I583b4849acde7e588531e60c6c5cd5156badb4f2 Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-on: http://git-master/r/63828 Reviewed-by: Scott Peterson <speterson@nvidia.com> Rebase-Id: R044806997c82a11115a6a110196ac82402aceca5
2011-11-30asoc: tegra: add code to enable/disable clocksNikesh Oswal
add code to enable/disable pll_a and cdev1 clocks Bug: 862023 Change-Id: If5b6014f82651e2286802ba6d76f77b1b5419b41 Signed-off-by: Nikesh Oswal <noswal@nvidia.com> Reviewed-on: http://git-master/r/61085 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com> Rebase-Id: Rddb3206531e76e7ea28df691f6aa86a50f7c66d0
2011-11-30ASoC: Tegra: utils: Add support for Tegra30 devicesStephen Warren
Tegra30 has some additional clocks that need to be manipulated, names some clocks differently, runs PLLs at different base rates, etc. The utility code needs to handle this. Signed-off-by: Stephen Warren <swarren@nvidia.com> Rebase-Id: R295313c25d9eae15a7cc423953f50f9132790c9e
2011-04-20ASoC: Tegra: Don't return mclk_changed from utils_set_rateStephen Warren
Only the clock programming code needs to know whether the clocks changed, and that is encapsulated within tegra_asoc_utils_set_rate(). The machine driver's call to snd_soc_dai_set_sysclk(codec_dai, ...) is safe irrespective of whether the clocks changed. (Applying Mark's TrimSlice review comments to the existing driver) Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-01-31ASoC: Tegra: utils: Don't use global variablesStephen Warren
Instead, have the machine driver provide storage for the utility data somehow. For Harmony in particular, store this within struct tegra_harmony, itself referenced by snd_soc_card's drvdata. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-01-10ASoC: tegra: Machine utility codeStephen Warren
Many portions of Tegra ASoC machine drivers will be similar or identical. To avoid cut/paste, this file will act as a repository for all that common code. For now, it solely includes code to reprogram the audio PLL for 44.1KHz- vs. 48KHz-based sample rates. Signed-Off-By: Stephen Warren <swarren@nvidia.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>