ASoC: max98504: Add max98504 speaker amplifier driver
authorSylwester Nawrocki <s.nawrocki@samsung.com>
Wed, 29 Jun 2016 11:26:37 +0000 (13:26 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 29 Jun 2016 19:21:50 +0000 (20:21 +0100)
commit4c5d1469297d14d59f5f673493bc02fc939293a4
tree93f75c4a502630ccaea9298eb0ecee0c1cfddccd
parent1a695a905c18548062509178b98bc91e67510864
ASoC: max98504: Add max98504 speaker amplifier driver

This patch adds driver for the MAX98504 speaker amplifier.  The MAX98504
is a high efficiency mono class D amplifier that features an integrated
boost converter with voltage and current sensing ADCs for Dynamic Speaker
Management.
This driver does not include support for the I2S DAI, as we wouldn't be
able  to test such code in a hardware configuration where the amplifier
has only wired the analogue input.

Signed-off-by: Inha Song <ideal.song@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
[s.nawrocki: removed unused macro definitions, rewrote regulator supply
 related parts, rewrote regmap configuration code, added support for speaker
 enable and global chip enable through DAPM, rewritten as component driver,
 added PDM DAI definition and TDM callbacks for PDM channels configuration]
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
--
Changes since v2:
 - added parsing of the VBAT brownout DT properties,
 - removed MAX98504_REG_SPEAKER_SOURCE_SELECT register initialization,
 - removed unused macro definitions.

Changes since v1:
 - none.

Changes since initial version:
 - added regulator supply handling,
 - added DAPM widges for speaker source selection,
 - added PDM DAI definition and TDM callbacks for setting up active
   PDM Tx channels and I/V sense ADC data mapping,
 - removed all optional DT properties, added regulator supply properties
   in the DT binding.
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/Kconfig
sound/soc/codecs/Makefile
sound/soc/codecs/max98504.c [new file with mode: 0644]
sound/soc/codecs/max98504.h [new file with mode: 0644]