Home
last modified time | relevance | path

Searched full:asrc (Results 1 – 25 of 78) 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
[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 in tegra186_asrc_runtime_resume()
128 tegra186_asrc_set_audio_cif(struct tegra186_asrc * asrc,struct snd_pcm_hw_params * params,unsigned int reg) tegra186_asrc_set_audio_cif() argument
166 struct tegra186_asrc *asrc = snd_soc_dai_get_drvdata(dai); tegra186_asrc_in_hw_params() local
189 struct tegra186_asrc *asrc = snd_soc_dai_get_drvdata(dai); tegra186_asrc_out_hw_params() local
245 struct tegra186_asrc *asrc = snd_soc_component_get_drvdata(cmpnt); tegra186_asrc_get_ratio_source() local
259 struct tegra186_asrc *asrc = snd_soc_component_get_drvdata(cmpnt); tegra186_asrc_put_ratio_source() local
279 struct tegra186_asrc *asrc = snd_soc_component_get_drvdata(cmpnt); tegra186_asrc_get_ratio_int() local
297 struct tegra186_asrc *asrc = snd_soc_component_get_drvdata(cmpnt); tegra186_asrc_put_ratio_int() local
327 struct tegra186_asrc *asrc = snd_soc_component_get_drvdata(cmpnt); tegra186_asrc_get_ratio_frac() local
345 struct tegra186_asrc *asrc = snd_soc_component_get_drvdata(cmpnt); tegra186_asrc_put_ratio_frac() local
375 struct tegra186_asrc *asrc = snd_soc_component_get_drvdata(cmpnt); tegra186_asrc_get_hwcomp_disable() local
389 struct tegra186_asrc *asrc = snd_soc_component_get_drvdata(cmpnt); tegra186_asrc_put_hwcomp_disable() local
407 struct tegra186_asrc *asrc = snd_soc_component_get_drvdata(cmpnt); tegra186_asrc_get_input_threshold() local
421 struct tegra186_asrc *asrc = snd_soc_component_get_drvdata(cmpnt); tegra186_asrc_put_input_threshold() local
440 struct tegra186_asrc *asrc = snd_soc_component_get_drvdata(cmpnt); tegra186_asrc_get_output_threshold() local
454 struct tegra186_asrc *asrc = snd_soc_component_get_drvdata(cmpnt); tegra186_asrc_put_output_threshold() local
471 struct tegra186_asrc *asrc = dev_get_drvdata(cmpnt->dev); tegra186_asrc_widget_event() local
974 struct tegra186_asrc *asrc; tegra186_asrc_platform_probe() local
[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.
96 audio-asrc:
99 The phandle of ASRC. It can be absent if there's no
100 need to add ASRC support via DPCM.
219 audio-asrc = <&asrc>;
237 sound-spdif-asrc {
239 model = "spdif-asrc-audio";
241 audio-asrc = <&easrc>;
H A Dnvidia,tegra210-ahub.yaml110 '^asrc@[0-9a-f]+$':
112 $ref: nvidia,tegra186-asrc.yaml#
/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 */
451 asrc1: asrc@59800000 {
452 compatible = "fsl,imx8qm-asrc";
486 /* 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/sound/soc/codecs/
H A Drt5677.c1213 * rt5677_sel_asrc_clk_src - select ASRC clock source for a set of filters
1218 * The ASRC function is for asynchronous MCLK and LRCK. Also, since RT5677 can
1219 * only support standard 32fs or 64fs i2s format, ASRC should be enabled to
1221 * ASRC function will track i2s clock and generate a corresponding system clock
1223 * set of filters specified by the mask. And the codec driver will turn on ASRC
1224 * for these filters if ASRC is selected as their clock source.
1257 /* ASRC 3 */ in rt5677_sel_asrc_clk_src()
1280 /* ASRC 4 */ in rt5677_sel_asrc_clk_src()
1309 /* ASRC 5 */ in rt5677_sel_asrc_clk_src()
1338 /* ASRC 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",
[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",
[all...]
H A Drt5682s.c1042 * rt5682s_sel_asrc_clk_src - select ASRC clock source for a set of filters
1047 * The ASRC function is for asynchronous MCLK and LRCK. Also, since RT5682S can
1048 * only support standard 32fs or 64fs i2s format, ASRC should be enabled to
1050 * ASRC function will track i2s clock and generate a corresponding system clock
1053 * ASRC for these filters if ASRC is selected as their clock source.
1692 /* ASRC */
1693 SND_SOC_DAPM_SUPPLY_S("DAC STO1 ASRC", 1, RT5682S_PLL_TRACK_1,
1695 SND_SOC_DAPM_SUPPLY_S("ADC STO1 ASRC", 1, RT5682S_PLL_TRACK_1,
1697 SND_SOC_DAPM_SUPPLY_S("AD ASRC",
[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",
[all...]
H A Drt5668.c1506 /* ASRC */
1507 SND_SOC_DAPM_SUPPLY_S("DAC STO1 ASRC", 1, RT5668_PLL_TRACK_1,
1509 SND_SOC_DAPM_SUPPLY_S("ADC STO1 ASRC", 1, RT5668_PLL_TRACK_1,
1511 SND_SOC_DAPM_SUPPLY_S("AD ASRC", 1, RT5668_PLL_TRACK_1,
1513 SND_SOC_DAPM_SUPPLY_S("DA ASRC", 1, RT5668_PLL_TRACK_1,
1515 SND_SOC_DAPM_SUPPLY_S("DMIC ASRC", 1, RT5668_PLL_TRACK_1,
1689 /*ASRC*/
1690 {"ADC Stereo1 Filter", NULL, "ADC STO1 ASRC", is_using_asrc},
1691 {"DAC Stereo1 Filter", NULL, "DAC STO1 ASRC", is_using_asrc},
1692 {"ADC STO1 ASRC", NUL
[all...]
/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 Dipc3-topology.c138 /* ASRC */
334 [SOF_ASRC_TOKENS] = {"ASRC tokens", asrc_tokens, ARRAY_SIZE(asrc_tokens)},
665 struct sof_ipc_comp_asrc *asrc; in sof_ipc3_widget_setup_comp_asrc() local
666 size_t ipc_size = sizeof(*asrc); in sof_ipc3_widget_setup_comp_asrc()
669 asrc = sof_comp_alloc(swidget, &ipc_size, swidget->pipeline_id); in sof_ipc3_widget_setup_comp_asrc()
670 if (!asrc) in sof_ipc3_widget_setup_comp_asrc()
673 swidget->private = asrc; in sof_ipc3_widget_setup_comp_asrc()
675 /* configure ASRC IPC message */ in sof_ipc3_widget_setup_comp_asrc()
676 asrc->comp.type = SOF_COMP_ASRC; in sof_ipc3_widget_setup_comp_asrc()
677 asrc->config.hdr.size = sizeof(asrc->config); in sof_ipc3_widget_setup_comp_asrc()
[all …]
H A Dipc4-topology.c179 /* ASRC */
208 [SOF_ASRC_TOKENS] = {"ASRC tokens", asrc_tokens, ARRAY_SIZE(asrc_tokens)},
1107 struct sof_ipc4_asrc *asrc; in sof_ipc4_widget_setup_comp_asrc() local
1112 asrc = kzalloc(sizeof(*asrc), GFP_KERNEL); in sof_ipc4_widget_setup_comp_asrc()
1113 if (!asrc) in sof_ipc4_widget_setup_comp_asrc()
1116 swidget->private = asrc; in sof_ipc4_widget_setup_comp_asrc()
1118 ret = sof_ipc4_get_audio_fmt(scomp, swidget, &asrc->available_fmt, in sof_ipc4_widget_setup_comp_asrc()
1119 &asrc->data.base_config); in sof_ipc4_widget_setup_comp_asrc()
1123 ret = sof_update_ipc_object(scomp, &asrc->data, SOF_ASRC_TOKENS, swidget->tuples, in sof_ipc4_widget_setup_comp_asrc()
1124 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