#
4eaf75fa |
|
23-Jun-2022 |
Charles Keepax <ckeepax@opensource.cirrus.com> |
ASoC: dmic: Remove now redundant non_legacy_dai_naming flag The ASoC core has now been changed to default to the non-legacy DAI naming, as such drivers using the new scheme no longer need to specify the non_legacy_dai_naming flag. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220623125250.2355471-76-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
3271be06 |
|
17-Apr-2022 |
Shengjiu Wang <shengjiu.wang@nxp.com> |
ASoC: dmic: Add support for DSD data format Add DSD format support in this generic dmic driver: DSD_U8, DSD_U16_LE, DSD_U32_LE, Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1650251910-8932-1-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
5d7e0b15 |
|
22-Apr-2020 |
Mark Brown <broonie@kernel.org> |
ASoC: dmic: Allow GPIO operations to sleep If there is a power GPIO provided we control it from DAPM context so there is no problem with a sleeping GPIO, use the _cansleep() version of the API to allow this. Signed-off-by: Mark Brown <broonie@kernel.org> Reviewed-by: Tzung-Bi Shih <tzungbi@google.com> Link: https://lore.kernel.org/r/20200422083550.50711-1-broonie@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
2b27bdcc |
|
29-May-2019 |
Thomas Gleixner <tglx@linutronix.de> |
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details you should have received a copy of the gnu general public license along with this program if not write to the free software foundation inc 51 franklin st fifth floor boston ma 02110 1301 usa extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 246 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Alexios Zavras <alexios.zavras@intel.com> Reviewed-by: Allison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190530000436.674189849@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
902d8222 |
|
04-Jan-2019 |
Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> |
ASoC: dmic: declare trigger function as static No reason why this is global, fix warnings with W=1 Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
f6f30a60 |
|
27-Nov-2018 |
Jenny TC <jenny.tc@intel.com> |
ASoC: dmic: introduce module_param wakeup_delay Introducing a module param for wakeup_delay in order to align with modeswitch_delay parameter. With this change, both wakeup_delay and modeswitch_delay parameters can be passed as module parameters. Signed-off-by: Jenny TC <jenny.tc@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
bc0a7dbc |
|
27-Nov-2018 |
Jenny TC <jenny.tc@intel.com> |
ASoC: dmic: introduce mode switch delay On startup, applications such as PulseAudio or CRAS enable playback or capture on all PCM devices to verify that configurations are correct, and close them immediately. For DMICs, this can result in the clock being turned off very quickly, which may not compatible with internal state machine transition requirements. This patch add a mode-switch delay which will prevent the clock from being turned off without complying with manufacturer timing specifications. While the DMIC clock may be controlled at a lower level, be it with hardware or firmware, applying the delay during the STOP_TRIGGER phase ensures that there is no race condition, e.g. with the hardware/firmware turning off the clock earlier Signed-off-by: Sathyanarayana Nujella <sathyanarayana.nujella@intel.com> Signed-off-by: Jairaj Arava <jairaj.arava@intel.com> Signed-off-by: Harsha Priya <harshapriya.n@intel.com> Signed-off-by: Jenny TC <jenny.tc@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
cb06a037 |
|
29-Aug-2018 |
Jerome Brunet <jbrunet@baylibre.com> |
ASoC: dmic: add DT module alias Before this patch the only alias provided by the dmic module is: alias: platform:dmic-codec Device instantiated from DT will not probe automatically with this After this patch, here is the new alias list: alias: platform:dmic-codec alias: of:N*T*Cdmic-codecC* alias: of:N*T*Cdmic-codec Now the dmic codec probes automatically when instantiated from DT. Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
15b7c5de |
|
20-Feb-2018 |
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
ASoC: dmic: don't use codec anymore commit 6d6c3946d877 ("ASoC: dmic: replace codec to component") replaced codec to component, but commit 05c9b302eda7 ("ASoC: dmic: Add optional wakeup delay") used codec again. This patch fix it up. Fixes: 05c9b302eda7 ("ASoC: dmic: Add optional wakeup delay") Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
05c9b302 |
|
16-Feb-2018 |
Matthias Kaehlcke <mka@chromium.org> |
ASoC: dmic: Add optional wakeup delay On some systems a delay is needed after switching on the clocks, to allow the output to stabilize and avoid a popping noise at the beginning of the recording. Add the optional device tree property 'wakeup-delay-ms' and apply the specified delay after enabling the mic. A blocking delay can't be applied in dmic_daiops_trigger() since the function is called in atomic context. Instead use a DAPM event handler to set the enable GPIO and apply the delay in the handler. Signed-off-by: Matthias Kaehlcke <mka@chromium.org> Reviewed-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
6d6c3946 |
|
28-Jan-2018 |
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
ASoC: dmic: replace codec to component Now we can replace Codec to Component. Let's do it. Note: xxx_codec_xxx() -> xxx_component_xxx() .idle_bias_off = 0 -> .idle_bias_on = 1 .ignore_pmdown_time = 0 -> .use_pmdown_time = 1 - -> .endianness = 1 - -> .non_legacy_dai_naming = 1 Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
35b84bf0 |
|
19-Jan-2018 |
Matthias Kaehlcke <mka@chromium.org> |
ASoC: dmic: Fix check of return value from read of 'num-channels' Commit 7fb59e940f62 ("ASoC: codecs: dmic: Make number of channels configurable") introduces an optional property to the device tree to specify the number of DMIC channels. dmic_codec_probe() uses of_property_read_u32() to read the DT value, and expects a return value of -ENOENT when the property does not exist. This expectation is incorrect, the actual value returned in this case is -EINVAL (see of_find_property_value_of_size(), which is called under the hood). Check for -EINVAL instead. Fixes: 7fb59e940f62 ("ASoC: codecs: dmic: Make number of channels configurable") Signed-off-by: Matthias Kaehlcke <mka@chromium.org> Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
7fb59e94 |
|
05-Jan-2018 |
Matthias Kaehlcke <mka@chromium.org> |
ASoC: codecs: dmic: Make number of channels configurable The DMIC DAI driver specifies a number of 1 to 8 channels for each DAI. The actual number of mics can currently not be configured in the device tree or audio glue, but is derived from the min/max channels of the CPU and codec DAI. A typical CPU DAI has two or more channels, in consequence a single mic is treated as a stereo/multi channel device, even though only one channel carries audio data. This change adds the option to specify the number of used DMIC channels in the device tree. When specified this value overwrites the default channels_max value of 8 in the snd_soc_dai_driver struct of the codec. Signed-off-by: Matthias Kaehlcke <mka@chromium.org> Reviewed-by: Rob Herring <robh@kernel.org> Acked-by: Arnaud Pouliquen <arnaud.pouliquen@st.com> Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
23c7159a |
|
16-Aug-2017 |
huang lin <hl@rock-chips.com> |
ASoC: codec: use enable pin to control dmic start and stop on some board use enable pin to control dmic start and stop, so add this feature in dmic driver. Signed-off-by: Lin Huang <hl@rock-chips.com> Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
a180ba45 |
|
03-Aug-2017 |
Bhumika Goyal <bhumirks@gmail.com> |
ASoC: codecs: add const to snd_soc_codec_driver structures Declare snd_soc_codec_driver structures as const as they are only passed as an argument to the function snd_soc_register_codec. This argument is of type const, so declare the structures with this property as const. In file codecs/sn95031.c, snd_soc_codec_driver structure is also used in a copy operation along with getting passed to snd_soc_register_codec. So, it can be made const too. Done using Coccinelle: @match disable optional_qualifier@ identifier s; position p; @@ static struct snd_soc_codec_driver s@p={...}; @good1@ identifier match.s; position p; @@ snd_soc_register_codec(...,&s@p,...) @bad@ identifier match.s; position p!={match.p,good1.p}; @@ s@p @depends on !bad disable optional_qualifier@ identifier match.s; @@ static +const struct snd_soc_codec_driver s={...}; Signed-off-by: Bhumika Goyal <bhumirks@gmail.com> Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
29685e20 |
|
25-Jul-2017 |
Arnaud Pouliquen <arnaud.pouliquen@st.com> |
ASoC: codec: add DT support in dmic codec Add of_table to allows DT probing. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@st.com> Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
a73b8e89 |
|
08-Aug-2016 |
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
ASoC: codec duplicated callback function goes to component on dmic codec driver and component driver has duplicated callback functions, and codec side functions are just copied to component side when register timing. This was quick-hack, but no longer needed. This patch moves these functions from codec driver to component driver. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
c756e83d |
|
20-Oct-2014 |
Wolfram Sang <wsa@kernel.org> |
ASoC: codecs: drop owner assignment from platform_drivers A platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
|
#
a85f9da7 |
|
27-Aug-2013 |
Lars-Peter Clausen <lars@metafoo.de> |
ASoC: dmic: Convert table based DAPM setup Let the core take care of instantiating the DAPM widgets and routes, this makes the code a bit shorter. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
|
#
7a79e94e |
|
07-Dec-2012 |
Bill Pemberton <wfp5p@virginia.edu> |
ASoC: codecs: remove __dev* attributes CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
5bbcc3c0 |
|
23-Nov-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Convert CODEC drivers to module_platform_driver Factors out a bit of boilerplate. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
da155d5b |
|
14-Jul-2011 |
Paul Gortmaker <paul.gortmaker@windriver.com> |
sound: Add module.h to the previously silent sound users Lots of sound drivers were getting module.h via the implicit presence of it in <linux/device.h> but we are going to clean that up. So fix up those users now. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
|
#
d5e4b0ad |
|
12-May-2011 |
Misael Lopez Cruz <misael.lopez@ti.com> |
ASoC: DMIC codec - Add input widget Digital microphones can have some additional elements in their audio path (like microphone bias). An input widget is required for digital microphone CODEC driver to allow external connections in machine drivers. Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com> Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
a710770e |
|
06-Jan-2011 |
David Lambert <dlambert@ti.com> |
ASoC: DMIC codec: Adding a generic DMIC codec This codec is to be used by the DMIC driver to control the DMIC codec. This driver will be used on future implementations of the DMIC driver to support codec specific features. At this time, the codec driver just registers the codec DAI. Signed-off-by: David Lambert <dlambert@ti.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
|