/openbmc/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 …]
|
/openbmc/linux/sound/soc/codecs/ |
H A D | adau1373.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 * Author: Lars-Peter Clausen <lars@metafoo.de> 24 #include "adau-utils.h" 323 0, 7, TLV_DB_SCALE_ITEM(-7900, 400, 1), 324 8, 15, TLV_DB_SCALE_ITEM(-4700, 300, 0), 325 16, 23, TLV_DB_SCALE_ITEM(-2300, 200, 0), 326 24, 31, TLV_DB_SCALE_ITEM(-700, 100, 0) 329 static const DECLARE_TLV_DB_MINMAX(adau1373_digital_tlv, -9563, 0); 330 static const DECLARE_TLV_DB_SCALE(adau1373_in_pga_tlv, -1300, 100, 1); 331 static const DECLARE_TLV_DB_SCALE(adau1373_ep_tlv, -600, 600, 1); [all …]
|
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 …]
|
/openbmc/linux/Documentation/sound/soc/ |
H A D | dpcm.rst | 10 digital audio to I2S DAI0, I2S DAI1 or PDM DAI2. This is useful for on SoC DSP 15 graph representing the DSP internal audio paths and uses the mixer settings to 18 DPCM re-uses all the existing component codec, platform and DAI drivers without 22 Phone Audio System with SoC based DSP 23 ------------------------------------- 26 document for all examples :- 29 | Front End PCMs | SoC DSP | Back End DAIs | Audio devices | 32 PCM0 <------------> * * <----DAI0-----> Codec Headset 34 PCM1 <------------> * * <----DAI1-----> Codec Speakers 35 * DSP * [all …]
|
H A D | dapm.rst | 11 such, can easily co-exist with the other PM systems. 60 Audio DAPM widgets fall into a number of types:- 109 Inter widget audio data buffer within a DSP. 111 DSP internal scheduler that schedules component/pipeline processing 116 Sample Rate Converter within DSP or CODEC 118 Asynchronous Sample Rate Converter within DSP or CODEC 127 (Widgets are defined in include/sound/soc-dapm.h) 130 There are convenience macros defined in soc-dapm.h that can be used to quickly 138 --------------------- 144 Stream widgets have the following format:- [all …]
|
/openbmc/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() 114 if (speyside_jack_polarity && (strcmp(source->name, "MICB1") == 0)) in speyside_get_micbias() 116 if (!speyside_jack_polarity && (strcmp(source->name, "MICB2") == 0)) in speyside_get_micbias() [all …]
|
/openbmc/u-boot/drivers/sound/ |
H A D | max98095.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * max98095.c -- MAX98095 ALSA SoC Audio driver 7 * Modified for U-Boot by R. Chandrasekar (rcsekar@samsung.com) 45 return -EINVAL; in rate_value() 67 if (aif_id == AIF1) { in max98095_hw_params() 88 return -EINVAL; in max98095_hw_params() 94 return -EINVAL; in max98095_hw_params() 96 priv->rate = rate; in max98095_hw_params() 111 return -EIO; in max98095_hw_params() 130 if (freq == priv->sysclk) in max98095_set_sysclk() [all …]
|
H A D | wm8994.c | 1 // SPDX-License-Identifier: GPL-2.0+ 84 return dm_i2c_write(priv->dev, reg, val, 2); in wm8994_i2c_write() 94 * @return int value 0 for success, -1 in case of error. 102 ret = dm_i2c_read(priv->dev, reg, val, 1); in wm8994_i2c_read() 106 return -1; in wm8994_i2c_read() 134 return -1; in wm8994_bic_or() 152 * @return -1 for error and 0 Success. 176 return -1; in wm8994_set_fmt() 187 return -1; in wm8994_set_fmt() 206 return -1; in wm8994_set_fmt() [all …]
|
/openbmc/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> 23 #include <sound/soc-dapm.h> 200 regcache_cache_only(scodec->regmap, false); in sun8i_codec_runtime_resume() 202 ret = regcache_sync(scodec->regmap); in sun8i_codec_runtime_resume() 215 regcache_cache_only(scodec->regmap, true); in sun8i_codec_runtime_suspend() 216 regcache_mark_dirty(scodec->regmap); in sun8i_codec_runtime_suspend() 252 return -EINVAL; in sun8i_codec_get_hw_rate() 262 struct sun8i_codec_aif *aif = &scodec->aifs[i]; in sun8i_codec_update_sample_rate() [all …]
|
/openbmc/linux/sound/soc/intel/boards/ |
H A D | bdw-rt5677.c | 1 // SPDX-License-Identifier: GPL-2.0-only 18 #include <sound/soc-acpi.h> 30 struct snd_soc_dapm_context *dapm = w->dapm; in bdw_rt5677_event_hp() 31 struct snd_soc_card *card = dapm->card; in bdw_rt5677_event_hp() 37 gpiod_set_value_cansleep(bdw_rt5677->gpio_hp_en, in bdw_rt5677_event_hp() 72 {"SSP0 CODEC IN", NULL, "AIF1 Capture"}, 73 {"AIF1 Playback", NULL, "SSP0 CODEC OUT"}, 74 {"DSP Capture", NULL, "DSP Buffer"}, 76 /* DSP Clock Connections */ 77 { "DSP Buffer", NULL, "SSP0 CODEC IN" }, [all …]
|
H A D | bdw-rt5650.c | 1 // SPDX-License-Identifier: GPL-2.0-only 17 #include <sound/soc-acpi.h> 57 {"SSP0 CODEC IN", NULL, "AIF1 Capture"}, 58 {"AIF1 Playback", NULL, "SSP0 CODEC OUT"}, 91 /* The ADSP will convert the FE rate to 48k, max 4-channels */ in broadwell_ssp0_fixup() 92 rate->min = rate->max = 48000; in broadwell_ssp0_fixup() 93 chan->min = 2; in broadwell_ssp0_fixup() 94 chan->max = 4; in broadwell_ssp0_fixup() 116 dev_err(rtd->dev, "can't set codec pll: %d\n", ret); in bdw_rt5650_hw_params() 127 dev_err(rtd->dev, "can't set codec sysclk configuration\n"); in bdw_rt5650_hw_params() [all …]
|
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" 48 #define CHT_RT5645_SSP2_AIF2 BIT(16) /* default is using AIF1 */ 70 struct snd_soc_dapm_context *dapm = w->dapm; in platform_clock_control() 71 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 …]
|
/openbmc/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 …]
|