/linux/Documentation/devicetree/bindings/pinctrl/ |
H A D | cirrus,lochnagar.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - patches@opensource.cirrus.com 15 Logic devices on mini-cards, as well as allowing connection of various 26 [2] Pinctrl: ../pinctrl/pinctrl-bindings.txt 29 [3] include/dt-bindings/pinctrl/lochnagar.h 37 - cirrus,lochnagar-pinctrl 39 gpio-controller: true 41 '#gpio-cells': [all …]
|
H A D | cirrus,madera.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - patches@opensource.cirrus.com 30 Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt 33 pin-settings: 40 '-pins$': 43 - $ref: pincfg-node.yaml# 44 - $ref: pinmux-node.yaml# 49 enum: [ aif1, aif2, aif3, aif4, mif1, mif2, mif3, pdmspk1, [all …]
|
/linux/sound/soc/codecs/ |
H A D | cs47l24.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * cs47l24.h -- ALSA SoC Audio driver for Cirrus Logic CS47L24 33 #define DRV_NAME "cs47l24-codec" 62 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in cs47l24_adsp_power_ev() 63 struct arizona *arizona = dev_get_drvdata(component->dev->parent); in cs47l24_adsp_power_ev() 67 ret = regmap_read(arizona->regmap, ARIZONA_SYSTEM_CLOCK_1, &v); in cs47l24_adsp_power_ev() 69 dev_err(component->dev, "Failed to read SYSCLK state: %d\n", ret); in cs47l24_adsp_power_ev() 80 static DECLARE_TLV_DB_SCALE(eq_tlv, -1200, 100, 0); 81 static DECLARE_TLV_DB_SCALE(digital_tlv, -6400, 50, 0); 82 static DECLARE_TLV_DB_SCALE(noise_tlv, -13200, 600, 0); [all …]
|
H A D | cs47l35.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 // Copyright (C) 2015-2019 Cirrus Logic, Inc. and 23 #include <linux/irqchip/irq-madera.h> 33 #define DRV_NAME "cs47l35-codec" 90 snd_soc_dapm_to_component(w->dapm); in cs47l35_adsp_power_ev() 92 struct madera_priv *priv = &cs47l35->core; in cs47l35_adsp_power_ev() 93 struct madera *madera = priv->madera; in cs47l35_adsp_power_ev() 97 ret = regmap_read(madera->regmap, MADERA_DSP_CLOCK_1, &freq); in cs47l35_adsp_power_ev() 99 dev_err(madera->dev, in cs47l35_adsp_power_ev() 109 ret = madera_set_adsp_clk(&cs47l35->core, w->shift, freq); in cs47l35_adsp_power_ev() [all …]
|
H A D | cs47l15.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 // Copyright (C) 2016-2019 Cirrus Logic, Inc. and 23 #include <linux/irqchip/irq-madera.h> 33 /* Mid-mode registers */ 39 #define DRV_NAME "cs47l15-codec" 72 snd_soc_dapm_to_component(w->dapm); in cs47l15_adsp_power_ev() 74 struct madera_priv *priv = &cs47l15->core; in cs47l15_adsp_power_ev() 75 struct madera *madera = priv->madera; in cs47l15_adsp_power_ev() 79 ret = regmap_read(madera->regmap, MADERA_DSP_CLOCK_2, &freq); in cs47l15_adsp_power_ev() 81 dev_err(madera->dev, in cs47l15_adsp_power_ev() [all …]
|
H A D | cs47l85.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 // Copyright (C) 2015-2019 Cirrus Logic, Inc. and 23 #include <linux/irqchip/irq-madera.h> 30 #define DRV_NAME "cs47l85-codec" 114 snd_soc_dapm_to_component(w->dapm); in cs47l85_adsp_power_ev() 116 struct madera_priv *priv = &cs47l85->core; in cs47l85_adsp_power_ev() 117 struct madera *madera = priv->madera; in cs47l85_adsp_power_ev() 121 ret = regmap_read(madera->regmap, MADERA_DSP_CLOCK_1, &freq); in cs47l85_adsp_power_ev() 123 dev_err(madera->dev, in cs47l85_adsp_power_ev() 133 ret = madera_set_adsp_clk(&cs47l85->core, w->shift, freq); in cs47l85_adsp_power_ev() [all …]
|
H A D | cs47l90.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 // Copyright (C) 2015-2019 Cirrus Logic, Inc. and 23 #include <linux/irqchip/irq-madera.h> 30 #define DRV_NAME "cs47l90-codec" 114 snd_soc_dapm_to_component(w->dapm); in cs47l90_adsp_power_ev() 116 struct madera_priv *priv = &cs47l90->core; in cs47l90_adsp_power_ev() 117 struct madera *madera = priv->madera; in cs47l90_adsp_power_ev() 121 ret = regmap_read(madera->regmap, MADERA_DSP_CLOCK_2, &freq); in cs47l90_adsp_power_ev() 123 dev_err(madera->dev, in cs47l90_adsp_power_ev() 130 ret = madera_set_adsp_clk(&cs47l90->core, w->shift, freq); in cs47l90_adsp_power_ev() [all …]
|
H A D | wm5110.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * wm5110.c -- WM5110 ALSA SoC Audio driver 35 #define DRV_NAME "wm5110-codec" 161 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in wm5110_sysclk_ev() 162 struct arizona *arizona = dev_get_drvdata(component->dev->parent); in wm5110_sysclk_ev() 163 struct regmap *regmap = arizona->regmap; in wm5110_sysclk_ev() 167 switch (arizona->rev) { in wm5110_sysclk_ev() 198 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in wm5110_adsp_power_ev() 199 struct arizona *arizona = dev_get_drvdata(component->dev->parent); in wm5110_adsp_power_ev() 203 ret = regmap_read(arizona->regmap, ARIZONA_SYSTEM_CLOCK_1, &v); in wm5110_adsp_power_ev() [all …]
|
H A D | cs47l92.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 // Copyright (C) 2016-2019 Cirrus Logic, Inc. and 23 #include <linux/irqchip/irq-madera.h> 33 #define DRV_NAME "cs47l92-codec" 60 struct madera_priv *priv = &cs47l92->core; in cs47l92_put_demux() 61 struct madera *madera = priv->madera; in cs47l92_put_demux() 62 struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; in cs47l92_put_demux() 67 if (ucontrol->value.enumerated.item[0] > e->items - 1) in cs47l92_put_demux() 68 return -EINVAL; in cs47l92_put_demux() 70 mux = ucontrol->value.enumerated.item[0]; in cs47l92_put_demux() [all …]
|
H A D | wm5102.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * wm5102.c -- WM5102 ALSA SoC Audio driver 34 #define DRV_NAME "wm5102-codec" 42 static DECLARE_TLV_DB_SCALE(eq_tlv, -1200, 100, 0); 43 static DECLARE_TLV_DB_SCALE(digital_tlv, -6400, 50, 0); 44 static DECLARE_TLV_DB_SCALE(noise_tlv, -13200, 600, 0); 45 static DECLARE_TLV_DB_SCALE(ng_tlv, -10200, 600, 0); 583 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in wm5102_sysclk_ev() 584 struct arizona *arizona = dev_get_drvdata(component->dev->parent); in wm5102_sysclk_ev() 585 struct regmap *regmap = arizona->regmap; in wm5102_sysclk_ev() [all …]
|
H A D | wm8903.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * wm8903.c -- WM8903 ALSA SoC Audio driver 5 * Copyright 2008-12 Wolfson Microelectronics 6 * Copyright 2011-2012 NVIDIA, Inc. 11 * - TDM mode configuration. 41 { 4, 0x0018 }, /* R4 - Bias Control 0 */ 42 { 5, 0x0000 }, /* R5 - VMID Control 0 */ 43 { 6, 0x0000 }, /* R6 - Mic Bias Control 0 */ 44 { 8, 0x0001 }, /* R8 - Analogue DAC 0 */ 45 { 10, 0x0001 }, /* R10 - Analogue ADC 0 */ [all …]
|
H A D | rt5616.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5616.c -- RT5616 ALSA SoC audio codec driver 22 #include <sound/soc-dapm.h> 287 static const DECLARE_TLV_DB_SCALE(out_vol_tlv, -4650, 150, 0); 288 static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -65625, 375, 0); 289 static const DECLARE_TLV_DB_SCALE(in_vol_tlv, -3450, 150, 0); 290 static const DECLARE_TLV_DB_SCALE(adc_vol_tlv, -17625, 375, 0); 351 val = snd_soc_component_read(snd_soc_dapm_to_component(source->dapm), RT5616_GLB_CLK); in is_sys_clk_from_pll() 466 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in rt5616_adc_event() 490 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in rt5616_charge_pump_event() [all …]
|
H A D | rt5514.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5514.c -- RT5514 ALSA SoC audio codec driver 24 #include <sound/soc-dapm.h> 31 #include "rt5514-spi.h" 120 regmap_write(rt5514->i2c_regmap, 0x18002000, 0x000010ec); in rt5514_enable_dsp_prepare() 122 regmap_write(rt5514->i2c_regmap, 0x18002200, 0x00028604); in rt5514_enable_dsp_prepare() 124 regmap_write(rt5514->i2c_regmap, 0xfafafafa, 0x00000001); in rt5514_enable_dsp_prepare() 125 /* mini-core reset */ in rt5514_enable_dsp_prepare() 126 regmap_write(rt5514->i2c_regmap, 0x18002f00, 0x0005514b); in rt5514_enable_dsp_prepare() 127 regmap_write(rt5514->i2c_regmap, 0x18002f00, 0x00055149); in rt5514_enable_dsp_prepare() [all …]
|
H A D | wm8900.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * wm8900.c -- WM8900 ALSA Soc Audio driver 10 * - Tristating. 11 * - TDM. 12 * - Jack detect. 13 * - FLL source configuration, currently only MCLK is supported. 224 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in wm8900_hp_event() 286 static const DECLARE_TLV_DB_SCALE(out_pga_tlv, -5700, 100, 0); 288 static const DECLARE_TLV_DB_SCALE(out_mix_tlv, -1500, 300, 0); 290 static const DECLARE_TLV_DB_SCALE(in_boost_tlv, -1200, 600, 0); [all …]
|
H A D | wm8996.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * wm8996.c - WM8996 audio codec interface 5 * Copyright 2011-2 Wolfson Microelectronics PLC. 108 regcache_mark_dirty(wm8996->regmap); \ 299 static const DECLARE_TLV_DB_SCALE(sidetone_tlv, -3600, 150, 0); 300 static const DECLARE_TLV_DB_SCALE(digital_tlv, -7200, 75, 1); 301 static const DECLARE_TLV_DB_SCALE(out_digital_tlv, -1200, 150, 0); 302 static const DECLARE_TLV_DB_SCALE(out_tlv, -900, 75, 0); 303 static const DECLARE_TLV_DB_SCALE(spk_tlv, -900, 150, 0); 304 static const DECLARE_TLV_DB_SCALE(eq_tlv, -1200, 100, 0); [all …]
|
H A D | wm8995.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * wm8995.c -- WM8995 ALSA SoC Audio driver 26 #include <sound/soc-dapm.h> 400 regcache_mark_dirty(wm8995->regmap); \ 414 static const DECLARE_TLV_DB_SCALE(digital_tlv, -7200, 75, 1); 415 static const DECLARE_TLV_DB_SCALE(in1lr_pga_tlv, -1650, 150, 0); 417 static const DECLARE_TLV_DB_SCALE(sidetone_tlv, -3600, 150, 0); 420 "Differential", "Single-ended IN1LN", "Single-ended IN1LP" 427 "Differential", "Single-ended IN1RN", "Single-ended IN1RP" 495 dev_dbg(component->dev, "Class W source AIF2DAC\n"); in wm8995_update_class_w() [all …]
|
H A D | wm8993.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * wm8993.c -- WM8993 ALSA SoC audio driver 5 * Copyright 2009-12 Wolfson Microelectronics plc 42 { 1, 0x0000 }, /* R1 - Power Management (1) */ 43 { 2, 0x6000 }, /* R2 - Power Management (2) */ 44 { 3, 0x0000 }, /* R3 - Power Management (3) */ 45 { 4, 0x4050 }, /* R4 - Audio Interface (1) */ 46 { 5, 0x4000 }, /* R5 - Audio Interface (2) */ 47 { 6, 0x01C8 }, /* R6 - Clocking 1 */ 48 { 7, 0x0000 }, /* R7 - Clocking 2 */ [all …]
|
H A D | wm8994.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * wm8994.c -- WM8994 ALSA SoC Audio driver 5 * Copyright 2009-12 Wolfson Microelectronics plc 114 struct wm8994 *control = wm8994->wm8994; in wm8958_micd_set_rate() 120 idle = !wm8994->jack_mic; in wm8958_micd_set_rate() 124 sysclk = wm8994->aifclk[1]; in wm8958_micd_set_rate() 126 sysclk = wm8994->aifclk[0]; in wm8958_micd_set_rate() 128 if (control->pdata.micd_rates) { in wm8958_micd_set_rate() 129 rates = control->pdata.micd_rates; in wm8958_micd_set_rate() 130 num_rates = control->pdata.num_micd_rates; in wm8958_micd_set_rate() [all …]
|
/linux/sound/soc/samsung/ |
H A D | bells.c | 1 // SPDX-License-Identifier: GPL-2.0+ 8 #include <sound/soc-dapm.h> 59 struct bells_drvdata *bells = card->drvdata; in bells_set_bias_level() 62 rtd = snd_soc_get_pcm_runtime(card, &card->dai_link[DAI_DSP_CODEC]); in bells_set_bias_level() 64 component = codec_dai->component; in bells_set_bias_level() 66 if (dapm->dev != codec_dai->dev) in bells_set_bias_level() 71 if (dapm->bias_level != SND_SOC_BIAS_STANDBY) in bells_set_bias_level() 77 bells->sysclk_rate); in bells_set_bias_level() 81 if (bells->asyncclk_rate) { in bells_set_bias_level() 85 bells->asyncclk_rate); in bells_set_bias_level() [all …]
|
H A D | speyside.c | 1 // SPDX-License-Identifier: GPL-2.0+ 8 #include <sound/soc-dapm.h> 27 rtd = snd_soc_get_pcm_runtime(card, &card->dai_link[1]); in speyside_set_bias_level() 30 if (dapm->dev != codec_dai->dev) in speyside_set_bias_level() 63 rtd = snd_soc_get_pcm_runtime(card, &card->dai_link[1]); in speyside_set_bias_level_post() 66 if (dapm->dev != codec_dai->dev) in speyside_set_bias_level_post() 71 if (card->dapm.bias_level == SND_SOC_BIAS_STANDBY) { in speyside_set_bias_level_post() 93 card->dapm.bias_level = level; in speyside_set_bias_level_post() 128 /* Re-run DAPM to make sure we're using the correct mic bias */ in speyside_set_polarity() 147 struct snd_soc_component *component = dai->component; in speyside_wm8996_init() [all …]
|
/linux/sound/soc/sunxi/ |
H A D | sun8i-codec.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 * (C) Copyright 2010-2016 9 * Mylène Josserand <mylene.josserand@free-electrons.com> 27 #include <sound/soc-dapm.h> 251 if (scodec->clk_bus) { in sun8i_codec_runtime_resume() 252 ret = clk_prepare_enable(scodec->clk_bus); in sun8i_codec_runtime_resume() 259 regcache_cache_only(scodec->regmap, false); in sun8i_codec_runtime_resume() 261 ret = regcache_sync(scodec->regmap); in sun8i_codec_runtime_resume() 274 regcache_cache_only(scodec->regmap, true); in sun8i_codec_runtime_suspend() 275 regcache_mark_dirty(scodec->regmap); in sun8i_codec_runtime_suspend() [all …]
|
/linux/drivers/pinctrl/cirrus/ |
H A D | pinctrl-lochnagar.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (c) 2017-2018 Cirrus Logic, Inc. and 20 #include <linux/pinctrl/pinconf-generic.h> 29 #include <dt-bindings/pinctrl/lochnagar.h> 31 #include "../pinctrl-utils.h" 35 #define LN_CDC_AIF1_STR "codec-aif1" 36 #define LN_CDC_AIF2_STR "codec-aif2" 37 #define LN_CDC_AIF3_STR "codec-aif3" 38 #define LN_DSP_AIF1_STR "dsp-aif1" 39 #define LN_DSP_AIF2_STR "dsp-aif2" [all …]
|
/linux/sound/soc/intel/boards/ |
H A D | cht_bsw_rt5645.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * cht-bsw-rt5645.c - ASoc Machine driver for Intel Cherryview-based platforms 25 #include <sound/soc-acpi.h> 27 #include "../atom/sst-atom-controls.h" 28 #include "../common/soc-intel-quirks.h" 31 #define CHT_CODEC_DAI1 "rt5645-aif1" 32 #define CHT_CODEC_DAI2 "rt5645-aif2" 47 #define CHT_RT5645_SSP2_AIF2 BIT(16) /* default is using AIF1 */ 69 struct snd_soc_dapm_context *dapm = w->dapm; in platform_clock_control() 70 struct snd_soc_card *card = dapm->card; in platform_clock_control() [all …]
|
H A D | cht_bsw_rt5672.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * cht_bsw_rt5672.c - ASoc Machine driver for Intel Cherryview-based platforms 21 #include <sound/soc-acpi.h> 23 #include "../atom/sst-atom-controls.h" 24 #include "../common/soc-intel-quirks.h" 29 #define CHT_CODEC_DAI "rt5670-aif1" 53 struct snd_soc_dapm_context *dapm = w->dapm; in platform_clock_control() 54 struct snd_soc_card *card = dapm->card; in platform_clock_control() 61 dev_err(card->dev, "Codec dai not found; Unable to set platform clock\n"); in platform_clock_control() 62 return -EIO; in platform_clock_control() [all …]
|
H A D | bytcr_wm5102.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * bytcr_wm5102.c - ASoc Machine driver for Intel Baytrail platforms with a 8 * Copyright (C) 2014-2020 Intel Corp 27 #include <sound/soc-acpi.h> 29 #include "../atom/sst-atom-controls.h" 51 /* Note these values are pre-shifted for easy use of setting quirks */ 59 static int quirk_override = -1; 61 MODULE_PARM_DESC(quirk, "Board-specific quirk override"); 102 struct snd_soc_card *card = w->dapm->card; in byt_wm5102_spkvdd_power_event() 105 gpiod_set_value_cansleep(priv->spkvdd_en_gpio, in byt_wm5102_spkvdd_power_event() [all …]
|