| /linux/sound/soc/fsl/ |
| H A D | fsl_asrc.c | 3 // 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 D | fsl_asrc_m2m.c | 6 // 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), ®); 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 D | fsl_asrc_dma.c | 3 // 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 D | fsl-asoc-card.c | 3 // 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 D | Kconfig | 7 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 D | fsl_easrc.c | 233 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 D | imx-card.c | 112 * @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 D | tegra186_asrc.c | 4 // 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 D | tegra186_asrc.h | 3 * tegra186_asrc.h - Definitions for Tegra186 ASRC driver 10 /* ASRC stream related offset */ 33 /* ASRC Global registers offset */
|
| H A D | Kconfig | 101 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 D | nvidia,tegra186-asrc.yaml | 4 $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 D | fsl-asoc-card.yaml | 7 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 D | imx8-ss-audio.dtsi | 123 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 D | imx8mn-bsh-smm-s2pro.dts | 26 audio-asrc = <&easrc>; 42 fsl,asrc-rate = <48000>; 43 fsl,asrc-format = <10>;
|
| /linux/sound/soc/codecs/ |
| H A D | adau1372.c | 340 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 D | rt5677.c | 1213 * 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 D | rt5682.c | 826 * 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 D | rt5665.c | 1481 /* 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 D | rt5682s.c | 1042 * 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 D | rt5645.c | 975 * 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 D | imx6sx-sdb-mqs.dts | 17 audio-asrc = <&asrc>;
|
| /linux/include/sound/sof/ |
| H A D | topology.h | 173 /* 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 D | ipc3-topology.c | 138 /* 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 D | ipc4-topology.c | 189 /* 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 D | mt2701-afe-clock-ctrl.c | 81 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()
|