/kernel/linux/linux-5.10/sound/soc/fsl/ |
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/platform_data/dma-imx.h> 25 dev_err(&asrc->pdev->dev, "Pair %c: " fmt, 'A' + index, ##__VA_ARGS__) 28 dev_dbg(&asrc->pdev->dev, "Pair %c: " fmt, 'A' + index, ##__VA_ARGS__) 123 static bool fsl_asrc_divider_avail(int clk_rate, int rate, int *div) in fsl_asrc_divider_avail() argument 131 if (clk_rate == 0 || rate == 0) in fsl_asrc_divider_avail() 135 rem = do_div(n, rate); in fsl_asrc_divider_avail() 155 * fsl_asrc_sel_proc - Select the pre-processing and post-processing options [all …]
|
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" 38 * struct codec_priv - CODEC private data 39 * @mclk_freq: Clock rate of MCLK 52 * struct cpu_priv - CPU private data 68 * struct fsl_asoc_card_priv - Freescale Generic ASOC card private data 77 * @sample_rate: Current sample rate 79 * @asrc_rate: ASRC sample rate used by Back-Ends 80 * @asrc_format: ASRC sample format used by Back-Ends [all …]
|
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 7 tristate "Asynchronous Sample Rate Converter (ASRC) module support" 12 Say Y if you want to add Asynchronous Sample Rate Converter (ASRC) 14 This option is only useful for out-of-tree drivers since 15 in-tree drivers select it automatically. 25 This option is only useful for out-of-tree drivers since 26 in-tree drivers select it automatically. 35 This option is only useful for out-of-tree drivers since 36 in-tree drivers select it automatically. 53 This option is only useful for out-of-tree drivers since [all …]
|
D | fsl_easrc.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 10 #include <linux/platform_data/dma-imx.h> 16 /* ASRC Input Write FIFO */ 18 /* ASRC Output Read FIFO */ 20 /* ASRC Context Control */ 22 /* ASRC Context Control Extended 1 */ 24 /* ASRC Context Control Extended 2 */ 26 /* ASRC Control Input Access */ 28 /* ASRC Datapath Processor Control Slot0 */ 33 /* ASRC Datapath Processor Control Slot1 */ [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 | 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 …]
|
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/sound/ |
D | fsl,asrc.txt | 1 Freescale Asynchronous Sample Rate Converter (ASRC) Controller 3 The Asynchronous Sample Rate Converter (ASRC) converts the sampling rate of a 11 - compatible : Compatible list, should contain one of the following 13 "fsl,imx35-asrc", 14 "fsl,imx53-asrc", 15 "fsl,imx8qm-asrc", 16 "fsl,imx8qxp-asrc", 18 - reg : Offset and length of the register set for the device. 20 - interrupts : Contains the spdif interrupt. 22 - dmas : Generic dma devicetree binding as described in [all …]
|
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> 17 const: fsl,imx8mn-easrc 27 - description: Peripheral clock 29 clock-names: 31 - const: mem 36 dma-names: [all …]
|
/kernel/linux/linux-5.10/include/sound/sof/ |
D | topology.h | 1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ 39 SOF_COMP_ASRC, /**< Asynchronous sample rate converter */ 52 /* create new generic component - SOF_IPC_TPLG_COMP_NEW */ 93 /* create new component buffer - SOF_IPC_TPLG_BUFFER_NEW */ 102 /* generic component config data - must always be after struct sof_ipc_comp */ 130 uint32_t type; /**< DAI type - SOF_DAI_ */ 163 /* either source or sink rate must be non zero */ 164 uint32_t source_rate; /**< source rate or 0 for variable */ 165 uint32_t sink_rate; /**< sink rate or 0 for variable */ 169 /* generic ASRC component */ [all …]
|
/kernel/linux/linux-5.10/sound/soc/codecs/ |
D | rt5682.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 // rt5682.c -- RT5682 ALSA SoC audio component driver 26 #include <sound/soc-dapm.h> 54 ret = regmap_multi_reg_write(rt5682->regmap, patch_list, in rt5682_apply_patch_list() 743 static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -6525, 75, 0); 744 static const DECLARE_TLV_DB_SCALE(adc_vol_tlv, -1725, 75, 0); 811 regmap_write(rt5682->regmap, RT5682_RESET, 0); in rt5682_reset() 812 if (!rt5682->is_sdw) in rt5682_reset() 813 regmap_write(rt5682->regmap, RT5682_I2C_MODE, 1); in rt5682_reset() 818 * rt5682_sel_asrc_clk_src - select ASRC clock source for a set of filters [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 | rt5677.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5677.c -- RT5677 ALSA SoC audio codec driver 31 #include <sound/soc-dapm.h> 37 #include "rt5677-spi.h" 554 * rt5677_dsp_mode_i2c_write_addr - Write value to address on DSP mode. 565 struct snd_soc_component *component = rt5677->component; in rt5677_dsp_mode_i2c_write_addr() 568 mutex_lock(&rt5677->dsp_cmd_lock); in rt5677_dsp_mode_i2c_write_addr() 570 ret = regmap_write(rt5677->regmap_physical, RT5677_DSP_I2C_ADDR_MSB, in rt5677_dsp_mode_i2c_write_addr() 573 dev_err(component->dev, "Failed to set addr msb value: %d\n", ret); in rt5677_dsp_mode_i2c_write_addr() 577 ret = regmap_write(rt5677->regmap_physical, RT5677_DSP_I2C_ADDR_LSB, in rt5677_dsp_mode_i2c_write_addr() [all …]
|
D | rt5668.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5668.c -- RT5668B ALSA SoC audio component driver 27 #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 | rt5651.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5651.c -- RT5651 ALSA SoC audio codec driver 23 #include <sound/soc-dapm.h> 287 static const DECLARE_TLV_DB_SCALE(out_vol_tlv, -4650, 150, 0); 288 static const DECLARE_TLV_DB_MINMAX(dac_vol_tlv, -6562, 0); 289 static const DECLARE_TLV_DB_SCALE(in_vol_tlv, -3450, 150, 0); 290 static const DECLARE_TLV_DB_MINMAX(adc_vol_tlv, -1762, 3000); 356 /* ASRC */ 357 SOC_SINGLE("IF1 ASRC Switch", RT5651_PLL_MODE_1, 359 SOC_SINGLE("IF2 ASRC Switch", RT5651_PLL_MODE_1, [all …]
|
D | rt5645.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5645.c -- RT5645 ALSA SoC audio codec driver 27 #include <sound/soc-dapm.h> 41 static unsigned int quirk = -1; 638 static const DECLARE_TLV_DB_SCALE(out_vol_tlv, -4650, 150, 0); 639 static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -6525, 75, 0); 640 static const DECLARE_TLV_DB_SCALE(in_vol_tlv, -3450, 150, 0); 641 static const DECLARE_TLV_DB_SCALE(adc_vol_tlv, -1725, 75, 0); 655 /* {-6, -4.5, -3, -1.5, 0, 0.82, 1.58, 2.28} dB */ 657 0, 4, TLV_DB_SCALE_ITEM(-600, 150, 0), [all …]
|
D | rt5514.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5514.c -- RT5514 ALSA SoC audio codec driver 25 #include <sound/soc-dapm.h> 32 #include "rt5514-spi.h" 121 regmap_write(rt5514->i2c_regmap, 0x18002000, 0x000010ec); in rt5514_enable_dsp_prepare() 123 regmap_write(rt5514->i2c_regmap, 0x18002200, 0x00028604); in rt5514_enable_dsp_prepare() 125 regmap_write(rt5514->i2c_regmap, 0xfafafafa, 0x00000001); in rt5514_enable_dsp_prepare() 126 /* mini-core reset */ in rt5514_enable_dsp_prepare() 127 regmap_write(rt5514->i2c_regmap, 0x18002f00, 0x0005514b); in rt5514_enable_dsp_prepare() 128 regmap_write(rt5514->i2c_regmap, 0x18002f00, 0x00055149); in rt5514_enable_dsp_prepare() [all …]
|
D | rt5665.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5665.c -- RT5665/RT5658 ALSA SoC audio codec driver 27 #include <sound/soc-dapm.h> 888 static const DECLARE_TLV_DB_SCALE(hp_vol_tlv, -2250, 150, 0); 889 static const DECLARE_TLV_DB_SCALE(mono_vol_tlv, -1400, 150, 0); 890 static const DECLARE_TLV_DB_SCALE(out_vol_tlv, -4650, 150, 0); 891 static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -65625, 375, 0); 892 static const DECLARE_TLV_DB_SCALE(in_vol_tlv, -3450, 150, 0); 893 static const DECLARE_TLV_DB_SCALE(adc_vol_tlv, -17625, 375, 0); 895 static const DECLARE_TLV_DB_SCALE(in_bst_tlv, -1200, 75, 0); [all …]
|
D | rt5640.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5640.c -- RT5640/RT5639 ALSA SoC audio codec driver 28 #include <sound/soc-dapm.h> 341 static const DECLARE_TLV_DB_SCALE(out_vol_tlv, -4650, 150, 0); 342 static const DECLARE_TLV_DB_MINMAX(dac_vol_tlv, -6562, 0); 343 static const DECLARE_TLV_DB_SCALE(in_vol_tlv, -3450, 150, 0); 344 static const DECLARE_TLV_DB_MINMAX(adc_vol_tlv, -1762, 3000); 452 * set_dmic_clk - Set parameter of dmic. 462 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in set_dmic_clk() 464 int idx, rate; in set_dmic_clk() local [all …]
|
/kernel/linux/linux-5.10/sound/soc/intel/boards/ |
D | bdw-rt5677.c | 1 // SPDX-License-Identifier: GPL-2.0-only 18 #include <sound/soc-acpi.h> 30 struct snd_soc_dapm_context *dapm = w->dapm; in bdw_rt5677_event_hp() 31 struct snd_soc_card *card = dapm->card; in bdw_rt5677_event_hp() 37 gpiod_set_value_cansleep(bdw_rt5677->gpio_hp_en, in bdw_rt5677_event_hp() 104 .name = "plug-det", 110 .name = "mic-present", 130 { "plug-det-gpios", &plug_det_gpio, 1 }, 131 { "mic-present-gpios", &mic_present_gpio, 1 }, 132 { "headphone-enable-gpios", &headphone_enable_gpio, 1 }, [all …]
|
D | bdw-rt5650.c | 1 // SPDX-License-Identifier: GPL-2.0-only 17 #include <sound/soc-acpi.h> 86 struct snd_interval *rate = hw_param_interval(params, in broadwell_ssp0_fixup() local 91 /* The ADSP will covert the FE rate to 48k, max 4-channels */ in broadwell_ssp0_fixup() 92 rate->min = rate->max = 48000; in broadwell_ssp0_fixup() 93 chan->min = 2; in broadwell_ssp0_fixup() 94 chan->max = 4; in broadwell_ssp0_fixup() 116 dev_err(rtd->dev, "can't set codec pll: %d\n", ret); in bdw_rt5650_hw_params() 122 * ASRC is enabled on AD and DA filters to ensure good audio quality. in bdw_rt5650_hw_params() 127 dev_err(rtd->dev, "can't set codec sysclk configuration\n"); in bdw_rt5650_hw_params() [all …]
|
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 21 #include <sound/soc-acpi.h> 23 #include "../atom/sst-atom-controls.h" 28 #define CHT_CODEC_DAI "rt5670-aif1" 51 struct snd_soc_dapm_context *dapm = w->dapm; in platform_clock_control() 52 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() 64 if (ctx->mclk) { in platform_clock_control() [all …]
|
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" 70 struct snd_soc_dapm_context *dapm = w->dapm; in platform_clock_control() 71 struct snd_soc_card *card = dapm->card; in platform_clock_control() 81 dev_err(card->dev, "Codec dai not found; Unable to set platform clock\n"); in platform_clock_control() [all …]
|
/kernel/linux/patches/linux-5.10/imx8mm_patch/patches/ |
D | 0009_linux_sound.patch | 7 Change-Id: Ic34341fbcce5e6d02fefc2acad4ea1058da94b66 9 diff --git a/sound/core/pcm_dmaengine.c b/sound/core/pcm_dmaengine.c 11 --- a/sound/core/pcm_dmaengine.c 13 @@ -125,6 +125,8 @@ void snd_dmaengine_pcm_set_config_from_dai_data( 16 slave_config->slave_id = dma_data->slave_id; 17 + slave_config->peripheral_config = dma_data->peripheral_config; 18 + slave_config->peripheral_size = dma_data->peripheral_size; 22 diff --git a/sound/soc/codecs/hdmi-codec.c b/sound/soc/codecs/hdmi-codec.c 24 --- a/sound/soc/codecs/hdmi-codec.c 25 +++ b/sound/soc/codecs/hdmi-codec.c [all …]
|
/kernel/linux/linux-5.10/sound/soc/sof/ |
D | topology.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) 19 #include "sof-priv.h" 20 #include "sof-audio.h" 26 * from dB gain 20th root of 10 in Q1.16 fixed-point notation 29 /* 40th root of 10 in Q1.16 fixed-point notation*/ 61 struct snd_soc_component *scomp = swidget->scomp; in ipc_pcm_params() 71 spcm = snd_sof_find_spcm_name(scomp, swidget->widget->sname); in ipc_pcm_params() 73 dev_err(scomp->dev, "error: cannot find PCM for %s\n", in ipc_pcm_params() 74 swidget->widget->name); in ipc_pcm_params() 75 return -EINVAL; in ipc_pcm_params() [all …]
|
/kernel/linux/linux-5.10/arch/arm/boot/dts/ |
D | imx6ul.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 5 #include <dt-bindings/clock/imx6ul-clock.h> 6 #include <dt-bindings/gpio/gpio.h> 7 #include <dt-bindings/input/input.h> 8 #include <dt-bindings/interrupt-controller/arm-gic.h> 9 #include "imx6ul-pinfunc.h" 12 #address-cells = <1>; 13 #size-cells = <1>; 16 * pre-existing /chosen node to be available to insert the 55 #address-cells = <1>; [all …]
|