summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-05-26Merge branch 'topic/davinci' of ↵Mark Brown7-114/+175
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-omap
2014-05-21ASoC: omap: Replace instances of rtd->codec->card with rtd->cardLars-Peter Clausen3-7/+5
No need to go via the CODEC to get a pointer to the card. This will help to eventually remove the card field from the snd_soc_codec struct. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Jarkko Nikula <jarkko.nikula@bitmer.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-02ASoC: omap: Amstrad E3 needs TTY support for codecArnd Bergmann1-1/+1
The cx20442 codec driver used here requires the TTY layer to be enabled, or we get a link error: sound/built-in.o: In function `cx20442_codec_remove': cx20442.c:398: undefined reference to `tty_hangup' sound/built-in.o: In function `ams_delta_remove': ams-delta.c:613: undefined reference to `tty_unregister_ldisc' sound/built-in.o: In function `ams_delta_cx20442_init': ams-delta.c:559: undefined reference to `tty_register_ldisc' This adds the missing dependency in the E3 configuration, there was already one for the codec. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Xia Kaixu <kaixu.xia@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01ASoC: omap: RX-51 audio needs I2CArnd Bergmann1-1/+1
The codec requires I2C to be enabled, so any other option that selects it should also depend on I2C. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Xia Kaixu <kaixu.xia@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01ASoC: omap: rx51: Add DT supportSebastian Reichel2-0/+80
This patch adds device tree support to the Nokia N900 audio driver and adds documentation for the DT binding. Signed-off-by: Sebastian Reichel <sre@kernel.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01Merge branch 'asoc-dt' into asoc-omapMark Brown2-27/+54
2014-05-01ASoC: dt: Allow Aux Codecs to be specified using DTSebastian Reichel2-27/+54
This patch adds support for specifying auxiliary codecs and codec configuration via device tree phandles. This change adds new fields to snd_soc_aux_dev and snd_soc_codec_conf and adds support for the changes to SoC core methods. Signed-off-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Sebastian Reichel <sre@kernel.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01ASoC: omap: rx51: Add some error messagesSebastian Reichel1-3/+13
Add more error messages making it easier to identify problems. Signed-off-by: Sebastian Reichel <sre@kernel.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01ASoC: omap: rx51: get GPIO numbers via gpiod APISebastian Reichel1-35/+79
Update the driver to get GPIO numbers from the devm gpiod API instead of requesting hardcoded GPIO numbers. Signed-off-by: Sebastian Reichel <sre@kernel.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01ASoC: omap: rx51: omap_mcbsp_st_add_controls: add id parameterSebastian Reichel3-4/+5
This is a preparation for DT based booting where the McBSP id is set to -1 for all McBSP instances. Signed-off-by: Sebastian Reichel <sre@kernel.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01ASoC: davinci: add dependencies for SND_SOC_TLV320AIC3XArnd Bergmann1-5/+5
This codec requires I2C to be enabled, so any other option that selects it should also depend on I2C. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Xia Kaixu <kaixu.xia@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-30ASoC: omap: rx51: Use devm_snd_soc_register_cardSebastian Reichel1-20/+22
This patch converts the rx51 ASoC module to use devm_snd_soc_register_card. Signed-off-by: Pali Rohár <pali.rohar@gmail.com> Signed-off-by: Sebastian Reichel <sre@kernel.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-30ASoC: omap: rx51: Add module aliasSebastian Reichel1-0/+1
Add module alias to support driver autoloading. Signed-off-by: Pali Rohár <pali.rohar@gmail.com> Signed-off-by: Sebastian Reichel <sre@kernel.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-30ASoC: omap: rx51: Use static const char * const arraysSebastian Reichel1-3/+5
Mark the array and the string const by using "static const char * const foo[]" instead of "static const char* foo[]". Signed-off-by: Sebastian Reichel <sre@kernel.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-22ASoC: davinci-mcasp: Convert to use devm_snd_soc_register_component()Peter Ujfalusi1-10/+7
It allows to remove code from the cleanup paths. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-22ASoC: davinci-pcm: Convert to use devm_snd_soc_register_platform()Peter Ujfalusi5-28/+1
Remove the cleanup code related to the platform from the DAI drivers at the same time to avoid breakage. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-22ASoC: omap-hdmi: Remove excess curly bracketPeter Ujfalusi1-1/+0
Fix the error added by commit: ASoC: omap-hdmi: Bind the platform driver to the dai driver when loading Reported-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-18ASoC: davinci-mcasp: Update MCASP_VERSION_4 platform driver registrationPeter Ujfalusi1-6/+31
Version 4 of McASP is using omap-pcm as platform driver and the omap-pcm platform need to be registered using the cpu dai's device. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-18Merge commit 'topic/omap' into asoc-davinciMark Brown7-105/+109
2014-04-18ASoC: omap-pcm: Drop the platform driver init codePeter Ujfalusi1-25/+0
The omap-pcm no longer need to be a platform driver since all cpu_dai will bind the platform to it's own device which we can use. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-18ASoC: omap-hdmi-card: Use the same name for platform as the cpu_daiPeter Ujfalusi1-1/+1
Now that the platform driver is registered with the cpu_dai's device we can use the same name for it. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-18ASoC: rx51: Use the same name for platform as the cpu_daiPeter Ujfalusi1-1/+1
Now that the platform driver is registered with the cpu_dai's device we can use the same name for it. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-18ASoC: osk5912: Use the same name for platform as the cpu_daiPeter Ujfalusi1-1/+1
Now that the platform driver is registered with the cpu_dai's device we can use the same name for it. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-18ASoC: omap3pandora: Use the same name for platform as the cpu_daiPeter Ujfalusi1-2/+2
Now that the platform driver is registered with the cpu_dai's device we can use the same name for it. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-18ASoC: n810: Use the same name for platform as the cpu_daiPeter Ujfalusi1-1/+1
Now that the platform driver is registered with the cpu_dai's device we can use the same name for it. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-18ASoC: ams-delta: Use the same name for platform as the cpu_daiPeter Ujfalusi1-1/+1
Now that the platform driver is registered with the cpu_dai's device we can use the same name for it. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-18ASoC: am3517evm: Use the same name for platform as the cpu_daiPeter Ujfalusi1-1/+1
Now that the platform driver is registered with the cpu_dai's device we can use the same name for it. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-18ASoC: omap-twl4030: Use the same name/node for platform as the cpu_daiPeter Ujfalusi1-2/+8
Now that the platform driver is registered with the cpu_dai's device we can use the same name/node for it. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-18ASoC: omap-abe-twl6040: Use the cpu_dai node to specify the platform driverPeter Ujfalusi1-6/+2
Now that the platform driver is registered with the cpu_dai's device we can use the same node for it instead of the hardwired name. We can also remove the cpu_dai_name and platform_name from the dai_link struct since we only support DT boot on OMAP4/5 Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-18ASoC: omap-hdmi: Bind the platform driver to the dai driver when loadingPeter Ujfalusi1-1/+6
Use the same device for the platform driver when registering as the dai driver. This will enable us to clean up some DT booted cases. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-18ASoC: omap-dmic: Bind the platform driver to the dai driver when loadingPeter Ujfalusi1-0/+5
Use the same device for the platform driver when registering as the dai driver. This will enable us to clean up some DT booted cases. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-18ASoC: omap-dmic: Assign the dai DMA data at earlier timePeter Ujfalusi1-1/+3
Assign the dai dma data at dai driver probe time, not in startup. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-18ASoC: omap-pcm: Support for binding the platform driver to dai devicesPeter Ujfalusi2-0/+36
With the new calls it is going to be possible to bind the platform driver to a dai device which makes it easier for us in a long run to handle DT boots, and opens the possibility to move machine driver to generic simple card. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-18ASoC: omap-mcbsp: Bind the platform driver to the dai driver when loadingPeter Ujfalusi1-4/+9
Use the same device for the platform driver when registering as the dai driver. This will enable us to clean up some DT booted cases. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-18ASoC: omap-mcbsp: Assign the dai DMA data at earlier timePeter Ujfalusi1-3/+4
Assign the dai dma data at dai driver probe time, not in startup. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-18ASoC: omap-mcpdm: Bind the platform driver to the dai driver when loadingPeter Ujfalusi1-1/+7
Use the same device for the platform driver when registering as the dai driver. This will enable us to clean up some DT booted cases. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-18ASoC: omap-mcpdm: Assign the dai DMA data at earlier timePeter Ujfalusi1-3/+5
Assign the dai dma data at dai driver probe time, not in startup. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-18Merge branch 'topic/devm' of ↵Mark Brown2-0/+36
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-omap
2014-04-18ASoC: Add resource managed snd_soc_register_platform()Peter Ujfalusi2-0/+36
Simplify error handling and remove repetitive (and rarely executed) code for unregistration by providing a devm_snd_soc_register_platform() platform. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-14ASoC: davinci-mcasp: Do not touch 0x04 register above McASP_VERSION_2Peter Ujfalusi1-1/+1
This register is not defined in TI81xx and on AM335x/AM437x it is the SYSCONFIG register which should not be touched by drivers since it is related to PM and handled by the generic PM code. This register write was there since the first time the davinci-mcasp driver was appeared in the kernel. The reason why it did not caused any issues on AM335x/AM437x is that it sets bit 1 in SYSCONFIG register which in turn will enable the smart-idle mode. This is the default mode and this is the mode McASP should be in also when in use. On TI81xx the register is not defined. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-14ASoC: omap3pandora: Convert to table based DAPM setupLars-Peter Clausen1-22/+9
Use table based setup to register the controls and DAPM widgets and routes. This on one hand makes the code a bit shorter and cleaner and on the other hand the board level DAPM elements get registered in the card's DAPM context rather than in the CODEC's DAPM context. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-14ASoC: omap: rx51: Convert to table based control and DAPM setupLars-Peter Clausen1-40/+7
Use table based setup to register the controls and DAPM widgets and routes. This on one hand makes the code a bit shorter and cleaner and on the other hand the board level DAPM elements get registered in the card's DAPM context rather than in the CODEC's DAPM context. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-14ASoC: ams-delta: Convert to table based DAPM and control setupLars-Peter Clausen1-43/+21
Use table based setup to register the controls and DAPM widgets and routes. This on one hand makes the code a bit shorter and cleaner and on the other hand the board level DAPM elements get registered in the card's DAPM context rather than in the CODEC's DAPM context. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-14ASoC: davinci-mcasp: Remove excess empty lines from davinci_mcasp_set_dai_fmt()Peter Ujfalusi1-8/+0
To make the code look uniform. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-14ASoC: davinci-mcasp: Support for LEFT_J formatPeter Ujfalusi1-0/+7
Configuration for LEFT_J format. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-14ASoC: davinci-mcasp: Add support for I2S formatPeter Ujfalusi1-1/+10
The FS needs to be inverted in McASP compared to other supported formats. Use a flag to indicate if the FS needs to be inverted. At the same time fail when non supported format is asked since the default case was anyways configuring McASP to a not valid format. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-14ASoC: davinci-mcasp: Move the FS polarity change out from the switch casePeter Ujfalusi1-13/+14
FS polarity can be either rising or falling edge in McASP. Instead of accessing the registers in every switch/case set a flag and write the registers after the switch for the invert configuration. This change will help when adding support for more formats also. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-14ASoC: davinci-mcasp: Support for DSP_A formatPeter Ujfalusi1-0/+7
DSP_A is like DSP_B mode but with one bit delay after the FS. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-14ASoC: davinci-mcasp: Format data delay configuration enhancementPeter Ujfalusi1-3/+11
Use intermediate variable for the data delay needed for the specific format and write the register after the format configuration at once. This will help to control the number of lines as support for more formats going to be added. Also fixes a case when we switch between two formats with different delay requirements. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-14ASoC: davinci-mcasp: Fine tune and correct the DMA burst configurationPeter Ujfalusi1-2/+15
When the AFIFO is not enabled but more than one serializers are used the DMA need to transfer number of words equal to active serializers when a DMA request is generated. When configuring the burst for the DMA avoid using value '1' for the burst since it is going to enable additional logic in the DMA drivers. Burst '1' means that the DMA should send/receive one word per DMA requests. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>