summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/nau8825.c
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: nau8825: Fix jack detection across suspendBen Zhang2016-03-281-55/+71
| | | | | | | | | | | | | | | Jack plug status is rechecked at resume to handle plug/unplug in S3 when the chip has no power. Suspend/resume callbacks are moved from the i2c dev_pm_ops to snd_soc_codec_driver. soc_resume_deferred is a delayed work which may trigger nau8825_set_bias_level. The bias change races against dev_pm_ops, causing jack detection issues. soc_resume_deferred ensures bias change and snd_soc_codec_driver suspend/resume are sequenced correctly. Signed-off-by: Ben Zhang <benzh@chromium.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: nau8825: fix issue that pop noise when start playbackJohn Hsu2016-03-121-43/+126
| | | | | | | | | | | Reduce pop noise in power up and down sequence when playback. The DAPM widgets graph is reconstructed to ensure the register write sequence at playback matches exactly to the v5 clickless sequence provided by Nuvoton. Signed-off-by: John Hsu <KCHSU0@nuvoton.com> Signed-off-by: Ben Zhang <benzh@chromium.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: nau8825: add pm functionYong Zhi2015-11-161-0/+31
| | | | | | | | | | | This patch adds pm function and fixes following issues 1.i2c timeout after resume, after resume we saw interrupt handler is called prior to i2c controller is resumed.This causes i2c timeout 2.no audio after resume Signed-off-by: Fang, Yang A <yang.a.fang@intel.com> Signed-off-by: Yong Zhi <yong.zhi@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: nau8825: Show device propertiesBen Zhang2015-10-231-0/+30
| | | | | | | The codec device properties are printed for debugging. Signed-off-by: Ben Zhang <benzh@chromium.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: nau8825: Add FLL configurationBen Zhang2015-10-231-0/+163
| | | | | | | | | snd_soc_codec_driver.set_pll is implemented to configure the FLL. The codec internal SYSCLK can be from either the MCLK pin directly, or the FLL. This is configured by snd_soc_codec_driver.set_pll. Signed-off-by: Ben Zhang <benzh@chromium.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: nau8825: add acpi match IDFang, Yang A2015-10-081-0/+10
| | | | | | | This patch adds the acpi match ID for nau8825 codec Signed-off-by: Fang, Yang A <yang.a.fang@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: nau8825: fix platform_no_drv_owner.cocci warningskbuild test robot2015-10-071-1/+0
| | | | | | | | | | | | sound/soc/codecs/nau8825.c:1096:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci CC: Anatol Pomozov <anatol.pomozov@gmail.com> Signed-off-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: nau8825: Add driver for headset chip Nuvoton 8825Anatol Pomozov2015-10-071-0/+1107
Sponsored-by: Google Chromium project Signed-off-by: Anatol Pomozov <anatol.pomozov@gmail.com> Signed-off-by: Mark Brown <broonie@kernel.org>