Home
last modified time | relevance | path

Searched full:asrc (Results 1 – 25 of 84) sorted by relevance

1234

/linux/sound/soc/fsl/
H A Dfsl_asrc.c3 // Freescale ASRC ALSA SoC Digital Audio Interface (DAI) driver
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__)
206 * fsl_asrc_request_pair - Request ASRC pair
217 struct fsl_asrc *asrc = pair->asrc; in fsl_asrc_request_pair() local
218 struct device *dev = &asrc->pdev->dev; in fsl_asrc_request_pair()
222 spin_lock_irqsave(&asrc->lock, lock_flags); in fsl_asrc_request_pair()
225 if (asrc->pair[i] != NULL) in fsl_asrc_request_pair()
237 } else if (asrc->channel_avail < channels) { in fsl_asrc_request_pair()
[all …]
H A Dfsl_asrc_m2m.c6 // Freescale ASRC Memory to Memory (M2M) driver
54 struct fsl_asrc *asrc = pair->asrc; in asrc_read_last_fifo() local
69 size = asrc->get_output_fifo_size(pair); in asrc_read_last_fifo()
74 regmap_read(asrc->regmap, asrc->get_fifo_addr(OUT, index), &reg); in asrc_read_last_fifo()
106 struct fsl_asrc *asrc = pair->asrc; in asrc_dmaconfig() local
107 struct device *dev = &asrc->pdev->dev; in asrc_dmaconfig()
137 slave_config.dst_maxburst = asrc->m2m_get_maxburst(IN, pair); in asrc_dmaconfig()
142 slave_config.src_maxburst = asrc->m2m_get_maxburst(OUT, pair); in asrc_dmaconfig()
188 struct fsl_asrc *asrc = pair->asrc; in asrc_m2m_device_run() local
189 struct device *dev = &asrc->pdev->dev; in asrc_m2m_device_run()
[all …]
H A Dfsl_asrc_dma.c3 // Freescale ASRC ALSA SoC Platform (DMA) driver
141 struct fsl_asrc *asrc = pair->asrc; in fsl_asrc_dma_hw_params() local
190 dma_params_fe->addr = asrc->paddr + asrc->get_fifo_addr(!dir, index); in fsl_asrc_dma_hw_params()
193 pair->dma_chan[!dir] = asrc->get_dma_channel(pair, !dir); in fsl_asrc_dma_hw_params()
239 if (!asrc->use_edma) { in fsl_asrc_dma_hw_params()
248 tmp_chan = asrc->get_dma_channel(pair, dir); in fsl_asrc_dma_hw_params()
271 width = snd_pcm_format_physical_width(asrc->asrc_format); in fsl_asrc_dma_hw_params()
303 config_be.src_addr = asrc->paddr + asrc->get_fifo_addr(OUT, index); in fsl_asrc_dma_hw_params()
306 config_be.dst_addr = asrc->paddr + asrc->get_fifo_addr(IN, index); in fsl_asrc_dma_hw_params()
350 struct fsl_asrc *asrc = dev_get_drvdata(dev); in fsl_asrc_dma_startup() local
[all …]
H A Dfsl-asoc-card.c3 // Freescale Generic ASoC Sound Card driver with ASRC
93 * @asrc_rate: ASRC sample rate used by Back-Ends
94 * @asrc_format: ASRC sample format used by Back-Ends
120 * Note: keep all ASRC routes in the second half
121 * to drop them easily for non-ASRC cases.
127 /* 2nd half -- ASRC DAPM routes */
128 {"CPU-Playback", NULL, "ASRC-Playback"},
129 {"ASRC-Capture", NULL, "CPU-Capture"},
136 /* 2nd half -- ASRC DAPM routes */
137 {"CPU AC97 Playback", NULL, "ASRC-Playback"},
[all …]
H A DKconfig7 tristate "Asynchronous Sample Rate Converter (ASRC) module support"
15 Say Y if you want to add Asynchronous Sample Rate Converter (ASRC)
100 Say Y if you want to add Enhanced ASRC support for NXP. The ASRC is
103 old ASRC.
311 tristate "Generic ASoC Sound Card with ASRC support"
326 ALSA SoC Audio support with ASRC feature for Freescale SoCs that have
H A Dimx-card.c112 * @asrc_rate: asrc rates
113 * @asrc_format: asrc format
671 if (!strncmp(link->name, "HiFi-ASRC-FE", 12)) { in imx_card_parse_of()
676 ret = of_property_read_u32(args.np, "fsl,asrc-rate", &data->asrc_rate); in imx_card_parse_of()
683 ret = of_property_read_u32(args.np, "fsl,asrc-format", &asrc_fmt); in imx_card_parse_of()
687 ret = of_property_read_u32(args.np, "fsl,asrc-width", &width); in imx_card_parse_of()
699 } else if (!strncmp(link->name, "HiFi-ASRC-BE", 12)) { in imx_card_parse_of()
811 data->dapm_routes[i].source = "ASRC-Playback"; in imx_card_probe()
829 data->dapm_routes[i].sink = "ASRC-Capture"; in imx_card_probe()
902 /* with asrc as front end */ in imx_card_probe()
/linux/sound/soc/tegra/
H A Dtegra186_asrc.c4 // tegra186_asrc.c - Tegra186 ASRC driver
69 static void tegra186_asrc_lock_stream(struct tegra186_asrc *asrc, in tegra186_asrc_lock_stream() argument
72 regmap_write(asrc->regmap, in tegra186_asrc_lock_stream()
80 struct tegra186_asrc *asrc = dev_get_drvdata(dev); in tegra186_asrc_runtime_suspend() local
82 regcache_cache_only(asrc->regmap, true); in tegra186_asrc_runtime_suspend()
83 regcache_mark_dirty(asrc->regmap); in tegra186_asrc_runtime_suspend()
90 struct tegra186_asrc *asrc = dev_get_drvdata(dev); in tegra186_asrc_runtime_resume() local
93 regcache_cache_only(asrc->regmap, false); in tegra186_asrc_runtime_resume()
100 regmap_write(asrc->regmap, TEGRA186_ASRC_GLOBAL_SCRATCH_ADDR, in tegra186_asrc_runtime_resume()
101 asrc->soc_data->aram_start_addr); in tegra186_asrc_runtime_resume()
[all …]
H A Dtegra186_asrc.h3 * tegra186_asrc.h - Definitions for Tegra186 ASRC driver
10 /* ASRC stream related offset */
33 /* ASRC Global registers offset */
H A DKconfig101 tristate "Tegra186 ASRC module"
103 Config to enable the Asynchronous Sample Rate Converter (ASRC),
107 ASRC has two modes of operation. One where ratio can be programmed
110 Say Y or M if you want to add support for Tegra186 ASRC module.
/linux/Documentation/devicetree/bindings/sound/
H A Dnvidia,tegra186-asrc.yaml4 $id: http://devicetree.org/schemas/sound/nvidia,tegra186-asrc.yaml#
7 title: Tegra186 ASRC
10 Asynchronous Sample Rate Converter (ASRC) converts the sampling frequency
13 ASRC has two modes of operation. One where ratio can be programmed in SW
30 pattern: "^asrc@[0-9a-f]*$"
35 - nvidia,tegra186-asrc
36 - nvidia,tegra264-asrc
39 - nvidia,tegra234-asrc
40 - nvidia,tegra194-asrc
41 - const: nvidia,tegra186-asrc
[all …]
H A Dfsl-asoc-card.yaml7 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.
95 audio-asrc:
98 The phandle of ASRC. It can be absent if there's no
99 need to add ASRC support via DPCM.
218 audio-asrc = <&asrc>;
236 sound-spdif-asrc {
238 model = "spdif-asrc-audio";
240 audio-asrc = <&easrc>;
H A Dnvidia,tegra210-ahub.yaml110 '^asrc@[0-9a-f]+$':
112 $ref: nvidia,tegra186-asrc.yaml#
/linux/sound/soc/codecs/
H A Dcs42l43.c83 { 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" }, \
87 { name_str, "ASRC DEC1", "ASRC_DEC1" }, \
88 { name_str, "ASRC DEC2", "ASRC_DEC2" }, \
89 { name_str, "ASRC DEC3", "ASRC_DEC3" }, \
90 { name_str, "ASRC DEC4", "ASRC_DEC4" }, \
877 "ASRC INT1", "ASRC INT2", "ASRC INT3", "ASRC INT4",
878 "ASRC DEC1", "ASRC DEC2", "ASRC DEC3", "ASRC DEC4",
[all …]
H A Drt5677.c1214 * rt5677_sel_asrc_clk_src - select ASRC clock source for a set of filters
1219 * The ASRC function is for asynchronous MCLK and LRCK. Also, since RT5677 can
1220 * only support standard 32fs or 64fs i2s format, ASRC should be enabled to
1222 * ASRC function will track i2s clock and generate a corresponding system clock
1224 * set of filters specified by the mask. And the codec driver will turn on ASRC
1225 * for these filters if ASRC is selected as their clock source.
1258 /* ASRC 3 */ in rt5677_sel_asrc_clk_src()
1281 /* ASRC 4 */ in rt5677_sel_asrc_clk_src()
1310 /* ASRC 5 */ in rt5677_sel_asrc_clk_src()
1339 /* ASRC 6 */ in rt5677_sel_asrc_clk_src()
[all …]
H A Drt5682.c826 * rt5682_sel_asrc_clk_src - select ASRC clock source for a set of filters
831 * The ASRC function is for asynchronous MCLK and LRCK. Also, since RT5682 can
832 * only support standard 32fs or 64fs i2s format, ASRC should be enabled to
834 * ASRC function will track i2s clock and generate a corresponding system clock
837 * ASRC for these filters if ASRC is selected as their clock source.
1708 /* ASRC */
1709 SND_SOC_DAPM_SUPPLY_S("DAC STO1 ASRC", 1, RT5682_PLL_TRACK_1,
1711 SND_SOC_DAPM_SUPPLY_S("ADC STO1 ASRC", 1, RT5682_PLL_TRACK_1,
1713 SND_SOC_DAPM_SUPPLY_S("AD ASRC", 1, RT5682_PLL_TRACK_1,
1715 SND_SOC_DAPM_SUPPLY_S("DA ASRC", 1, RT5682_PLL_TRACK_1,
[all …]
H A Drt5665.c1481 /* I2S_Pre_Div1 should be 1 in asrc mode */ in is_using_asrc()
2595 /* ASRC */
2596 SND_SOC_DAPM_SUPPLY_S("I2S1 ASRC", 1, RT5665_ASRC_1,
2598 SND_SOC_DAPM_SUPPLY_S("I2S2 ASRC", 1, RT5665_ASRC_1,
2600 SND_SOC_DAPM_SUPPLY_S("I2S3 ASRC", 1, RT5665_ASRC_1,
2602 SND_SOC_DAPM_SUPPLY_S("DAC STO1 ASRC", 1, RT5665_ASRC_1,
2604 SND_SOC_DAPM_SUPPLY_S("DAC STO2 ASRC", 1, RT5665_ASRC_1,
2606 SND_SOC_DAPM_SUPPLY_S("DAC Mono L ASRC", 1, RT5665_ASRC_1,
2608 SND_SOC_DAPM_SUPPLY_S("DAC Mono R ASRC", 1, RT5665_ASRC_1,
2610 SND_SOC_DAPM_SUPPLY_S("ADC STO1 ASRC", 1, RT5665_ASRC_1,
[all …]
H A Drt5682s.c1041 * rt5682s_sel_asrc_clk_src - select ASRC clock source for a set of filters
1046 * The ASRC function is for asynchronous MCLK and LRCK. Also, since RT5682S can
1047 * only support standard 32fs or 64fs i2s format, ASRC should be enabled to
1049 * ASRC function will track i2s clock and generate a corresponding system clock
1052 * ASRC for these filters if ASRC is selected as their clock source.
1691 /* ASRC */
1692 SND_SOC_DAPM_SUPPLY_S("DAC STO1 ASRC", 1, RT5682S_PLL_TRACK_1,
1694 SND_SOC_DAPM_SUPPLY_S("ADC STO1 ASRC", 1, RT5682S_PLL_TRACK_1,
1696 SND_SOC_DAPM_SUPPLY_S("AD ASRC", 1, RT5682S_PLL_TRACK_1,
1698 SND_SOC_DAPM_SUPPLY_S("DA ASRC", 1, RT5682S_PLL_TRACK_1,
[all …]
H A Drt5645.c975 * rt5645_sel_asrc_clk_src - select ASRC clock source for a set of filters
980 * The ASRC function is for asynchronous MCLK and LRCK. Also, since RT5645 can
981 * only support standard 32fs or 64fs i2s format, ASRC should be enabled to
983 * ASRC function will track i2s clock and generate a corresponding system clock
985 * set of filters specified by the mask. And the codec driver will turn on ASRC
986 * for these filters if ASRC is selected as their clock source.
1992 /* ASRC */
1993 SND_SOC_DAPM_SUPPLY_S("I2S1 ASRC", 1, RT5645_ASRC_1,
1995 SND_SOC_DAPM_SUPPLY_S("I2S2 ASRC", 1, RT5645_ASRC_1,
1997 SND_SOC_DAPM_SUPPLY_S("DAC STO ASRC", 1, RT5645_ASRC_1,
[all …]
H A Drt5668.c1507 /* ASRC */
1508 SND_SOC_DAPM_SUPPLY_S("DAC STO1 ASRC", 1, RT5668_PLL_TRACK_1,
1510 SND_SOC_DAPM_SUPPLY_S("ADC STO1 ASRC", 1, RT5668_PLL_TRACK_1,
1512 SND_SOC_DAPM_SUPPLY_S("AD ASRC", 1, RT5668_PLL_TRACK_1,
1514 SND_SOC_DAPM_SUPPLY_S("DA ASRC", 1, RT5668_PLL_TRACK_1,
1516 SND_SOC_DAPM_SUPPLY_S("DMIC ASRC", 1, RT5668_PLL_TRACK_1,
1690 /*ASRC*/
1691 {"ADC Stereo1 Filter", NULL, "ADC STO1 ASRC", is_using_asrc},
1692 {"DAC Stereo1 Filter", NULL, "DAC STO1 ASRC", is_using_asrc},
1693 {"ADC STO1 ASRC", NULL, "AD ASRC"},
[all …]
/linux/arch/arm64/boot/dts/freescale/
H A Dimx8-ss-audio.dtsi123 asrc0: asrc@59000000 {
124 compatible = "fsl,imx8qm-asrc";
158 /* tx* is output channel of asrc, it is rx channel for eDMA */
160 fsl,asrc-rate = <8000>;
161 fsl,asrc-width = <16>;
162 fsl,asrc-clk-map = <0>;
276 interrupts = <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>, /* 0 asrc 0 */
450 asrc1: asrc@59800000 {
451 compatible = "fsl,imx8qm-asrc";
485 /* tx* is output channel of asrc, it is rx channel for eDMA */
[all …]
H A Dimx8mn-bsh-smm-s2pro.dts26 audio-asrc = <&easrc>;
42 fsl,asrc-rate = <48000>;
43 fsl,asrc-format = <10>;
/linux/arch/arm/boot/dts/nxp/imx/
H A Dimx6sx-sdb-mqs.dts17 audio-asrc = <&asrc>;
/linux/include/sound/sof/
H A Dtopology.h173 /* generic ASRC component */
185 /**< When 1 the ASRC tracks and */
188 /**< ASRC consumes a defined number */
191 /**< In pull mode the ASRC outputs */
/linux/sound/soc/sof/
H A Dipc4-topology.c148 /* ASRC */
177 [SOF_ASRC_TOKENS] = {"ASRC tokens", asrc_tokens, ARRAY_SIZE(asrc_tokens)},
1061 struct sof_ipc4_asrc *asrc; in sof_ipc4_widget_setup_comp_asrc() local
1066 asrc = kzalloc(sizeof(*asrc), GFP_KERNEL); in sof_ipc4_widget_setup_comp_asrc()
1067 if (!asrc) in sof_ipc4_widget_setup_comp_asrc()
1070 swidget->private = asrc; in sof_ipc4_widget_setup_comp_asrc()
1072 ret = sof_ipc4_get_audio_fmt(scomp, swidget, &asrc->available_fmt, in sof_ipc4_widget_setup_comp_asrc()
1073 &asrc->data.base_config); in sof_ipc4_widget_setup_comp_asrc()
1077 ret = sof_update_ipc_object(scomp, &asrc->data, SOF_ASRC_TOKENS, swidget->tuples, in sof_ipc4_widget_setup_comp_asrc()
1078 swidget->num_tuples, sizeof(*asrc), 1); in sof_ipc4_widget_setup_comp_asrc()
[all …]
/linux/sound/soc/mediatek/mt2701/
H A Dmt2701-afe-clock-ctrl.c81 snprintf(name, sizeof(name), "asrc%d_out_ck", i); in mt2701_init_clock()
109 dev_err(afe->dev, "failed to enable ASRC clock %d\n", ret); in mt2701_afe_enable_i2s()
251 /* Configure ASRC */ in mt2701_afe_enable_clock()

1234