Home
last modified time | relevance | path

Searched +full:asrc +full:- +full:rate (Results 1 – 25 of 71) sorted by relevance

123

/linux-6.12.1/Documentation/devicetree/bindings/sound/
Dfsl,imx-asrc.yaml1 # 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 …]
Dnvidia,tegra186-asrc.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/sound/nvidia,tegra186-asrc.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Tegra186 ASRC
10 Asynchronous Sample Rate Converter (ASRC) converts the sampling frequency
12 wide range of sample rate ratios (freq_in/freq_out) from 1:24 to 24:1.
13 ASRC has two modes of operation. One where ratio can be programmed in SW
16 It supports sample rate conversions in the range of 8 to 192 kHz and
21 - Jon Hunter <jonathanh@nvidia.com>
[all …]
Dfsl,easrc.yaml1 # 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 …]
/linux-6.12.1/sound/soc/fsl/
Dfsl_asrc.c1 // 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__)
127 static bool fsl_asrc_divider_avail(int clk_rate, int rate, int *div) in fsl_asrc_divider_avail() argument
135 if (clk_rate == 0 || rate == 0) in fsl_asrc_divider_avail()
139 rem = do_div(n, rate); in fsl_asrc_divider_avail()
[all …]
Dfsl-asoc-card.c1 // 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"
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
80 * struct fsl_asoc_card_priv - Freescale Generic ASOC card private data
89 * @sample_rate: Current sample rate
[all …]
DKconfig1 # 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.
26 This option is only useful for out-of-tree drivers since
27 in-tree drivers select it automatically.
36 This option is only useful for out-of-tree drivers since
37 in-tree drivers select it automatically.
54 This option is only useful for out-of-tree drivers since
[all …]
Dimx-card.c1 // SPDX-License-Identifier: GPL-2.0+
2 // Copyright 2017-2021 NXP
14 #include <sound/soc-dapm.h>
32 * @rmin: min rate
33 * @rmax: max rate
54 * struct imx_card_plat_data - specific info for codecs
58 * @support_rates: supported sample rate
59 * @support_tdm_rates: supported sample rate for tdm mode
88 * struct dai_link_data - specific info for dai link
103 * struct imx_card_data - platform device data
[all …]
Dfsl_easrc.h1 /* SPDX-License-Identifier: GPL-2.0 */
10 #include <linux/dma/imx-dma.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 …]
Dfsl_asrc_common.h1 /* 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"
Dfsl_easrc.c1 // 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/include/sound/sof/
Dtopology.h1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
39 SOF_COMP_ASRC, /**< Asynchronous sample rate converter */
53 /* create new generic component - SOF_IPC_TPLG_COMP_NEW */
95 /* create new component buffer - SOF_IPC_TPLG_BUFFER_NEW */
104 /* generic component config data - must always be after struct sof_ipc_comp */
132 uint32_t type; /**< DAI type - SOF_DAI_ */
167 /* either source or sink rate must be non zero */
168 uint32_t source_rate; /**< source rate or 0 for variable */
169 uint32_t sink_rate; /**< sink rate or 0 for variable */
173 /* generic ASRC component */
[all …]
/linux-6.12.1/sound/soc/codecs/
Drt5682.c1 // 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 …]
Dadau1372.c1 // SPDX-License-Identifier: GPL-2.0-only
6 * Author: Lars-Peter Clausen <lars@metafoo.de>
24 #include "adau-utils.h"
125 static const DECLARE_TLV_DB_MINMAX(adau1372_digital_tlv, -9563, 0);
126 static const DECLARE_TLV_DB_SCALE(adau1372_pga_tlv, -1200, 75, 0);
189 SOC_ENUM("ADC 0+1 High-Pass-Filter", adau1372_hpf0_1_enum),
190 SOC_ENUM("ADC 2+3 High-Pass-Filter", adau1372_hpf2_3_enum),
339 SOC_DAPM_ENUM("Input ASRC Playback Mux", adau1372_asrci_mux_enum);
433 SND_SOC_DAPM_SUPPLY("Output ASRC Supply", ADAU1372_REG_ASRC_MODE, 1, 0, NULL, 0),
434 SND_SOC_DAPM_SUPPLY("Input ASRC Supply", ADAU1372_REG_ASRC_MODE, 0, 0, NULL, 0),
[all …]
Drt5682s.c1 // 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 …]
Dcs42l43.c1 // 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 …]
Drt5670.c1 // 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 …]
Drt5677.c1 // 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 …]
/linux-6.12.1/sound/soc/tegra/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
3 tristate "SoC Audio for the Tegra System-on-Chip"
83 Config to enable the Inter-IC Sound (I2S) Controller which
84 implements full-duplex and bidirectional and single direction
85 point-to-point serial interfaces. It can interface with I2S
99 tristate "Tegra186 ASRC module"
101 Config to enable the Asynchronous Sample Rate Converter (ASRC),
104 sample rate ratios (freq_in/freq_out) from 1:24 to 24:1.
105 ASRC has two modes of operation. One where ratio can be programmed
108 Say Y or M if you want to add support for Tegra186 ASRC module.
[all …]
/linux-6.12.1/sound/soc/sof/
Dipc3-topology.c1 // 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 */
191 offsetof(struct sof_ipc_dai_alh_params, rate)},
256 offsetof(struct sof_ipc_dai_hda_params, rate)},
264 offsetof(struct sof_ipc_dai_mtk_afe_params, rate)},
304 offsetof(struct sof_ipc_dai_acp_sdw_params, rate)},
331 [SOF_ASRC_TOKENS] = {"ASRC tokens", asrc_tokens, ARRAY_SIZE(asrc_tokens)},
[all …]
/linux-6.12.1/arch/arm64/boot/dts/freescale/
Dimx8mn-bsh-smm-s2pro.dts1 // 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 …]
Dimx8-ss-audio.dtsi1 // SPDX-License-Identifier: GPL-2.0+
3 * Copyright 2018-2019 NXP
7 #include <dt-bindings/clock/imx8-clock.h>
8 #include <dt-bindings/clock/imx8-lpcg.h>
9 #include <dt-bindings/dma/fsl-edma.h>
10 #include <dt-bindings/firmware/imx/rsrc.h>
12 audio_ipg_clk: clock-audio-ipg {
13 compatible = "fixed-clock";
14 #clock-cells = <0>;
15 clock-frequency = <120000000>;
[all …]
Dimx8-apalis-eval.dtsi1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
12 reg_usb_host_vbus: regulator-usb-host-vbus {
13 regulator-name = "VCC USBH2(ABCD) / USBH(3|4)";
27 /* TODO: Asynchronous Sample Rate Converter (ASRC) */
115 /* TODO: Apalis USBH2, Apalis USBH3 and on-module Wi-Fi via on-module HSIC Hub */
/linux-6.12.1/sound/soc/intel/boards/
Dbdw-rt5650.c1 // 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 convert 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 …]
Dbdw-rt5677.c1 // 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 …]
/linux-6.12.1/sound/soc/mediatek/mt8186/
Dmt8186-dai-i2s.c1 // 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"
43 int rate; /* for determine which apll to use */ member
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()
120 i2s_priv = get_i2s_priv_by_name(afe, kcontrol->id.name); in mt8186_i2s_hd_get()
[all …]

123