summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/tas571x.c
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: tas571x: added support for TAS5721Petr Kulhavy2016-03-311-0/+76
| | | | | | | This adds support for TAS5721. Signed-off-by: Petr Kulhavy <petr@barix.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: tas571x: added missing register literalsPetr Kulhavy2016-03-311-0/+28
| | | | | | | | | | | | | | The list of TAS571x registers was incomplete. Added the missing register definitions up to the register 0x25. Added volatile and read-only register tables into tas5711_regmap_config and tas5717_regmap_config. The chip has 256 registers in total. But from address 0x29 on (0x26 to 0x28 are reserved) the register width varies between 20, 12 and 8 bytes, which the register map cannot represent. Signed-off-by: Petr Kulhavy <petr@barix.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: tas571x: chip type detection via I2C namePetr Kulhavy2016-03-301-8/+7
| | | | | | | | | | | The chip selection was relying only on DT. It was not possible to use the driver without DT. This adds the chip type detection from the I2C name, which allows to use the driver from the platform driver without DT. Signed-off-by: Petr Kulhavy <petr@barix.com> Reviewed-by: Kevin Cernekee <cernekee@chromium.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: tas571x: implemented digital mutePetr Kulhavy2016-03-291-4/+18
| | | | | | | | | | | | The driver did not have a mute function. The amplifier was brought out of shutdown mode (hard-mute) once for ever in probe(), which was causing clicks and pops when altering the I2C register configuration later. This adds the digital_mute() function. The amplifier unmute in probe() was removed. Signed-off-by: Petr Kulhavy <petr@barix.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: tas571x: Replace direct snd_soc_codec dapm field accessLars-Peter Clausen2015-07-071-1/+1
| | | | | | | | | | The dapm field of the snd_soc_codec struct is eventually going to be removed, in preparation for this replace all manual access to codec->dapm.bias_level with snd_soc_codec_get_bias_level(). Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Kevin Cernekee <cernekee@chromium.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: tas571x: Eliminate redundant dev->of_node NULL checkKevin Cernekee2015-05-061-9/+4
| | | | | | | | of_match_device() checks if dev->of_node is NULL, so we don't need to do it again in the probe function. Signed-off-by: Kevin Cernekee <cernekee@chromium.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: tas751x: Factor setting of new bias level into the coreMark Brown2015-05-041-1/+0
| | | | Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: tas571x: New driver for TI TAS571x power amplifiersKevin Cernekee2015-05-041-0/+520
Introduce a new codec driver for the Texas Instruments TAS5711/TAS5717/TAS5719 power amplifier chips. These chips are typically used to take an I2S digital audio input and drive 10-20W into a pair of speakers. Signed-off-by: Kevin Cernekee <cernekee@chromium.org> Signed-off-by: Mark Brown <broonie@kernel.org>