linux/sound/soc
Philipp Zabel 37768e3917
ASoC: ssm2602: Fix ADC powerup sequencing
According to the ssm2603 data sheet (control register sequencing), the
digital core should be activated only after all necessary bits in the
power register are enabled, and a delay determined by the decoupling
capacitor on the VMID pin has passed. If the digital core is activated
too early, or even before the ADC is powered up, audible artifacts
appear at the beginning of the recorded signal.

The digital core is also needed for playback, so when recording starts
it may already be enabled. This means we cannot get the power sequence
correct when we want to be able to start recording after playback.

As a workaround put the MIC mute switch into the DAPM routes. This
way we can keep the recording disabled until the MIC Bias has settled
and thus get rid of audible artifacts.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
m.felsch@pengutronix.de: adapt commit message
m.felsch@pengutronix.de: drop of configuration as mentioned by Mark:
			 https://patchwork.kernel.org/patch/10407449/
Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2019-02-06 15:46:06 +00:00
..
adi
amd ASoC: amd: Fix potential NULL pointer dereference 2019-01-15 19:06:23 +00:00
atmel ASoC: atmel: add SND_SOC_I2C_AND_SPI dependency 2018-09-27 23:22:40 +01:00
au1x treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
bcm ASoC: bcm: use devm_snd_soc_register_component() 2018-09-10 15:13:12 +01:00
cirrus ASoC: cirrus: i2s: IRQ-based stream watchdog 2018-05-11 11:27:33 +09:00
codecs ASoC: ssm2602: Fix ADC powerup sequencing 2019-02-06 15:46:06 +00:00
dwc Merge remote-tracking branches 'asoc/topic/dwc', 'asoc/topic/es7134', 'asoc/topic/es8316', 'asoc/topic/es8328' and 'asoc/topic/fsl' into asoc-next 2018-03-28 10:29:36 +08:00
fsl ASoC: fsl-asoc-card: fix object reference leaks in fsl_asoc_card_probe 2019-02-04 10:03:44 +01:00
generic ASoC: simple-card: rename to asoc_simple_card_canonicalize_platform() 2019-01-21 18:14:16 +00:00
hisilicon ASoC: hisilicon: fix fall-through annotations 2018-09-17 10:30:23 -07:00
img treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
intel ASoC: Intel: cht_bsw_rt5672: remove useless test 2019-01-29 15:48:11 +00:00
jz4740
kirkwood ASoC: Remove depends on HAS_DMA in case of platform dependency 2018-04-18 11:17:09 +01:00
mediatek ASoC: mediatek: btcvsd: fix spelling mistake "offest" -> "offset" 2019-02-04 17:12:03 +01:00
meson ASoC: meson: fix do_div warning in spdifin 2018-12-13 16:20:28 +00:00
mxs
nuc900 ASoC: nuc900: use devm_snd_soc_register_component() 2018-09-10 15:14:14 +01:00
pxa ASoC: eliminate left-over from Raumfeld machine driver removal 2019-01-07 16:58:19 +00:00
qcom ASoC: apq8096: add slim support 2019-01-28 18:19:10 +00:00
rockchip ASoC: rockchip: add missing slave_config setting for I2S 2018-11-13 10:06:23 -08:00
samsung ASoC: add for_each_card_prelinks() macro 2018-09-20 10:18:34 -07:00
sh ASoC: rsnd: fixup TDM Split mode check for CTU 2019-02-02 15:42:11 +00:00
sirf ASoC: sirf: Fix potential NULL pointer dereference 2018-07-30 12:02:30 +01:00
spear
sprd ASoC: sprd: Add Spreadtrum audio DMA platfrom driver 2019-01-29 18:10:12 +00:00
sti ASoC: sti: Use snd_pcm_stop_xrun() helper 2018-07-04 15:41:35 +01:00
stm ASoC: Convert a few more users to using %pOFn instead of device_node.name 2018-11-16 19:07:35 -08:00
sunxi Merge branch 'for-4.20' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-4.21 intel dep 2018-12-13 14:36:46 +00:00
tegra ASoC: tegra_sgtl5000: fix device_node refcounting 2018-10-17 19:51:22 +01:00
ti ASoC: ti: davinci-mcasp: Add support for GPIO mode of the pins 2019-01-04 15:20:48 +00:00
txx9 ASoC: txx9: use devm_snd_soc_register_component() 2018-09-10 15:14:47 +01:00
uniphier ASoC: uniphier: change functions to static 2018-07-30 12:02:32 +01:00
ux500
xilinx ASoC: xlnx: parse AES audio parameters 2019-01-14 22:16:10 +00:00
xtensa
zte ASoC: zte: Fix incorrect PCM format bit usages 2018-07-26 15:48:19 +01:00
Kconfig ASoC: sprd: Add Spreadtrum audio DMA platfrom driver 2019-01-29 18:10:12 +00:00
Makefile ASoC: sprd: Add Spreadtrum audio DMA platfrom driver 2019-01-29 18:10:12 +00:00
soc-ac97.c ASoC: ac97: convert to SPDX identifiers 2018-07-02 10:56:09 +01:00
soc-acpi.c ASoC: acpi: fix: continue searching when machine is ignored 2018-11-20 16:53:17 +00:00
soc-compress.c ASoC: add for_each_dpcm_be() macro 2018-09-20 10:31:20 -07:00
soc-core.c ASoC: soc-core: clear platform pointers on error 2019-02-04 10:23:51 +01:00
soc-dapm.c ASoC: dapm: Check for NULL widget in dapm_update_dai_unlocked 2019-02-06 15:42:27 +00:00
soc-devres.c ASoC: soc-devres.c: convert to SPDX identifiers 2018-07-02 10:55:22 +01:00
soc-generic-dmaengine-pcm.c DMAengine updates for v4.19-rc1 2018-08-18 15:55:59 -07:00
soc-io.c ASoC: soc-io.c: convert to SPDX identifiers 2018-07-02 10:53:55 +01:00
soc-jack.c ASoC: soc-jack.c: convert to SPDX identifiers 2018-07-02 10:55:12 +01:00
soc-ops.c ASoC: Fix UBSAN warning at snd_soc_get/put_volsw_sx() 2018-09-11 11:58:52 +01:00
soc-pcm.c ASoC: dapm: Only power up active channels from a DAI 2019-02-02 17:15:17 +01:00
soc-topology.c ASoC: topology: unload physical dai link in remove 2019-02-04 11:59:30 +01:00
soc-utils.c ASoC: soc-utils: Rename dummy_dma_ops to snd_dummy_dma_ops 2018-09-27 23:15:46 +01:00