/openbmc/linux/Documentation/devicetree/bindings/sound/ |
H A D | rt5645.txt | 7 - compatible : One of "realtek,rt5645" or "realtek,rt5650". 9 - reg : The I2C address of the device. 11 - interrupts : The CODEC's interrupt output. 13 - avdd-supply: Power supply for AVDD, providing 1.8V. 15 - cpvdd-supply: Power supply for CPVDD, providing 3.5V. 19 - hp-detect-gpios: 20 a GPIO spec for the external headphone detect pin. If jd-mode = 0, 21 we will get the JD status by getting the value of hp-detect-gpios. 23 - cbj-sleeve-gpios: 28 - realtek,in2-differential [all …]
|
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 | mt6359.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Eason Yen <eason.yen@mediatek.com> 11 - Jiaxin Yu <jiaxin.yu@mediatek.com> 12 - Shane Chien <shane.chien@mediatek.com> 20 mediatek,dmic-mode: 26 - 0 # two wires 27 - 1 # one wire 29 mediatek,mic-type-0: [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>;
|
/openbmc/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() argument 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 | 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" 199 #define TX_ADC_TO_DMIC(n) ((n - TX_ADC_MAX)/2) 281 static const DECLARE_TLV_DB_SCALE(digital_gain, -8400, 100, -8400); 604 struct regmap *regmap = tx->regmap; in tx_macro_mclk_enable() 607 if (tx->tx_mclk_users == 0) { in tx_macro_mclk_enable() 619 tx->tx_mclk_users++; in tx_macro_mclk_enable() [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-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); 443 struct regmap *regmap = va->regmap; in va_clk_rsc_fs_gen_request() 476 struct regmap *regmap = va->regmap; in va_macro_mclk_enable() 492 struct snd_soc_component *comp = snd_soc_dapm_to_component(w->dapm); in va_macro_mclk_event() 497 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 | 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 | 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 …]
|
/openbmc/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 …]
|
/openbmc/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 …]
|
/openbmc/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 …]
|
/openbmc/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" 75 struct mt8186_afe_private *afe_priv = afe->platform_priv; in get_adda_priv_by_name() 83 return afe_priv->dai_priv[dai_id]; in get_adda_priv_by_name() 113 dev_dbg(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n", in adda_dl_rate_transform() 137 dev_dbg(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n", in adda_ul_rate_transform() 218 return -EINVAL; in mtk_adda_ul_src_dmic() [all …]
|
/openbmc/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" 96 dev_warn(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n", in adda_dl_rate_transform() 119 dev_warn(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n", in adda_ul_rate_transform() 273 return -EINVAL; in mtk_adda_ul_src_dmic() 276 /* dmic mode, 3.25M*/ in mtk_adda_ul_src_dmic() 277 regmap_update_bits(afe->regmap, reg, in mtk_adda_ul_src_dmic() [all …]
|
/openbmc/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 …]
|
/openbmc/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. 77 struct snd_soc_pcm_runtime *rtd = substream->private_data; in sun50i_dmic_startup() 81 if (substream->stream != SNDRV_PCM_STREAM_CAPTURE) in sun50i_dmic_startup() 82 return -EINVAL; in sun50i_dmic_startup() 84 regmap_update_bits(host->regmap, SUN50I_DMIC_RXFIFO_CTL, in sun50i_dmic_startup() 87 regmap_write(host->regmap, SUN50I_DMIC_CNT, SUN50I_DMIC_CNT_N); in sun50i_dmic_startup() 100 unsigned int chan_en = (1 << channels) - 1; in sun50i_dmic_hw_params() 103 /* DMIC num is N+1 */ in sun50i_dmic_hw_params() 104 regmap_update_bits(host->regmap, SUN50I_DMIC_CH_NUM, in sun50i_dmic_hw_params() [all …]
|
/openbmc/linux/sound/soc/rockchip/ |
H A D | rk3399_gru_sound.c | 1 // SPDX-License-Identifier: GPL-2.0-only 26 #define DRV_NAME "rk3399-gru-sound" 79 dev_err(rtd->card->dev, "%s() error setting sysclk to %u: %d\n", in rockchip_sound_max98357a_hw_params() 101 dev_err(rtd->card->dev, "Can't set cpu clock out %d\n", ret); in rockchip_sound_rt5514_hw_params() 108 dev_err(rtd->card->dev, "%s() error setting sysclk to %u: %d\n", in rockchip_sound_rt5514_hw_params() 113 /* Wait for DMIC stable */ in rockchip_sound_rt5514_hw_params() 127 /* in bypass mode, the mclk has to be one of the frequencies below */ in rockchip_sound_da7219_hw_params() 145 return -EINVAL; in rockchip_sound_da7219_hw_params() 151 dev_err(codec_dai->dev, "Can't set cpu clock out %d\n", ret); in rockchip_sound_da7219_hw_params() 158 dev_err(codec_dai->dev, "Can't set codec clock in %d\n", ret); in rockchip_sound_da7219_hw_params() [all …]
|
/openbmc/linux/sound/soc/intel/boards/ |
H A D | kbl_da7219_max98357a.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 // Copyright(c) 2017-18 Intel Corporation. 23 #define KBL_DIALOG_CODEC_DAI "da7219-hifi" 56 struct snd_soc_dapm_context *dapm = w->dapm; in platform_clock_control() 57 struct snd_soc_card *card = dapm->card; in platform_clock_control() 63 dev_err(card->dev, "Codec dai not found; Unable to set/unset codec pll\n"); in platform_clock_control() 64 return -EIO; in platform_clock_control() 71 dev_err(card->dev, "failed to stop PLL: %d\n", ret); in platform_clock_control() 76 dev_err(card->dev, "failed to start PLL: %d\n", ret); in platform_clock_control() 94 SND_SOC_DAPM_MIC("SoC DMIC", NULL), [all …]
|
H A D | skl_nau88l25_max98357a.c | 1 // SPDX-License-Identifier: GPL-2.0-only 16 #include <sound/soc-acpi.h> 20 #define SKL_NUVOTON_CODEC_DAI "nau8825-hifi" 22 #define DMIC_CH(p) p->list[p->count-1] 52 struct snd_soc_dapm_context *dapm = w->dapm; in platform_clock_control() 53 struct snd_soc_card *card = dapm->card; in platform_clock_control() 59 dev_err(card->dev, "Codec dai not found; Unable to set platform clock\n"); in platform_clock_control() 60 return -EIO; in platform_clock_control() 67 dev_err(card->dev, "set sysclk err = %d\n", ret); in platform_clock_control() 68 return -EIO; in platform_clock_control() [all …]
|
H A D | glk_rt5682_max98357a.c | 1 // SPDX-License-Identifier: GPL-2.0-only 19 #include <sound/soc-acpi.h> 28 #define RT5682_DAI_NAME "rt5682-aif1" 29 #define RT5682S_DAI_NAME "rt5682s-aif1" 31 #define RT5682_DEV0_NAME "i2c-10EC5682:00" 32 #define RT5682S_DEV0_NAME "i2c-RTL5682:00" 75 SND_SOC_DAPM_MIC("SoC DMIC", NULL), 93 /* HP jack connectors - unknown if we have jack detection */ 104 { "DMic", NULL, "SoC DMIC" }, 116 { "HDMI1", NULL, "hif5-0 Output" }, [all …]
|
H A D | skl_nau88l25_ssm4567.c | 1 // SPDX-License-Identifier: GPL-2.0-only 18 #include <sound/soc-acpi.h> 24 #define SKL_NUVOTON_CODEC_DAI "nau8825-hifi" 25 #define SKL_SSM_CODEC_DAI "ssm4567-hifi" 26 #define DMIC_CH(p) p->list[p->count-1] 62 struct snd_soc_dapm_context *dapm = w->dapm; in platform_clock_control() 63 struct snd_soc_card *card = dapm->card; in platform_clock_control() 69 dev_err(card->dev, "Codec dai not found\n"); in platform_clock_control() 70 return -EIO; in platform_clock_control() 77 dev_err(card->dev, "set sysclk err = %d\n", ret); in platform_clock_control() [all …]
|
/openbmc/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" 77 dev_warn(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n", in adda_dl_rate_transform() 100 dev_warn(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n", in adda_ul_rate_transform() 146 struct snd_soc_component *cmpnt = snd_soc_dapm_to_component(w->dapm); in mtk_adda_ul_event() 148 struct mt8183_afe_private *afe_priv = afe->platform_priv; in mtk_adda_ul_event() 150 dev_dbg(afe->dev, "%s(), name %s, event 0x%x\n", in mtk_adda_ul_event() 151 __func__, w->name, event); in mtk_adda_ul_event() [all …]
|