linux/sound/soc
Sylwester Nawrocki 4c5d146929 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>
2016-06-29 20:21:50 +01:00
..
adi
amd ASoC: AMD: free memory on error 2016-01-13 12:32:04 +00:00
atmel ASoC: atmel_ssc_dai: read DSP mode A data on rising edges of bclk 2016-04-27 14:47:41 +01:00
au1x ASoC: au1x: use correct format specifier 2016-04-13 06:39:36 +01:00
bcm ASoC: bcm2835: Add S16_LE support via packed DMA transfers 2016-04-27 17:35:53 +01:00
blackfin ASoC: blackfin: Convert to devm_snd_soc_register_card 2015-09-14 18:32:58 +01:00
cirrus
codecs ASoC: max98504: Add max98504 speaker amplifier driver 2016-06-29 20:21:50 +01:00
davinci Merge remote-tracking branches 'asoc/topic/davinci' and 'asoc/topic/dwc' into asoc-next 2016-05-13 14:26:46 +01:00
dwc ASoC: dwc: Use fifo depth to program FCR 2016-04-07 10:41:36 -07:00
fsl Merge remote-tracking branches 'asoc/topic/es8328', 'asoc/topic/find-dai', 'asoc/topic/fsl', 'asoc/topic/fsl-sai' and 'asoc/topic/fsl-ssi' into asoc-next 2016-05-13 14:27:01 +01:00
generic ASoC: simple-card: Add pm callbacks to platform driver 2016-05-09 16:24:16 +01:00
img ASoC: img: Add driver for Pistachio internal DAC 2015-12-12 22:56:35 +00:00
intel sound updates for 4.7-rc1 2016-05-19 13:41:32 -07:00
jz4740 ASoC: jz4740: Fix module autoload for OF platform driver 2015-09-14 18:46:14 +01:00
kirkwood ASoC: kirkwood: fix build failure 2016-05-23 17:50:51 +01:00
mediatek ASoC: mediatek: HDMI audio LR channel swapped 2016-04-26 11:25:51 +01:00
mxs Merge remote-tracking branches 'asoc/topic/max98926', 'asoc/topic/mtk', 'asoc/topic/mxs-saif', 'asoc/topic/nau8825' and 'asoc/topic/omap' into asoc-next 2016-03-13 15:17:18 +07:00
nuc900 dma, mm/pat: Rename dma_*_writecombine() to dma_*_wc() 2016-03-09 14:57:51 +01:00
omap Merge remote-tracking branch 'asoc/topic/omap' into asoc-next 2016-05-27 13:45:41 +01:00
pxa ASoC: pxa: Fix module autoload for platform drivers 2016-05-06 17:42:28 +01:00
qcom remove lots of IS_ERR_VALUE abuses 2016-05-27 15:26:11 -07:00
rockchip ASoC: rockchip: Revert "ASoC: rockchip: i2s: separate capture and playback" 2016-05-04 17:52:11 +01:00
samsung Merge remote-tracking branches 'asoc/topic/rt5640', 'asoc/topic/rt5659', 'asoc/topic/samsung' and 'asoc/topic/ssm4567' into asoc-next 2016-03-13 15:17:47 +07:00
sh rcar: src: skip disabled-SRC nodes 2016-05-12 15:30:29 +01:00
sirf
spear ASoC: SPEAr: Make SND_SPEAR_SOC select SND_SOC_GENERIC_DMAENGINE_PCM 2015-09-16 17:46:11 +01:00
sti ASoC: sti: select player for I2S/TDM TX bus 2016-04-18 11:04:55 +01:00
sunxi ASoC: sunxi: Add support for the SPDIF block 2016-02-20 01:25:51 +09:00
tegra Merge remote-tracking branches 'asoc/topic/tegra', 'asoc/topic/topology', 'asoc/topic/wm8903' and 'asoc/topic/wm8904' into asoc-next 2015-12-23 00:23:52 +00:00
txx9 ASoC: txx9: Convert to devm_snd_soc_register_platform 2015-08-28 18:09:04 +01:00
ux500 Merge branch 'topic/hw-constraint-single' into for-next 2015-10-23 06:57:50 +02:00
xtensa ASoC: xtfpga-i2s: Add missing __rcu annotation 2015-07-29 15:07:54 +01:00
zte Merge remote-tracking branches 'asoc/topic/wm8996', 'asoc/topic/xtensa' and 'asoc/topic/zx296702' into asoc-next 2015-08-30 15:59:18 +01:00
Kconfig ALSA: jack: Allow building the jack layer without input device 2016-02-23 09:03:07 +01:00
Makefile Merge remote-tracking branches 'asoc/topic/adsp' and 'asoc/topic/amd' into asoc-next 2016-01-11 13:54:32 +00:00
soc-ac97.c ASoC: ac97: use gpiochip data pointer 2016-04-26 15:36:57 +02:00
soc-cache.c
soc-compress.c ASoC: Last updates for v4.5 2016-01-11 17:50:15 +01:00
soc-core.c ASoC: Add kerneldoc comments for snd_soc_find_dai 2016-04-22 10:42:03 +01:00
soc-dapm.c ASoC: dapm: Make sure we have a card when displaying component widgets 2016-03-18 12:04:23 +00:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: dmaengine_pcm: Add support for packed transfers 2016-04-27 17:34:11 +01:00
soc-io.c
soc-jack.c
soc-ops.c Merge remote-tracking branches 'asoc/topic/kcontrol', 'asoc/topic/max98357a' and 'asoc/topic/mtk' into asoc-next 2015-12-23 00:23:44 +00:00
soc-pcm.c Merge remote-tracking branch 'asoc/topic/pcm' into asoc-next 2016-03-13 15:16:30 +07:00
soc-topology.c ASoC: topology: Fix memory leak in widget creation 2016-05-05 16:46:29 +01:00
soc-utils.c ASoC: Document snd-soc-dummy-dai purpose 2015-08-31 16:40:26 +01:00