/linux/sound/soc/tegra/ |
H A D | tegra_audio_graph_card.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 // SPDX-FileCopyrightText: Copyright (c) 2020-2025 NVIDIA CORPORATION. All rights reserved. 4 // tegra_audio_graph_card.c - Audio Graph based Tegra Machine Driver 12 #include <sound/soc-dai.h> 21 * Sample rates multiple of 8000 Hz and below are supported: 27 * Sample rates multiple of 11025 Hz and below are supported: 50 !dai->driver->ops || in need_clk_update() 51 !dai->driver->name) in need_clk_update() 54 if (strstr(dai->driver->name, "I2S") || in need_clk_update() 55 strstr(dai->driver->name, "DMIC") || in need_clk_update() [all …]
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 5 tristate "SoC Audio for the Tegra System-on-Chip" 72 tristate "Tegra210 DMIC module" 74 Config to enable the Digital MIC (DMIC) controller which is used 76 The DMIC controller implements a converter to convert PDM signals 79 Say Y or M if you want to add support for Tegra210 DMIC module. 85 Config to enable the Inter-IC Sound (I2S) Controller which 86 implements full-duplex and bidirectional and single direction 87 point-to-point serial interfaces. It can interface with I2S 103 Config to enable the Asynchronous Sample Rate Converter (ASRC), [all …]
|
/linux/include/sound/sof/ |
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 */ 97 uint32_t rate; member 101 /* ALH Configuration Request - SOF_IPC_DAI_ALH_CONFIG */ 105 uint32_t rate; member 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 [all …]
|
/linux/sound/hda/core/ |
H A D | intel-nhlt.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 // Copyright (c) 2015-2019 Intel Corporation 5 #include <sound/intel-nhlt.h> 42 if (nhlt->header.length <= sizeof(struct acpi_table_header)) { in intel_nhlt_get_dmic_geo() 43 dev_warn(dev, "Invalid DMIC description table\n"); in intel_nhlt_get_dmic_geo() 47 for (j = 0, epnt = nhlt->desc; j < nhlt->endpoint_count; j++, in intel_nhlt_get_dmic_geo() 48 epnt = (struct nhlt_endpoint *)((u8 *)epnt + epnt->length)) { in intel_nhlt_get_dmic_geo() 50 if (epnt->linktype != NHLT_LINK_DMIC) in intel_nhlt_get_dmic_geo() 53 cfg = (struct nhlt_dmic_array_config *)(epnt->config.caps); in intel_nhlt_get_dmic_geo() 54 fmt_configs = (struct nhlt_fmt *)(epnt->config.caps + epnt->config.size); in intel_nhlt_get_dmic_geo() [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 …]
|
/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/codecs/ |
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, -840 606 va_dmic_clk_enable(struct snd_soc_component * component,u32 dmic,bool enable) va_dmic_clk_enable() argument 720 unsigned int dmic = w->shift; va_macro_enable_dmic() local [all...] |
H A D | cs42l73.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * cs42l73.c -- CS42L73 ALSA Soc Audio driver 26 #include <sound/soc-dapm.h> 54 { 6, 0xF1 }, /* r06 - Power Ctl 1 */ 55 { 7, 0xDF }, /* r07 - Power Ctl 2 */ 56 { 8, 0x3F }, /* r08 - Power Ctl 3 */ 57 { 9, 0x50 }, /* r09 - Charge Pump Freq */ 58 { 10, 0x53 }, /* r0A - Output Load MicBias Short Detect */ 59 { 11, 0x00 }, /* r0B - DMIC Master Clock Ctl */ 60 { 12, 0x00 }, /* r0C - Aux PCM Ctl */ [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 | wcd934x.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <linux/clk-provider.h> 21 #include <sound/soc-dapm.h> 23 #include "wcd-clsh-v2.h" 24 #include "wcd-common.h" 25 #include "wcd-mbhc-v 537 int rate; global() member 1489 wcd934x_set_prim_interpolator_rate(struct snd_soc_dai * dai,u8 rate_val,u32 rate) wcd934x_set_prim_interpolator_rate() argument 1546 wcd934x_set_mix_interpolator_rate(struct snd_soc_dai * dai,int rate_val,u32 rate) wcd934x_set_mix_interpolator_rate() argument 1615 wcd934x_set_decimator_rate(struct snd_soc_dai * dai,u8 rate_val,u32 rate) wcd934x_set_decimator_rate() argument 4696 wcd934x_get_dmic_sample_rate(struct snd_soc_component * comp,unsigned int dmic,struct wcd934x_codec * wcd) wcd934x_get_dmic_sample_rate() argument 4800 unsigned int dmic; wcd934x_codec_enable_dmic() local [all...] |
H A D | wcd9335.c | 1 // SPDX-License-Identifier: GPL-2.0 2 // Copyright (c) 2015-2016, The Linux Foundation. All rights reserved. 3 // Copyright (c) 2017-2018, Linaro Limited 19 #include <sound/soc-dapm.h> 26 #include "wcd-clsh-v2.h" 28 #include <dt-bindings/sound/qcom,wcd9335.h> 99 #define WCD9335_CALCULATE_VOUT_D(req_mv) (((req_mv - 650) * 10) / 25) 147 {"ADC MUX" #id, "DMIC", "DMIC MUX" #id}, \ 149 {"DMIC MUX" #id, "DMIC0", "DMIC0"}, \ 150 {"DMIC MUX" #id, "DMIC1", "DMIC1"}, \ [all …]
|
H A D | rt5682.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 // rt5682.c -- RT5682 ALSA SoC audio component driver 25 #include <sound/soc-dapm.h> 38 "LDO1-IN", 60 ret = regmap_multi_reg_write(rt5682->regmap, patch_list, in rt5682_apply_patch_list() 751 static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -6525, 75, 0); 752 static const DECLARE_TLV_DB_SCALE(adc_vol_tlv, -1725, 75, 0); 819 regmap_write(rt5682->regmap, RT5682_RESET, 0); in rt5682_reset() 820 if (!rt5682->is_sdw) in rt5682_reset() 821 regmap_write(rt5682->regmap, RT5682_I2C_MODE, 1); in rt5682_reset() [all …]
|
H A D | es8316.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * es8316.c -- es8316 ALSA SoC audio driver 6 * Authors: David Yang <yangxiaohua@everest-semi.com>, 21 #include <sound/soc-dapm.h> 52 static const SNDRV_CTL_TLVD_DECLARE_DB_SCALE(dac_vol_tlv, -9600, 50, 1); 53 static const SNDRV_CTL_TLVD_DECLARE_DB_SCALE(adc_vol_tlv, -9600, 50, 1); 54 static const SNDRV_CTL_TLVD_DECLARE_DB_SCALE(alc_max_gain_tlv, -650, 150, 0); 55 static const SNDRV_CTL_TLVD_DECLARE_DB_SCALE(alc_min_gain_tlv, -1200, 150, 0); 58 0, 10, TLV_DB_SCALE_ITEM(-1650, 150, 0), 59 11, 11, TLV_DB_SCALE_ITEM(-150, 0, 0), [all …]
|
H A D | tlv320adc3xxx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 // Copyright (C) 2014-2018, Ambarella, Inc. 15 #include <dt-bindings/sound/tlv320adc3xxx.h> 33 #include <sound/soc-dapm.h> 59 * Setting the clock source using simple-card (clocks or 60 * system-clock-frequency property) sets clk_id = 0 = ADC3XXX_PLL_AUTO. 78 /* 2-3 Reserved */ 86 /* 9-17 Reserved */ 93 /* 23-24 Reserved */ 109 /* 39-41 Reserved */ [all …]
|
H A D | rt5682s.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 // rt5682s.c -- RT5682I-VS ALSA SoC audio component driver 25 #include <sound/soc-dapm.h> 38 .dai_clk_names[RT5682S_DAI_WCLK_IDX] = "rt5682-dai-wclk", 39 .dai_clk_names[RT5682S_DAI_BCLK_IDX] = "rt5682-dai-bclk", 46 [RT5682S_SUPPLY_LDO1_IN] = "LDO1-IN", 69 ret = regmap_multi_reg_write(rt5682s->regmap, patch_list, ARRAY_SIZE(patch_list)); in rt5682s_apply_patch_list() 624 regmap_write(rt5682s->regmap, RT5682S_RESET, 0); in rt5682s_reset() 634 dev_dbg(component->dev, "%s btn_type=%x\n", __func__, btn_type); in rt5682s_button_detect() 651 mutex_lock(&rt5682s->sar_mutex); in rt5682s_sar_power_mode() [all …]
|
H A D | da7213.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 34 /* -54dB */ 35 0x0, 0x11, TLV_DB_SCALE_ITEM(-5400, 0, 0), 36 /* -52.5dB to 15dB */ 37 0x12, 0x3f, TLV_DB_SCALE_ITEM(-5250, 150, 0) 42 /* -7 [all...] |
H A D | tlv320aic3x.c | 1 // SPDX-License-Identifier: GPL-2.0-only 16 * ------ [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 | tas2552.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * tas2552.c - ALSA SoC Texas Instruments TAS2552 Mono Audio Amplifier 5 * Copyright (C) 2014 - 2024 Texas Instruments Incorporated - 25 #include <sound/soc-dapm.h> 27 #include <sound/tas2552-plat.h> 28 #include <dt-bindings/sound/tas2552.h> 82 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in tas2552_post_event() 128 SND_SOC_DAPM_INPUT("DMIC") 138 {"ASI OUT", NULL, "DMIC"} 145 if (!tas2552->component) in tas2552_sw_shutdown() [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 …]
|
/linux/sound/soc/amd/ |
H A D | acp-da7219-max98357a.c | 1 // SPDX-License-Identifier: MIT 5 //Copyright 2017-2021 Advanced Micro Devices, Inc. 11 #include <sound/soc-dapm.h> 56 struct snd_soc_card *card = rtd->card; in cz_da7219_init() 58 struct snd_soc_component *component = codec_dai->component; in cz_da7219_init() 60 dev_info(rtd->dev, "codec dai name = %s\n", codec_dai->name); in cz_da7219_init() 65 dev_err(rtd->dev, "can't set codec sysclk: %d\n", ret); in cz_da7219_init() 72 dev_err(rtd->dev, "can't set codec pll: %d\n", ret); in cz_da7219_init() 76 da7219_dai_wclk = devm_clk_get(component->dev, "da7219-dai-wclk"); in cz_da7219_init() 80 da7219_dai_bclk = devm_clk_get(component->dev, "da7219-dai-bclk"); in cz_da7219_init() [all …]
|
/linux/sound/soc/fsl/ |
H A D | fsl-asoc-card.c | 1 // SPDX-License-Identifier: GPL-2.0 23 #include "imx-audmux.h" 33 #define DRIVER_NAME "fsl-asoc-card" 44 * struct codec_priv - CODEC private data 46 * @mclk_freq: Clock rate of MCLK 47 * @free_freq: Clock rate of MCLK for hw_free() 62 * struct cpu_priv - CPU private data 66 * @sysclk_ratio: SYSCLK ratio on sample rate 82 * struct fsl_asoc_card_priv - Freescale Generic ASOC card private data 91 * @sample_rate: Current sample rate [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/mediatek/mt8195/ |
H A D | mt8195-dai-adda.c | 1 // SPDX-License-Identifier: GPL-2.0 12 #include "mt8195-afe-clk.h" 13 #include "mt8195-afe-common.h" 14 #include "mt8195-reg.h" 15 #include "../common/mtk-dai-adda-common.h" 40 struct mt8195_afe_private *afe_priv = afe->platform_priv; in mt8195_adda_mtkaif_init() 41 struct mtkaif_param *param = &afe_priv->mtkaif_params; in mt8195_adda_mtkaif_init() 51 regmap_update_bits(afe->regmap, AFE_ADDA_MTKAIF_CFG0, mask, val); in mt8195_adda_mtkaif_init() 52 regmap_update_bits(afe->regmap, AFE_ADDA6_MTKAIF_CFG0, mask, val); in mt8195_adda_mtkaif_init() 56 regmap_update_bits(afe->regmap, AFE_AUD_PAD_TOP, mask, val); in mt8195_adda_mtkaif_init() [all …]
|
/linux/sound/soc/meson/ |
H A D | axg-pdm.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 12 #include <sound/soc-dai.h> 53 #define PDM_CHAN_CTRL_POINTER_MAX ((1 << PDM_CHAN_CTRL_POINTER_WIDTH) - 1) 134 axg_pdm_enable(priv->map); in axg_pdm_trigger() 140 axg_pdm_disable(priv->map); in axg_pdm_trigger() 144 return -EINVAL; in axg_pdm_trigger() 150 const struct axg_pdm_filters *filters = priv->cfg->filters; in axg_pdm_get_os() 151 unsigned int os = filters->hcic.ds; in axg_pdm_get_os() 160 os *= filters->lpf[i].ds; in axg_pdm_get_os() 166 unsigned int rate) in axg_pdm_set_sysclk() argument [all …]
|