Home
last modified time | relevance | path

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

123

/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__)
212 * fsl_asrc_request_pair - Request ASRC pair
223 struct fsl_asrc *asrc = pair->asrc; in fsl_asrc_request_pair()
224 struct device *dev = &asrc->pdev->dev; in fsl_asrc_request_pair()
228 spin_lock_irqsave(&asrc->lock, lock_flags); in fsl_asrc_request_pair()
231 if (asrc in fsl_asrc_request_pair()
217 struct fsl_asrc *asrc = pair->asrc; fsl_asrc_request_pair() local
260 struct fsl_asrc *asrc = pair->asrc; fsl_asrc_release_pair() local
285 struct fsl_asrc *asrc = pair->asrc; fsl_asrc_set_watermarks() local
326 struct fsl_asrc *asrc = pair->asrc; fsl_asrc_set_ideal_ratio() local
381 struct fsl_asrc *asrc = pair->asrc; fsl_asrc_config_pair() local
585 struct fsl_asrc *asrc = pair->asrc; fsl_asrc_start_pair() local
619 struct fsl_asrc *asrc = pair->asrc; fsl_asrc_stop_pair() local
635 struct fsl_asrc *asrc = pair->asrc; fsl_asrc_get_dma_channel() local
647 struct fsl_asrc *asrc = snd_soc_dai_get_drvdata(dai); fsl_asrc_dai_startup() local
702 struct fsl_asrc *asrc = snd_soc_dai_get_drvdata(dai); fsl_asrc_dai_hw_params() local
786 struct fsl_asrc *asrc = snd_soc_dai_get_drvdata(dai); fsl_asrc_dai_probe() local
976 fsl_asrc_init(struct fsl_asrc * asrc) fsl_asrc_init() argument
1014 struct fsl_asrc *asrc = (struct fsl_asrc *)dev_id; fsl_asrc_isr() local
1070 struct fsl_asrc *asrc = pair->asrc; fsl_asrc_get_output_fifo_size() local
1084 struct fsl_asrc *asrc = pair->asrc; fsl_asrc_m2m_prepare() local
1163 struct fsl_asrc *asrc = pair->asrc; fsl_asrc_m2m_get_maxburst() local
1190 struct fsl_asrc *asrc = pair->asrc; fsl_asrc_m2m_pair_resume() local
1207 struct fsl_asrc *asrc; fsl_asrc_probe() local
1406 struct fsl_asrc *asrc = dev_get_drvdata(&pdev->dev); fsl_asrc_remove() local
1417 struct fsl_asrc *asrc = dev_get_drvdata(dev); fsl_asrc_runtime_resume() local
1492 struct fsl_asrc *asrc = dev_get_drvdata(dev); fsl_asrc_runtime_suspend() local
1513 struct fsl_asrc *asrc = dev_get_drvdata(dev); fsl_asrc_suspend() local
1523 struct fsl_asrc *asrc = dev_get_drvdata(dev); fsl_asrc_resume() local
[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 in fsl_asrc_dma_hw_params()
350 struct fsl_asrc *asrc = dev_get_drvdata(dev); fsl_asrc_dma_startup() local
424 struct fsl_asrc *asrc; fsl_asrc_dma_shutdown() local
453 struct fsl_asrc *asrc = dev_get_drvdata(dev); fsl_asrc_dma_pcm_new() 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"
327 ALSA SoC Audio support with ASRC feature for Freescale SoCs that have
H A Dfsl_easrc.c233 struct fsl_asrc *easrc = ctx->asrc; in fsl_easrc_normalize_rates()
572 * The audio float point data range is (-1, 1), the asrc would output in fsl_easrc_prefilter_config()
809 struct fsl_asrc *easrc = ctx->asrc; in fsl_easrc_config_one_slot()
1105 struct fsl_asrc *easrc = ctx->asrc; in fsl_easrc_process_format()
1188 struct fsl_asrc *easrc = ctx->asrc; in fsl_easrc_set_ctx_format()
1252 * The ASRC provides interleaving support in hardware to ensure that a in fsl_easrc_request_context()
1265 easrc = ctx->asrc; in fsl_easrc_request_context()
1302 struct fsl_asrc *easrc = ctx->asrc; in fsl_easrc_release_context()
1352 easrc = ctx->asrc; in fsl_easrc_stop_context()
1371 struct fsl_asrc *easrc = ctx->asrc; in fsl_easrc_stop_context()
1876 struct fsl_asrc *asrc = pair->asrc; fsl_easrc_get_output_fifo_size() local
1889 struct fsl_asrc *asrc = pair->asrc; fsl_easrc_m2m_prepare() local
[all...]
H A Dimx-card.c112 * @asrc_rate: asrc rates
113 * @asrc_format: asrc format
670 if (!strncmp(link->name, "HiFi-ASRC-FE", 12)) { in imx_card_parse_of()
675 ret = of_property_read_u32(args.np, "fsl,asrc-rate", &data->asrc_rate); in imx_card_parse_of()
682 ret = of_property_read_u32(args.np, "fsl,asrc-format", &asrc_fmt); in imx_card_parse_of()
686 ret = of_property_read_u32(args.np, "fsl,asrc-width", &width); in imx_card_parse_of()
698 } else if (!strncmp(link->name, "HiFi-ASRC-BE", 12)) { in imx_card_parse_of()
812 data->dapm_routes[i].source = "ASRC-Playback"; in imx_card_probe()
830 data->dapm_routes[i].sink = "ASRC-Capture"; in imx_card_probe()
903 /* 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>;
/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 Dadau1372.c340 SOC_DAPM_ENUM("Input ASRC Playback Mux", adau1372_asrci_mux_enum);
434 SND_SOC_DAPM_SUPPLY("Output ASRC Supply", ADAU1372_REG_ASRC_MODE, 1, 0, NULL, 0),
435 SND_SOC_DAPM_SUPPLY("Input ASRC Supply", ADAU1372_REG_ASRC_MODE, 0, 0, NULL, 0),
477 { "Output ASRC" #x " Mux", "Decimator0", "Decimator0 Mux" }, \
478 { "Output ASRC" #x " Mux", "Decimator1", "Decimator1 Mux" }, \
479 { "Output ASRC" #x " Mux", "Decimator2", "Decimator2 Mux" }, \
480 { "Output ASRC" #x " Mux", "Decimator3", "Decimator3 Mux" }
508 { "Output ASRC0 Mux", NULL, "Output ASRC Supply" },
509 { "Output ASRC1 Mux", NULL, "Output ASRC Supply" },
510 { "Output ASRC2 Mux", NULL, "Output ASRC Supply" },
[all …]
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...]
/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.c189 /* ASRC */
218 [SOF_ASRC_TOKENS] = {"ASRC tokens", asrc_tokens, ARRAY_SIZE(asrc_tokens)},
1122 struct sof_ipc4_asrc *asrc; in sof_ipc4_widget_setup_comp_asrc()
1127 asrc = kzalloc_obj(*asrc); in sof_ipc4_widget_setup_comp_asrc()
1128 if (!asrc) in sof_ipc4_widget_setup_comp_asrc()
1131 swidget->private = asrc; in sof_ipc4_widget_setup_comp_asrc()
1133 ret = sof_ipc4_get_audio_fmt(scomp, swidget, &asrc->available_fmt, in sof_ipc4_widget_setup_comp_asrc()
1134 &asrc->data.base_config); in sof_ipc4_widget_setup_comp_asrc()
1138 ret = sof_update_ipc_object(scomp, &asrc in sof_ipc4_widget_setup_comp_asrc()
1121 struct sof_ipc4_asrc *asrc; sof_ipc4_widget_setup_comp_asrc() local
1175 struct sof_ipc4_asrc *asrc = swidget->private; sof_ipc4_widget_free_comp_asrc() local
3204 struct sof_ipc4_asrc *asrc = swidget->private; sof_ipc4_widget_setup() local
[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()

123