| /linux/sound/soc/fsl/ |
| H A D | fsl-asoc-card.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Freescale Generic ASoC Sound Card driver with ASRC 23 #include "imx-audmux.h" 33 #define DRIVER_NAME "fsl-asoc-card" 40 /* Default DAI format without Master and Slave flag */ 44 * struct codec_priv - CODEC private data 62 * struct cpu_priv - CPU private data 82 * struct fsl_asoc_card_priv - Freescale Generic ASOC card private data 92 * @sample_format: Current sample format 93 * @asrc_rate: ASRC sample rate used by Back-Ends [all …]
|
| H A D | fsl_asrc_m2m.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Copyright (C) 2014-2016 Freescale Semiconductor, Inc. 4 // Copyright (C) 2019-2024 NXP 6 // Freescale ASRC Memory to Memory (M2M) driver 8 #include <linux/dma/imx-dma.h> 9 #include <linux/dma-buf.h> 10 #include <linux/dma-mapping.h> 35 complete(&pair->complete[IN]); in asrc_input_dma_callback() 43 complete(&pair->complete[OUT]); in asrc_output_dma_callback() 54 struct fsl_asrc *asrc = pair->asrc; in asrc_read_last_fifo() local [all …]
|
| H A D | fsl_asrc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Freescale ASRC ALSA SoC Digital Audio Interface (DAI) driver 11 #include <linux/dma-mapping.h> 14 #include <linux/dma/imx-dma.h> 26 dev_err(&asrc->pdev->dev, "Pair %c: " fmt, 'A' + index, ##__VA_ARGS__) 29 dev_dbg(&asrc->pdev->dev, "Pair %c: " fmt, 'A' + index, ##__VA_ARGS__) 32 dev_warn(&asrc->pdev->dev, "Pair %c: " fmt, 'A' + index, ##__VA_ARGS__) 159 * fsl_asrc_sel_proc - Select the pre-processing and post-processing options 162 * @pre_proc: return value for pre-processing option 163 * @post_proc: return value for post-processing option [all …]
|
| H A D | imx-card.c | 1 // SPDX-License-Identifier: GPL-2.0+ 2 // Copyright 2017-2021 NXP 14 #include <sound/soc-dapm.h> 56 * struct imx_card_plat_data - specific info for codecs 90 * struct dai_link_data - specific info for dai link 105 * struct imx_card_data - platform device data 112 * @asrc_rate: asrc rates 113 * @asrc_format: asrc format 144 * Table 13 - Audio Interface Format 155 * Table 7 - mapping multiplier and speed mode [all …]
|
| /linux/sound/soc/sof/ |
| H A D | ipc4-topology.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) 14 #include <sound/intel-nhlt.h> 15 #include "sof-priv.h" 16 #include "sof-audio.h" 17 #include "ipc4-priv.h" 18 #include "ipc4-topology.h" 179 /* ASRC */ 196 [SOF_IN_AUDIO_FORMAT_TOKENS] = {"IPC4 Input Audio format tokens", 198 [SOF_OUT_AUDIO_FORMAT_TOKENS] = {"IPC4 Output Audio format tokens", 204 [SOF_AUDIO_FMT_NUM_TOKENS] = {"IPC4 Audio format number tokens", [all …]
|
| H A D | ipc3-topology.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) 12 #include "sof-priv.h" 13 #include "sof-audio.h" 14 #include "ipc3-priv.h" 138 /* ASRC */ 271 offsetof(struct sof_ipc_dai_mtk_afe_params, format)}, 334 [SOF_ASRC_TOKENS] = {"ASRC tokens", asrc_tokens, ARRAY_SIZE(asrc_tokens)}, 354 * sof_comp_alloc - allocate and initialize buffer for a new component 367 size_t ext_size = sizeof(swidget->uuid); in sof_comp_alloc() 369 /* only non-zero UUID is valid */ in sof_comp_alloc() [all …]
|
| H A D | ipc4-topology.h | 1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ 15 #define SOF_IPC4_FW_PAGE(x) ((((x) + BIT(12) - 1) & ~(BIT(12) - 1)) >> 12) 16 #define SOF_IPC4_FW_ROUNDUP(x) (((x) + BIT(6) - 1) & (~(BIT(6) - 1))) 22 * LL domain - Low latency domain 23 * DP domain - Data processing domain 80 * The base of multi-gateways. Multi-gateways addressing starts from 81 * ALH_MULTI_GTW_BASE and there are ALH_MULTI_GTW_COUNT multi-sources 82 * and ALH_MULTI_GTW_COUNT multi-sinks available. 84 * ALH_MULTI_GTW_BASE + ALH_MULTI_GTW_COUNT - 1. 108 * HD-A gateways. [all …]
|
| /linux/arch/arm64/boot/dts/freescale/ |
| H A D | imx8mn-bsh-smm-s2pro.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 7 /dts-v1/; 9 #include "imx8mn-bsh-smm-s2-common.dtsi" 10 #include <dt-bindings/sound/tlv320aic31xx.h> 14 compatible = "bsh,imx8mn-bsh-smm-s2pro", "fsl,imx8mn"; 21 sound-tlv320aic31xx { 22 compatible = "fsl,imx-audio-tlv320aic31xx"; 23 model = "tlv320aic31xx-hifi"; 24 audio-cpu = <&sai3>; 25 audio-codec = <&tlv320dac3101>; [all …]
|
| H A D | imx8mn-beacon-baseboard.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 7 dmic_codec: dmic-codec { 8 compatible = "dmic-codec"; 9 num-channels = <1>; 10 #sound-dai-cells = <0>; 14 compatible = "gpio-leds"; 16 led-0 { 19 default-state = "off"; 22 led-1 { 25 default-state = "off"; [all …]
|
| /linux/sound/soc/codecs/ |
| H A D | cs42l43.c | 1 // SPDX-License-Identifier: GPL-2.0 5 // Copyright (C) 2022-2023 Cirrus Logic, Inc. and 21 #include <linux/mfd/cs42l43-regs.h> 33 #include <sound/soc-component.h> 34 #include <sound/soc-dapm.h> 35 #include <sound/soc-dai.h> 83 { name_str, "ASRC INT1", "ASRC_INT1" }, \ 84 { name_str, "ASRC INT [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 | 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 | 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 | rt5645.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5645.c -- RT5645 ALSA SoC audio codec driver 26 #include <sound/soc-dapm.h> 41 static unsigned int quirk = -1; 439 /* Some (package) variants have the headset-mic pin not-connected */ 671 static const DECLARE_TLV_DB_SCALE(out_vol_tlv, -4650, 150, 0); 672 static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -6525, 75, 0); 673 static const DECLARE_TLV_DB_SCALE(in_vol_tlv, -3450, 150, 0); 674 static const DECLARE_TLV_DB_SCALE(adc_vol_tlv, -1725, 75, 0); 688 /* {-6, -4.5, -3, -1.5, 0, 0.82, 1.58, 2.28} dB */ [all …]
|
| H A D | rt5677.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * rt5677.h -- RT5677 ALSA SoC audio driver 20 /* I/O - Output */ 22 /* I/O - Input */ 25 /* I/O - SLIMBus */ 31 /* I/O - ADC/DAC */ 43 /* Mixer - D-D */ 60 /* Mixer - PDM */ 116 /* Format - ADC/DAC */ 124 /* Function - Analog */ [all …]
|
| H A D | rt5670.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * rt5670.h -- RT5670 ALSA SoC audio driver 17 /* I/O - Output */ 20 /* I/O - Input */ 26 /* I/O - ADC/DAC/DMIC */ 34 /* Mixer - D-D */ 47 /* Mixer - PDM */ 56 /* Mixer - ADC */ 61 /* Mixer - DAC */ 77 /* Format - ADC/DAC */ [all …]
|
| H A D | rt5645.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * rt5645.h -- RT5645 ALSA SoC audio driver 17 /* I/O - Output */ 22 /* I/O - Input */ 30 /* I/O - ADC/DAC/DMIC */ 38 /* Mixer - [all...] |
| /linux/sound/soc/mediatek/mt8186/ |
| H A D | mt8186-dai-i2s.c | 1 // SPDX-License-Identifier: GPL-2.0 11 #include "mt8186-afe-clk.h" 12 #include "mt8186-afe-common.h" 13 #include "mt8186-afe-gpio.h" 14 #include "mt8186-interconnection.h" 54 static unsigned int get_i2s_wlen(snd_pcm_format_t format) in get_i2s_wlen() argument 56 return snd_pcm_format_physical_width(format) <= 16 ? in get_i2s_wlen() 88 return -EINVAL; in get_i2s_id_by_name() 94 struct mt8186_afe_private *afe_priv = afe->platform_priv; in get_i2s_priv_by_name() 100 return afe_priv->dai_priv[dai_id]; in get_i2s_priv_by_name() [all …]
|
| /linux/sound/soc/intel/avs/ |
| H A D | topology.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 101 } asrc; 125 /* Specifies path behaviour during PCM ->trigger(START) command. */ 181 /* Path format requirements. */ 184 /* Condpath path-variant requirements. */ 191 /* Path template path-variants management. */ 100 } asrc; global() member
|
| H A D | path.c | 1 // SPDX-License-Identifier: GPL-2.0-only 18 /* Must be called with adev->comp_list_mutex held. */ 24 list_for_each_entry(acomp, &adev->comp_list, node) in avs_path_find_tplg() 25 if (!strcmp(acomp->tplg->name, name)) in avs_path_find_tplg() 26 return acomp->tplg; in avs_path_find_tplg() 35 list_for_each_entry(mod, &ppl->mod_lis in avs_path_find_module() [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" 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() 80 dev_err(card->dev, "Codec dai not found; Unable to set platform clock\n"); 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 22 #include <sound/soc-acpi.h> 24 #include "../atom/sst-atom-controls.h" 25 #include "../common/soc-intel-quirks.h" 30 #define CHT_CODEC_DAI "rt5670-aif1" 54 struct snd_soc_dapm_context *dapm = w->dapm; in platform_clock_control() 55 struct snd_soc_card *card = dapm->card; in platform_clock_control() 62 dev_err(card->dev, "Codec dai not found; Unable to set platform clock\n"); in platform_clock_control() 63 return -EIO; in platform_clock_control() [all …]
|
| /linux/sound/soc/mediatek/mt8192/ |
| H A D | mt8192-dai-i2s.c | 1 // SPDX-License-Identifier: GPL-2.0 13 #include "mt8192-afe-clk.h" 14 #include "mt8192-afe-common.h" 15 #include "mt8192-afe-gpio.h" 16 #include "mt8192-interconnection.h" 55 static unsigned int get_i2s_wlen(snd_pcm_format_t format) in get_i2s_wlen() argument 57 return snd_pcm_format_physical_width(format) <= 16 ? in get_i2s_wlen() 113 return -EINVAL; in get_i2s_id_by_name() 119 struct mt8192_afe_private *afe_priv = afe->platform_priv; in get_i2s_priv_by_name() 125 return afe_priv->dai_priv[dai_id]; in get_i2s_priv_by_name() [all …]
|
| /linux/sound/soc/intel/avs/boards/ |
| H A D | rt5640.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 // Copyright(c) 2022-2025 Intel Corporation 14 #include <sound/soc-acpi.h> 19 #define RT5640_CODEC_DAI "rt5640-aif1" 52 struct snd_soc_card *card = runtime->card; in avs_rt5640_codec_init() 60 pins = devm_kmemdup(card->dev, card_headset_pins, sizeof(*pins) * num_pins, GFP_KERNEL); in avs_rt5640_codec_init() 62 return -ENOME in avs_rt5640_codec_init() [all...] |
| /linux/sound/soc/qcom/ |
| H A D | sdm845.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <dt-bindings/sound/qcom,q6afe.h> 15 #include <uapi/linux/input-event-codes.h> 65 struct sdm845_snd_data *pdata = snd_soc_card_get_drvdata(rtd->card); in sdm845_slim_snd_hw_params() 73 substream->stream); in sdm845_slim_snd_hw_params() 74 if (sruntime != ERR_PTR(-ENOTSUPP)) in sdm845_slim_snd_hw_params() 75 pdata->sruntime[cpu_dai->id] = sruntime; in sdm845_slim_snd_hw_params() 80 if (ret != 0 && ret != -ENOTSUPP) { in sdm845_slim_snd_hw_params() 83 } else if (ret == -ENOTSUPP) { in sdm845_slim_snd_hw_params() 88 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) in sdm845_slim_snd_hw_params() [all …]
|