/linux/sound/soc/mediatek/mt8365/ |
H A D | mt8365-dai-dmic.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * MediaTek 8365 ALSA SoC Audio DAI DMIC Control 13 #include "mt8365-afe-clk.h" 14 #include "mt8365-afe-common.h" 46 return -EINVAL; in get_chan_reg() 55 regmap_update_bits(afe->regmap, AFE_ADDA_UL_DL_CON0, in audio_dmic_adda_enable() 62 regmap_update_bits(afe->regmap, AFE_ADDA_UL_DL_CON0, in audio_dmic_adda_disable() 72 struct mt8365_afe_private *afe_priv = afe->platform_priv; in mt8365_dai_enable_dmic() 73 struct mt8365_dmic_data *dmic_data = afe_priv->dai_priv[MT8365_AFE_IO_DMIC]; in mt8365_dai_enable_dmic() 75 int reg = get_chan_reg(dmic_data->dmic_channel); in mt8365_dai_enable_dmic() [all …]
|
/linux/sound/soc/codecs/ |
H A D | dmic.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * dmic.c -- SoC audio for Generic Digital MICs 17 #include <sound/soc-dapm.h> 26 struct dmic { struct 29 /* Delay after DMIC mode switch */ 36 struct snd_soc_component *component = dai->component; in dmic_daiops_trigger() 37 struct dmic *dmic = snd_soc_component_get_drvdata(component); in dmic_daiops_trigger() local 41 if (dmic->modeswitch_delay) in dmic_daiops_trigger() 42 mdelay(dmic->modeswitch_delay); in dmic_daiops_trigger() 56 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in dmic_aif_event() [all …]
|
H A D | ab8500-codec.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) ST-Ericsson SA 2012 8 * for ST-Ericsson. 14 * for ST-Ericsson. 29 #include <linux/mfd/abx500/ab8500-sysctrl.h> 30 #include <linux/mfd/abx500/ab8500-codec.h> 39 #include <sound/soc-dapm.h> 42 #include "ab8500-codec.h" 56 /* Nr of FIR/IIR-coeff banks in ANC-block */ 114 /* Private data for AB8500 device-driver */ [all …]
|
H A D | lpass-tx-macro.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 // Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. 12 #include <sound/soc-dapm.h> 15 #include <linux/clk-provider.h> 17 #include "lpass-macro-common.h" 41 /* Default divider for AMIC and DMIC clock: DIV2 */ 201 #define TX_ADC_TO_DMIC(n) ((n - TX_ADC_MAX)/2) 292 static const DECLARE_TLV_DB_SCALE(digital_gain, -8400, 100, -8400); 617 struct regmap *regmap = tx->regmap; in tx_macro_mclk_enable() 620 if (tx->tx_mclk_users == 0) { in tx_macro_mclk_enable() [all …]
|
H A D | lpass-va-macro.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 // Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. 5 #include <linux/clk-provider.h> 16 #include <sound/soc-dapm.h> 19 #include "lpass-macro-common.h" 165 static const DECLARE_TLV_DB_SCALE(digital_gain, -8400, 100, -8400); 455 struct regmap *regmap = va->regmap; in va_clk_rsc_fs_gen_request() 488 struct regmap *regmap = va->regmap; in va_macro_mclk_enable() 504 struct snd_soc_component *comp = snd_soc_dapm_to_component(w->dapm); in va_macro_mclk_event() 509 return clk_prepare_enable(va->fsgen); in va_macro_mclk_event() [all …]
|
H A D | tscs454.c | 1 // SPDX-License-Identifier: GPL-2.0 2 // tscs454.c -- TSCS454 ALSA SoC Audio driver 21 #include <sound/soc-dapm.h> 50 pll->id = id; in pll_init() 51 mutex_init(&pll->lock); in pll_init() 66 aif->id = id; in aif_init() 85 cache[((norm_addrs[i] + 1) * COEFF_SIZE) - 1] = 0x40; in init_coeff_ram_cache() 90 init_coeff_ram_cache(ram->cache); in coeff_ram_init() 91 mutex_init(&ram->lock); in coeff_ram_init() 103 status->streams |= mask; in set_aif_status_active() [all …]
|
H A D | rt5677.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5677.c -- RT5677 ALSA SoC audio codec driver 29 #include <sound/soc-dapm.h> 35 #include "rt5677-spi.h" 552 * rt5677_dsp_mode_i2c_write_addr - Write value to address on DSP mode. 563 struct snd_soc_component *component = rt5677->component; in rt5677_dsp_mode_i2c_write_addr() 566 mutex_lock(&rt5677->dsp_cmd_lock); in rt5677_dsp_mode_i2c_write_addr() 568 ret = regmap_write(rt5677->regmap_physical, RT5677_DSP_I2C_ADDR_MSB, in rt5677_dsp_mode_i2c_write_addr() 571 dev_err(component->dev, "Failed to set addr msb value: %d\n", ret); in rt5677_dsp_mode_i2c_write_addr() 575 ret = regmap_write(rt5677->regmap_physical, RT5677_DSP_I2C_ADDR_LSB, in rt5677_dsp_mode_i2c_write_addr() [all …]
|
H A D | rt5670.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5670.c -- RT5670 ALSA SoC audio codec driver 25 #include <sound/soc-dapm.h> 31 #include "rt5670-dsp.h" 50 MODULE_PARM_DESC(quirk, "Board-specific quirk override"); 422 * rt5670_headset_detect - Detect headset. 457 rt5670->jack_type = SND_JACK_HEADSET; in rt5670_headset_detect() 464 rt5670->jack_type = SND_JACK_HEADPHONE; in rt5670_headset_detect() 471 rt5670->jack_type = 0; in rt5670_headset_detect() 476 return rt5670->jack_type; in rt5670_headset_detect() [all …]
|
H A D | adau1761.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright 2011-2013 Analog Devices Inc. 6 * Author: Lars-Peter Clausen <lars@metafoo.de> 125 static const DECLARE_TLV_DB_SCALE(adau1761_sing_in_tlv, -1500, 300, 1); 126 static const DECLARE_TLV_DB_SCALE(adau1761_diff_in_tlv, -1200, 75, 0); 127 static const DECLARE_TLV_DB_SCALE(adau1761_out_tlv, -5700, 100, 0); 128 static const DECLARE_TLV_DB_SCALE(adau1761_sidetone_tlv, -1800, 300, 1); 129 static const DECLARE_TLV_DB_SCALE(adau1761_boost_tlv, -600, 600, 1); 130 static const DECLARE_TLV_DB_SCALE(adau1761_pga_boost_tlv, -2000, 2000, 1); 132 static const DECLARE_TLV_DB_SCALE(adau1761_alc_max_gain_tlv, -1200, 600, 0); [all …]
|
H A D | max9867.c | 1 // SPDX-License-Identifier: GPL-2.0 5 // Copyright 2013-2015 Maxim Integrated Products 6 // Copyright 2018 Ladislav Michl <ladis@linux-mips.org> 42 "Butterworth/8-24" 55 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in max9867_adc_dac_event() 71 max9867->adc_dac_active |= BIT(adc_dac); in max9867_adc_dac_event() 73 max9867->adc_dac_active &= ~BIT(adc_dac); in max9867_adc_dac_event() 86 ret = regmap_read(max9867->regmap, MAX9867_CODECFLTR, ®); in max9867_filter_get() 88 return -EINVAL; in max9867_filter_get() 91 ucontrol->value.enumerated.item[0] = 1; in max9867_filter_get() [all …]
|
H A D | max98090.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * max98090.c -- MAX98090 ALSA SoC Audio driver 5 * Copyright 2011-2012 Maxim Integrated Products 46 { 0x14, 0x00 }, /* 14 Digital Mic Mode */ 54 { 0x1C, 0x00 }, /* 1C Clock Mode */ 60 { 0x21, 0x00 }, /* 21 Master Mode */ 279 /* Reset the codec by writing to this write-only reset register */ in max98090_reset() 280 ret = regmap_write(max98090->regmap, M98090_REG_SOFTWARE_RESET, in max98090_reset() 283 dev_err(max98090->component->dev, in max98090_reset() 300 -600, 600, 0); [all …]
|
/linux/Documentation/devicetree/bindings/sound/ |
H A D | dmic-codec.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/sound/dmic-codec.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Generic PDM Digital microphone (DMIC) codec 10 - Arnaud Pouliquen <arnaud.pouliquen@foss.st.com> 13 - $ref: dai-common.yaml# 17 const: dmic-codec 19 '#sound-dai-cells': 22 dmicen-gpios: [all …]
|
H A D | realtek,rt5645.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Animesh Agarwal <animeshagarwal28@gmail.com> 16 * DMIC L1 17 * DMIC R1 18 * DMIC L2 19 * DMIC R2 35 - $ref: dai-common.yaml# 40 - realtek,rt5645 [all …]
|
H A D | mt6358.txt | 10 - compatible - "string" - One of: 11 "mediatek,mt6358-sound" 12 "mediatek,mt6366-sound" 13 - Avdd-supply : power source of AVDD 16 - mediatek,dmic-mode : Indicates how many data pins are used to transmit two 23 compatible = "mediatek,mt6358-sound"; 24 Avdd-supply = <&mt6358_vaud28_reg>; 25 mediatek,dmic-mode = <0>;
|
H A D | mediatek,mt8365-afe.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/mediatek,mt8365-afe.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Alexandre Mergnat <amergnat@baylibre.com> 14 const: mediatek,mt8365-afe-pcm 19 "#sound-dai-cells": 24 - description: 26M clock 25 - description: mux for audio clock 26 - description: audio i2s0 mck [all …]
|
/linux/Documentation/sound/hd-audio/ |
H A D | models.rst | 2 HD-Audio Codec-Specific Models 8 3-jack in back and a headphone out 9 3stack-digout 10 3-jack in back, a HP out and a SPDIF out 12 5-jack in back, 2-jack in front 13 5stack-digout 14 5-jack in back, 2-jack in front, a SPDIF out 16 6-jack in back, 2-jack in front 17 6stack-digout 18 6-jack with a SPDIF out [all …]
|
/linux/arch/riscv/boot/dts/allwinner/ |
H A D | sun20i-d1-lichee-rv-86-panel.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 4 #include "sun20i-d1-lichee-rv.dts" 12 dmic_codec: dmic-codec { 13 compatible = "dmic-codec"; 14 num-channels = <2>; 15 #sound-dai-cells = <0>; 18 dmic-sound { 19 compatible = "simple-audio-card"; 20 simple-audio-card,name = "DMIC"; 21 #address-cells = <1>; [all …]
|
/linux/sound/soc/ux500/ |
H A D | mop500_ab8500.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) ST-Ericsson SA 2012 7 * for ST-Ericsson. 17 #include <sound/soc-dapm.h> 24 #include "../codecs/ab8500-codec.h" 61 /* Private data for machine-part MOP500<->AB8500 */ 88 if (IS_ERR(drvdata->clk_ptr_intclk)) { in mop500_ab8500_set_mclk() 91 return -EIO; in mop500_ab8500_set_mclk() 94 switch (drvdata->mclk_sel) { in mop500_ab8500_set_mclk() 96 clk_ptr = drvdata->clk_ptr_sysclk; in mop500_ab8500_set_mclk() [all …]
|
/linux/sound/soc/mediatek/mt8186/ |
H A D | mt8186-dai-adda.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include "mt8186-afe-clk.h" 11 #include "mt8186-afe-common.h" 12 #include "mt8186-afe-gpio.h" 13 #include "mt8186-interconnection.h" 14 #include "../common/mtk-dai-adda-common.h" 47 struct mt8186_afe_private *afe_priv = afe->platform_priv; in get_adda_priv_by_name() 55 return afe_priv->dai_priv[dai_id]; in get_adda_priv_by_name() 132 return -EINVAL; in mtk_adda_ul_src_dmic() 135 /* dmic mode, 3.25M*/ in mtk_adda_ul_src_dmic() [all …]
|
/linux/sound/soc/mediatek/mt8192/ |
H A D | mt8192-dai-adda.c | 1 // SPDX-License-Identifier: GPL-2.0 12 #include "mt8192-afe-clk.h" 13 #include "mt8192-afe-common.h" 14 #include "mt8192-afe-gpio.h" 15 #include "mt8192-interconnection.h" 16 #include "../common/mtk-dai-adda-common.h" 189 return -EINVAL; in mtk_adda_ul_src_dmic() 192 /* dmic mode, 3.25M*/ in mtk_adda_ul_src_dmic() 193 regmap_update_bits(afe->regmap, reg, in mtk_adda_ul_src_dmic() 196 regmap_update_bits(afe->regmap, reg, in mtk_adda_ul_src_dmic() [all …]
|
/linux/sound/soc/sunxi/ |
H A D | sun50i-dmic.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 // This driver supports the DMIC in Allwinner's H6 SoCs. 93 if (substream->stream != SNDRV_PCM_STREAM_CAPTURE) in sun50i_dmic_startup() 94 return -EINVAL; in sun50i_dmic_startup() 96 regmap_update_bits(host->regmap, SUN50I_DMIC_RXFIFO_CTL, in sun50i_dmic_startup() 99 regmap_write(host->regmap, SUN50I_DMIC_CNT, SUN50I_DMIC_CNT_N); in sun50i_dmic_startup() 112 unsigned int chan_en = (1 << channels) - 1; in sun50i_dmic_hw_params() 115 /* DMIC num is N+1 */ in sun50i_dmic_hw_params() 116 regmap_update_bits(host->regmap, SUN50I_DMIC_CH_NUM, in sun50i_dmic_hw_params() 118 SUN50I_DMIC_CH_NUM_N(channels - 1)); in sun50i_dmic_hw_params() [all …]
|
/linux/include/sound/sof/ |
H A D | dai.h | 1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ 13 #include <sound/sof/dai-intel.h> 14 #include <sound/sof/dai-imx.h> 15 #include <sound/sof/dai-amd.h> 16 #include <sound/sof/dai-mediatek.h> 24 #define SOF_DAI_FMT_I2S 1 /**< I2S mode */ 25 #define SOF_DAI_FMT_RIGHT_J 2 /**< Right Justified mode */ 26 #define SOF_DAI_FMT_LEFT_J 3 /**< Left Justified mode */ 79 SOF_DAI_INTEL_DMIC, /**< Intel DMIC */ 86 SOF_DAI_AMD_DMIC, /**< AMD ACP DMIC */ [all …]
|
H A D | dai-intel.h | 1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ 58 /* DMIC max. four controllers for eight microphone channels */ 61 /* SSP Configuration Request - SOF_IPC_DAI_SSP_CONFIG */ 93 /* HDA Configuration Request - SOF_IPC_DAI_HDA_CONFIG */ 101 /* ALH Configuration Request - SOF_IPC_DAI_ALH_CONFIG */ 112 /* DMIC Configuration Request - SOF_IPC_DAI_DMIC_CONFIG */ 127 * that delays the sampling time of data by half cycles of DMIC source clock 149 * device driver src/drivers/dmic.c need to match. It is incremented from 155 * range 1.0 - 3.2 MHz is usually supported microphones. Some microphones are 156 * multi-mode capable and there may be denied mic clock frequencies between [all …]
|
/linux/sound/soc/rockchip/ |
H A D | rk3399_gru_sound.c | 1 // SPDX-License-Identifier: GPL-2.0-only 24 #define DRV_NAME "rk3399-gru-sound" 77 dev_err(rtd->card->dev, "%s() error setting sysclk to %u: %d\n", in rockchip_sound_max98357a_hw_params() 99 dev_err(rtd->card->dev, "Can't set cpu clock out %d\n", ret); in rockchip_sound_rt5514_hw_params() 106 dev_err(rtd->card->dev, "%s() error setting sysclk to %u: %d\n", in rockchip_sound_rt5514_hw_params() 111 /* Wait for DMIC stable */ in rockchip_sound_rt5514_hw_params() 125 /* in bypass mode, the mclk has to be one of the frequencies below */ in rockchip_sound_da7219_hw_params() 143 return -EINVAL; in rockchip_sound_da7219_hw_params() 149 dev_err(codec_dai->dev, "Can't set cpu clock out %d\n", ret); in rockchip_sound_da7219_hw_params() 156 dev_err(codec_dai->dev, "Can't set codec clock in %d\n", ret); in rockchip_sound_da7219_hw_params() [all …]
|
/linux/sound/soc/mediatek/mt8183/ |
H A D | mt8183-dai-adda.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include "mt8183-afe-common.h" 11 #include "mt8183-interconnection.h" 12 #include "mt8183-reg.h" 13 #include "../common/mtk-dai-adda-common.h" 62 struct snd_soc_component *cmpnt = snd_soc_dapm_to_component(w->dapm); in mtk_adda_ul_event() 64 struct mt8183_afe_private *afe_priv = afe->platform_priv; in mtk_adda_ul_event() 66 dev_dbg(afe->dev, "%s(), name %s, event 0x%x\n", in mtk_adda_ul_event() 67 __func__, w->name, event); in mtk_adda_ul_event() 71 /* update setting to dmic */ in mtk_adda_ul_event() [all …]
|