summaryrefslogtreecommitdiff
path: root/sound/soc/codecs
AgeCommit message (Collapse)AuthorFilesLines
2015-03-04Merge remote-tracking branch 'asoc/fix/sta32x' into asoc-linusMark Brown1-4/+2
2015-03-04Merge remote-tracking branch 'asoc/fix/rt5677' into asoc-linusMark Brown1-16/+16
2015-03-04Merge remote-tracking branch 'asoc/fix/rt5670' into asoc-linusMark Brown1-1/+6
2015-02-26ASoC: rt5677: Correct the routing paths of that after IF1/2 DACx MuxOder Chiou1-16/+16
The patch corrects the routing paths of that after IF1/2 DACx Mux Signed-off-by: Oder Chiou <oder_chiou@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-02-24ASoC: sta32x: fix register range in regmap.Thomas Niederprüm1-4/+2
The STA32X_AUTO3 is a writable register that currently does not appear in the regmap ranges(neither read nor write). By adding this register to the register ranges there is no gap anymore and the existing register ranges can be joined. This fixes a regression introduced in commit a1be4cead9b9504aa6fc93b624975601cec8c188 where the driver was moved to direct regmap usage and the STA32X_AUTO3 register was missed. That made it impossible to choose the preset EQ mode set through the STA32X_AUTO3 register. Fixes: a1be4cead9 (ASoC: sta32x: Convert to direct regmap API usage) Signed-off-by: Thomas Niederprüm <niederp@physik.uni-kl.de> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-02-24ASoC: rt5670: Set RT5670_IRQ_CTRL1 non volatileBard Liao1-1/+0
RT5670_IRQ_CTRL1(0xbd) is a non volatile register. And we need to restore its value after suspend/resume. Signed-off-by: Bard Liao <bardliao@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org> Cc: stable@vger.kernel.org
2015-02-21ASoC: max98357a: Add missing header filesKenneth Westfield1-1/+10
Add missing header files to avoid implicit declarations and indirect inclusions. Signed-off-by: Kenneth Westfield <kwestfie@codeaurora.org> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-02-21ASoC: rt5670: Fix the speaker mono output issueBard Liao1-0/+6
We need to set left/right control for the speaker amp to get stereo output on speaker. Signed-off-by: Bard Liao <bardliao@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-02-12ASoC: max98357a: Fix missing includeVincent Stehlé1-0/+1
This fixes the following compilation errors: sound/soc/codecs/max98357a.c: In function ‘max98357a_daiops_trigger’: sound/soc/codecs/max98357a.c:30:3: error: implicit declaration of function ‘gpiod_set_value’ [-Werror=implicit-function-declaration] sound/soc/codecs/max98357a.c: In function ‘max98357a_codec_probe’: sound/soc/codecs/max98357a.c:55:2: error: implicit declaration of function ‘devm_gpiod_get’ [-Werror=implicit-function-declaration] sound/soc/codecs/max98357a.c:61:2: error: implicit declaration of function ‘gpiod_direction_output’ [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net> Cc: Kenneth Westfield <kwestfie@codeaurora.org> Cc: Mark Brown <broonie@kernel.org> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-02-12ASoC: Fix MAX98357A codec driver dependenciesGuenter Roeck1-1/+1
The max98357a driver depends on GPIOLIB. This may cause the following build failure. sound/soc/codecs/max98357a.c: In function 'max98357a_daiops_trigger': sound/soc/codecs/max98357a.c:30:3: error: implicit declaration of function 'gpiod_set_value' sound/soc/codecs/max98357a.c: In function 'max98357a_codec_probe': sound/soc/codecs/max98357a.c:55:2: error: implicit declaration of function 'devm_gpiod_get' sound/soc/codecs/max98357a.c:61:2: error: implicit declaration of function 'gpiod_direction_output' Seen with mips:allmodconfig as well as various randconfig builds. Fixes: af5adf129369 ("ASoC: max98357a: Add MAX98357A codec driver") Cc: Kenneth Westfield <kwestfie@codeaurora.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-02-09Merge remote-tracking branches 'asoc/topic/wm8804', 'asoc/topic/wm8904', ↵Mark Brown5-11/+85
'asoc/topic/wm8960', 'asoc/topic/wm8988' and 'asoc/topic/xtfpga' into asoc-next
2015-02-09Merge remote-tracking branches 'asoc/topic/ts3a227e', 'asoc/topic/ts3a277e' ↵Mark Brown1-3/+32
and 'asoc/topic/txx9' into asoc-next
2015-02-09Merge remote-tracking branches 'asoc/topic/simple', 'asoc/topic/sta32x', ↵Mark Brown4-303/+590
'asoc/topic/tdm-slot', 'asoc/topic/tegra' and 'asoc/topic/tlv320aic3x' into asoc-next
2015-02-09Merge remote-tracking branches 'asoc/topic/rt5670', 'asoc/topic/rt5677', ↵Mark Brown3-1/+5
'asoc/topic/rx51', 'asoc/topic/samsung' and 'asoc/topic/sh' into asoc-next
2015-02-09Merge remote-tracking branches 'asoc/topic/pxa', 'asoc/topic/rcar' and ↵Mark Brown2-2/+34
'asoc/topic/rt286' into asoc-next
2015-02-09Merge remote-tracking branches 'asoc/topic/fsl-spdif', 'asoc/topic/imx', ↵Mark Brown7-99/+534
'asoc/topic/intel', 'asoc/topic/jz4740' and 'asoc/topic/max98357a' into asoc-next
2015-02-09Merge remote-tracking branches 'asoc/topic/cs42l73', 'asoc/topic/dai' and ↵Mark Brown1-2/+2
'asoc/topic/davinci' into asoc-next
2015-02-09Merge remote-tracking branches 'asoc/topic/bt-sco', 'asoc/topic/cs35l32', ↵Mark Brown4-7/+7
'asoc/topic/cs42l52' and 'asoc/topic/cs42l56' into asoc-next
2015-02-09Merge remote-tracking branches 'asoc/topic/ad193x', 'asoc/topic/alc5632', ↵Mark Brown2-4/+4
'asoc/topic/atmel' and 'asoc/topic/au1x' into asoc-next
2015-02-09Merge remote-tracking branch 'asoc/topic/w-codec' into asoc-nextMark Brown50-220/+362
2015-02-09Merge remote-tracking branch 'asoc/topic/pcm512x' into asoc-nextMark Brown2-22/+1019
2015-02-09Merge remote-tracking branches 'asoc/fix/ac97', 'asoc/fix/atmel', ↵Mark Brown9-53/+47
'asoc/fix/intel', 'asoc/fix/rt286', 'asoc/fix/rt5640', 'asoc/fix/samsung', 'asoc/fix/sgtl5000', 'asoc/fix/sta32x', 'asoc/fix/tlv320aic3x' and 'asoc/fix/wm8731' into asoc-linus
2015-02-09Merge tag 'asoc-v3.19-rc2' into asoc-linusMark Brown5-18/+225
ASoC: Updates for v3.20 Nothing too exciting here yet, a small optimization for DAPM from Lars-Peter and a few small bits and pieces for drivers but nothing that really stands out. # gpg: Signature made Tue 30 Dec 2014 00:15:48 HKT using RSA key ID 5D5487D0 # gpg: Oops: keyid_from_fingerprint: no pubkey # gpg: key AF88CD16: no public key for trusted key - skipped # gpg: key AF88CD16 marked as ultimately trusted # gpg: key 5621E907: no public key for trusted key - skipped # gpg: key 5621E907 marked as ultimately trusted # gpg: Good signature from "Mark Brown <broonie@sirena.org.uk>" # gpg: aka "Mark Brown <broonie@debian.org>" # gpg: aka "Mark Brown <broonie@kernel.org>" # gpg: aka "Mark Brown <broonie@tardis.ed.ac.uk>" # gpg: aka "Mark Brown <broonie@linaro.org>" # gpg: aka "Mark Brown <Mark.Brown@linaro.org>"
2015-02-09ASoC: rt5670: Set use_single_rw flag for regmapBard Liao1-0/+1
RT5670 doesn't support auto incrementing writes so driver should set the use_single_rw flag for regmap. Signed-off-by: Bard Liao <bardliao@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org> Cc: stable@vger.kernel.org
2015-02-09ASoC: rt286: Add rt288 codec supportBard Liao1-1/+3
This patch adds support for rt288 codec. Signed-off-by: Bard Liao <bardliao@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-02-09ASoC: max98357a: Fix build in !CONFIG_OF caseMark Brown1-1/+1
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-02-07ASoC: max98357a: Add MAX98357A codec driverKenneth Westfield3-0/+144
Add codec driver for the Maxim MAX98357A DAC. Signed-off-by: Kenneth Westfield <kwestfie@codeaurora.org> Acked-by: Banajit Goswami <bgoswami@codeaurora.org> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-02-05Merge tag 'asoc-fix-ac97-v3.19-rc7' of ↵Takashi Iwai3-14/+26
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: AC'97 fixes These are rather too large for this late in the release cycle but they're clear, well understood and have been tested to fix a regression which was introduced for v3.19. The details are all in Lars' changelog and they've been cooking in -next for a while, to a large extent out of conservatism about the size.
2015-02-05Merge remote-tracking branch 'asoc/fix/wm8731' into asoc-linusMark Brown1-0/+2
2015-02-05Merge remote-tracking branch 'asoc/fix/tlv320aic3x' into asoc-linusMark Brown1-1/+1
2015-02-05Merge remote-tracking branch 'asoc/fix/sgtl5000' into asoc-linusMark Brown1-5/+8
2015-02-05Merge remote-tracking branch 'asoc/fix/rt5640' into asoc-linusMark Brown1-0/+1
2015-02-05ASoC: rt286: Add customize setting for Dell DinoBard Liao2-1/+31
The patch add the customize setting for Dell Dino project. Signed-off-by: Bard Liao <bardliao@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-02-05ASoC: rt286: Fix potencial crash in jd functionBard Liao1-0/+2
We assign rt286->codec in rt286_probe. If rt286_jack_detect is invoked before rt286_probe, rt286->codec will be NULL and cause a kernel panic. Signed-off-by: Bard Liao <bardliao@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-02-05Merge branch 'topic/rt5645' of ↵Mark Brown2-58/+268
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel
2015-02-05ASoC: rt5645: add API to select ASRC clock sourceFang, Yang A2-41/+112
This patch defines an API to select the clock source for specified filters. Signed-off-by: Fang, Yang A <yang.a.fang@intel.com> Acked-by: Kevin Strasser <kevin.strasser@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-02-04ASoC: ts3a227e: fix sparse warningLad, Prabhakar1-0/+2
this patch fixes following sparse warning: ts3a227e.c:222:5: warning: symbol 'ts3a227e_enable_jack_detect' was not declared. Should it be static? Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-02-04ASoC: tlv320aic3x: Fix bad comment before intercon_extra_3104 definitionJyri Sarha1-1/+1
The intercon_extra_3104 is obviously for tlv320aic3104. Reported-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com> Signed-off-by: Jyri Sarha <jsarha@ti.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-02-03ASoC: sgtl5000: add delay before first I2C accessEric Nelson1-0/+3
To quote from section 1.3.1 of the data sheet: The SGTL5000 has an internal reset that is deasserted 8 SYS_MCLK cycles after all power rails have been brought up. After this time, communication can start ... 1.0us represents 8 SYS_MCLK cycles at the minimum 8.0 MHz SYS_MCLK. Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@kernel.org> Cc: stable@vger.kernel.org
2015-02-03ASoC: tlv320aic3x: Add support for tlv320aic3104Jyri Sarha1-101/+244
Disables GPIO support and LINE2 input and renames Mic3 input to Mic2, if tlv320aic3104 mode is seleced. Devicetree binding document is updated accordingly. Signed-off-by: Jyri Sarha <jsarha@ti.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-01-30ASoC: sgtl5000: Use shift mask when setting codec modeFilip Brozovic1-5/+5
Shift the I2S mode value by the necessary amount before writing the registers. This makes Right Justified and PCM mode work in addition to the default Left Justified mode. Signed-off-by: Filip Brozovic <fbrozovic@gmail.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-01-30ASoC: tlv320aic3x: Fix data delay configurationPeter Ujfalusi1-1/+1
Fix the issue introduced by: 368494093354 ASoC: tlv320aic3x: Add TDM support The CTRLC register were not receiving the correct delay configuration, which will corrupt DSP_A audio mode. Fixes: 368494093354 (ASoC: tlv320aic3x: Add TDM support) Reported-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@kernel.org> Cc: stable@vger.kernel.org
2015-01-29ASoC: pcm512x: Use the correct range constraints for S24_LEPeter Rosin1-19/+20
This was overlooked in the late change to remove the I2S padding bits from S24_LE mode. The patch also limits S32_LE mode to 384kHz, the maximum according to the datasheets. Signed-off-by: Peter Rosin <peda@axentia.se> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-01-29ASoC: pcm512x: Fixup warning splatPeter Rosin1-1/+1
Reported-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Peter Rosin <peda@axentia.se> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-01-29ASoC: rt5677: fix SPI dependencyArnd Bergmann2-1/+4
The rt5677 codec has gained code that requires SPI to work correctly, but there is no provision in Kconfig to prevent the driver from being used when SPI is disabled or a loadable module, resulting in this build error: sound/built-in.o: In function `rt5677_spi_write': :(.text+0xa7ba0): undefined reference to `spi_sync' sound/built-in.o: In function `rt5677_spi_driver_init': :(.init.text+0x253c): undefined reference to `spi_register_driver' ERROR: "spi_sync" [sound/soc/codecs/snd-soc-rt5677-spi.ko] undefined! ERROR: "spi_register_driver" [sound/soc/codecs/snd-soc-rt5677-spi.ko] undefined! This makes the SPI portion of the driver depend on the SPI subsystem, and disables the function that uses SPI for firmware download if SPI is disabled. The latter may not be the correct solution, but I could not come up with a better one. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Fixes: af48f1d08a54741 ("ASoC: rt5677: Support DSP function for VAD application") Signed-off-by: Mark Brown <broonie@kernel.org>
2015-01-28ASoC: wm8904: add dt ids tableAlexander Morozov1-1/+30
The WM8904 and WM8918 has the same data type, while the WM8912 has different data type. So, use the data in dt ids table to distinguish them. Signed-off-by: Alexander Morozov <linux@meltdown.ru> [voice.shen@atmel.com: add code to distinguish device type] Signed-off-by: Bo Shen <voice.shen@atmel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-01-28ASoC: pcm512x: Support SND_SOC_DAIFMT_CBM_CFSPeter Rosin1-2/+11
Signed-off-by: Peter Rosin <peda@axentia.se> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-01-28ASoC: pcm512x: Avoid the PLL for the DAC clock, if possiblePeter Rosin2-27/+96
The PLL introduces jitter, which in turn introduces noice if used to clock the DAC. Thus, avoid the PLL output, and use the PLL input to drive the DAC clock, if possible. This is described for the PCM5142/PCM5242 chips in the answers to the forum post "PCM5142/PCM5242 DAC clock source" at the TI E2E community pages (1). (1) http://e2e.ti.com/support/data_converters/audio_converters/f/64/t/389994 Signed-off-by: Peter Rosin <peda@axentia.se> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-01-28ASoC: pcm512x: Support mastering BCLK/LRCLK using the PLLPeter Rosin2-24/+478
Using the PLL in master mode requires using an external connection between one of the GPIO pins (configured as PLL/4 output) and the SCK pin. It also requires the external clock to be fed to some other GPIO pin instead of the SCK pin. This is described for the PCM5122 chip in the answers to the forum post "PCM5122 DAC as I2S master troubles with PLL mode" at the TI E2E community pages (1). The clocking functionality is also much better described in the datasheet for the chip PCM5242, which seems to be register compatible with PCM512x and PCM514x (which both have severely lacking datasheets). (1) http://e2e.ti.com/support/data_converters/audio_converters/f/64/t/267830 Signed-off-by: Peter Rosin <peda@axentia.se> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-01-28ASoC: pcm512x: Support mastering BCLK/LRCLK without using the PLLPeter Rosin2-17/+481
Use register field names from the seemingly compatible PCM5242 datasheet, as the PCM512x and PCM514x datasheets are severly lacking. Signed-off-by: Peter Rosin <peda@axentia.se> Signed-off-by: Mark Brown <broonie@kernel.org>