/linux-6.12.1/Documentation/devicetree/bindings/sound/ |
D | fsl,easrc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: NXP Asynchronous Sample Rate Converter (ASRC) Controller 10 - Shengjiu Wang <shengjiu.wang@nxp.com> 18 - enum: 19 - fsl,imx8mn-easrc 20 - items: 21 - enum: 22 - fsl,imx8mp-easrc [all …]
|
D | fsl,imx-asrc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/fsl,imx-asrc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Freescale Asynchronous Sample Rate Converter (ASRC) Controller 10 The Asynchronous Sample Rate Converter (ASRC) converts the sampling rate of 17 - Shawn Guo <shawnguo@kernel.org> 18 - Sascha Hauer <s.hauer@pengutronix.de> 23 - enum: 24 - fsl,imx35-asrc [all …]
|
D | fsl-asoc-card.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/fsl-asoc-card.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Freescale Generic ASoC Sound Card with ASRC support 15 most of them have ASRC inside. And this is a specific feature that might 20 of the wide sample rates support through ASRC. 28 - Shengjiu Wang <shengjiu.wang@nxp.com> 33 - items: 34 - enum: [all …]
|
D | imx-audio-card.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/imx-audio-card.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Shengjiu Wang <shengjiu.wang@nxp.com> 13 - $ref: sound-card-common.yaml# 18 - fsl,imx-audio-card 21 ".*-dai-link$": 29 link-name: 30 description: Indicates dai-link name and PCM stream name. [all …]
|
/linux-6.12.1/sound/soc/fsl/ |
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 80 * struct fsl_asoc_card_priv - Freescale Generic ASOC card private data 90 * @sample_format: Current sample format 91 * @asrc_rate: ASRC sample rate used by Back-Ends [all …]
|
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 …]
|
D | fsl_asrc_common.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 15 ASRC_INVALID_PAIR = -1, 25 * fsl_asrc_pair: ASRC Pair common data 27 * @asrc: pointer to its parent module 39 struct fsl_asrc *asrc; member 55 * fsl_asrc: ASRC common data 67 * @channel_avail: non-occupied channel numbers 68 * @asrc_rate: default sample rate for ASoC Back-Ends 69 * @asrc_format: default sample format for ASoC Back-Ends 105 #define DRV_NAME "fsl-asrc-dai"
|
D | imx-card.c | 1 // SPDX-License-Identifier: GPL-2.0+ 2 // Copyright 2017-2021 NXP 14 #include <sound/soc-dapm.h> 54 * struct imx_card_plat_data - specific info for codecs 88 * struct dai_link_data - specific info for dai link 103 * struct imx_card_data - platform device data 110 * @asrc_rate: asrc rates 111 * @asrc_format: asrc format 142 * Table 13 - Audio Interface Format 153 * Table 7 - mapping multiplier and speed mode [all …]
|
D | fsl_easrc.c | 1 // SPDX-License-Identifier: GPL-2.0 7 #include <linux/dma-mapping.h> 32 #include "imx-pcm.h" 51 struct fsl_easrc_priv *easrc_priv = easrc->private; in fsl_easrc_iec958_put_bits() 53 (struct soc_mreg_control *)kcontrol->private_value; in fsl_easrc_iec958_put_bits() 54 unsigned int regval = ucontrol->value.integer.value[0]; in fsl_easrc_iec958_put_bits() 56 easrc_priv->bps_iec958[mc->regbase] = regval; in fsl_easrc_iec958_put_bits() 66 struct fsl_easrc_priv *easrc_priv = easrc->private; in fsl_easrc_iec958_get_bits() 68 (struct soc_mreg_control *)kcontrol->private_value; in fsl_easrc_iec958_get_bits() 70 ucontrol->value.enumerated.item[0] = easrc_priv->bps_iec958[mc->regbase]; in fsl_easrc_iec958_get_bits() [all …]
|
/linux-6.12.1/arch/arm64/boot/dts/freescale/ |
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 …]
|
/linux-6.12.1/sound/soc/sof/ |
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" 135 /* ASRC */ 268 offsetof(struct sof_ipc_dai_mtk_afe_params, format)}, 331 [SOF_ASRC_TOKENS] = {"ASRC tokens", asrc_tokens, ARRAY_SIZE(asrc_tokens)}, 351 * sof_comp_alloc - allocate and initialize buffer for a new component 364 size_t ext_size = sizeof(swidget->uuid); in sof_comp_alloc() 366 /* only non-zero UUID is valid */ in sof_comp_alloc() [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/dma/ |
D | fsl,imx-sdma.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/dma/fsl,imx-sdma.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Joy Zou <joy.zou@nxp.com> 13 - $ref: dma-controller.yaml# 18 - items: 19 - enum: 20 - fsl,imx50-sdma 21 - fsl,imx51-sdma [all …]
|
/linux-6.12.1/sound/soc/codecs/ |
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 INT2", "ASRC_INT2" }, \ 85 { name_str, "ASRC INT3", "ASRC_INT3" }, \ 86 { name_str, "ASRC INT4", "ASRC_INT4" }, \ [all …]
|
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() 749 static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -6525, 75, 0); 750 static const DECLARE_TLV_DB_SCALE(adc_vol_tlv, -1725, 75, 0); 817 regmap_write(rt5682->regmap, RT5682_RESET, 0); in rt5682_reset() 818 if (!rt5682->is_sdw) in rt5682_reset() 819 regmap_write(rt5682->regmap, RT5682_I2C_MODE, 1); in rt5682_reset() [all …]
|
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 …]
|
D | rt5668.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5668.c -- RT5668B ALSA SoC audio component driver 26 #include <sound/soc-dapm.h> 746 static const DECLARE_TLV_DB_SCALE(hp_vol_tlv, -2250, 150, 0); 747 static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -65625, 375, 0); 748 static const DECLARE_TLV_DB_SCALE(adc_vol_tlv, -17625, 375, 0); 803 * rt5668_sel_asrc_clk_src - select ASRC clock source for a set of filters 808 * The ASRC function is for asynchronous MCLK and LRCK. Also, since RT5668 can 809 * only support standard 32fs or 64fs i2s format, ASRC should be enabled to 810 * support special i2s clock format such as Intel's 100fs(100 * sampling rate). [all …]
|
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 …]
|
D | rt5665.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5665.c -- RT5665/RT5658 ALSA SoC audio codec driver 26 #include <sound/soc-dapm.h> 887 static const DECLARE_TLV_DB_SCALE(hp_vol_tlv, -2250, 150, 0); 888 static const DECLARE_TLV_DB_SCALE(mono_vol_tlv, -1400, 150, 0); 889 static const DECLARE_TLV_DB_SCALE(out_vol_tlv, -4650, 150, 0); 890 static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -65625, 375, 0); 891 static const DECLARE_TLV_DB_SCALE(in_vol_tlv, -3450, 150, 0); 892 static const DECLARE_TLV_DB_SCALE(adc_vol_tlv, -17625, 375, 0); 894 static const DECLARE_TLV_DB_SCALE(in_bst_tlv, -1200, 75, 0); [all …]
|
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 …]
|
/linux-6.12.1/sound/soc/mediatek/mt8186/ |
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-6.12.1/sound/soc/intel/avs/ |
D | topology.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 93 } asrc; member 112 /* Specifies path behaviour during PCM ->trigger(START) command. */ 164 /* Path format requirements. */ 171 /* Path template path-variants management. */
|
/linux-6.12.1/sound/soc/mediatek/mt8365/ |
D | mt8365-dai-pcm.c | 1 // SPDX-License-Identifier: GPL-2.0 13 #include "mt8365-afe-clk.h" 14 #include "mt8365-afe-common.h" 20 unsigned int format; member 27 regmap_update_bits(afe->regmap, PCM_INTF_CON1, in mt8365_dai_enable_pcm1() 33 regmap_update_bits(afe->regmap, PCM_INTF_CON1, in mt8365_dai_disable_pcm1() 41 struct mt8365_afe_private *afe_priv = afe->platform_priv; in mt8365_dai_configure_pcm1() 42 struct mt8365_pcm_intf_data *pcm_priv = afe_priv->dai_priv[MT8365_AFE_IO_PCM1]; in mt8365_dai_configure_pcm1() 43 bool slave_mode = pcm_priv->slave_mode; in mt8365_dai_configure_pcm1() 44 bool lrck_inv = pcm_priv->lrck_inv; in mt8365_dai_configure_pcm1() [all …]
|
/linux-6.12.1/include/uapi/sound/sof/ |
D | tokens.h | 1 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */ 32 * Tokens - must match values in topology configurations 72 /* ASRC */ 181 /* CAVS AUDIO FORMAT */
|
/linux-6.12.1/sound/soc/mediatek/mt8195/ |
D | mt8195-dai-pcm.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" 39 unsigned int format; member 60 return -EINVAL; in mtk_dai_pcm_mode() 122 struct snd_pcm_runtime * const runtime = substream->runtime; in mtk_dai_pcm_configure() 124 struct mt8195_afe_private *afe_priv = afe->platform_priv; in mtk_dai_pcm_configure() 130 unsigned int bit_width = dai->sample_bits; in mtk_dai_pcm_configure() 136 if (dai->id != MT8195_AFE_IO_PCM) in mtk_dai_pcm_configure() [all …]
|
/linux-6.12.1/sound/soc/mediatek/mt8188/ |
D | mt8188-dai-pcm.c | 1 // SPDX-License-Identifier: GPL-2.0 8 * Chun-Chia Chiu <chun-chia.chiu@mediatek.com> 14 #include "mt8188-afe-clk.h" 15 #include "mt8188-afe-common.h" 16 #include "mt8188-reg.h" 41 unsigned int format; member 62 return -EINVAL; in mtk_dai_pcm_mode() 123 struct snd_pcm_runtime * const runtime = substream->runtime; in mtk_dai_pcm_configure() 125 struct mt8188_afe_private *afe_priv = afe->platform_priv; in mtk_dai_pcm_configure() 131 unsigned int bit_width = dai->sample_bits; in mtk_dai_pcm_configure() [all …]
|