/linux-6.14.4/sound/soc/fsl/ |
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__) 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 …]
|
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 …]
|
D | fsl_easrc.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 */ 38 /* ASRC Context Output Control */ 40 /* ASRC Control Output Access */ [all …]
|
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 177 dma_params_fe->addr = asrc->paddr + asrc->get_fifo_addr(!dir, index); in fsl_asrc_dma_hw_params() 180 pair->dma_chan[!dir] = asrc->get_dma_channel(pair, !dir); in fsl_asrc_dma_hw_params() 226 if (!asrc->use_edma) { in fsl_asrc_dma_hw_params() 235 tmp_chan = asrc->get_dma_channel(pair, dir); in fsl_asrc_dma_hw_params() 258 width = snd_pcm_format_physical_width(asrc->asrc_format); in fsl_asrc_dma_hw_params() 290 config_be.src_addr = asrc->paddr + asrc->get_fifo_addr(OUT, index); in fsl_asrc_dma_hw_params() 293 config_be.dst_addr = asrc->paddr + asrc->get_fifo_addr(IN, index); in fsl_asrc_dma_hw_params() 337 struct fsl_asrc *asrc = dev_get_drvdata(dev); in fsl_asrc_dma_startup() local [all …]
|
D | fsl_asrc_common.h | 45 * fsl_asrc_pair: ASRC Pair common data 47 * @asrc: pointer to its parent module 67 struct fsl_asrc *asrc; member 93 * fsl_asrc: ASRC common data 170 #define DRV_NAME "fsl-asrc-dai" 173 int fsl_asrc_m2m_init(struct fsl_asrc *asrc); 174 void fsl_asrc_m2m_exit(struct fsl_asrc *asrc); 175 int fsl_asrc_m2m_resume(struct fsl_asrc *asrc); 176 int fsl_asrc_m2m_suspend(struct fsl_asrc *asrc);
|
D | fsl-asoc-card.c | 3 // Freescale Generic ASoC Sound Card driver with ASRC 91 * @asrc_rate: ASRC sample rate used by Back-Ends 92 * @asrc_format: ASRC sample format used by Back-Ends 118 * Note: keep all ASRC routes in the second half 119 * to drop them easily for non-ASRC cases. 125 /* 2nd half -- ASRC DAPM routes */ 126 {"CPU-Playback", NULL, "ASRC-Playback"}, 127 {"ASRC-Capture", NULL, "CPU-Capture"}, 134 /* 2nd half -- ASRC DAPM routes */ 135 {"CPU AC97 Playback", NULL, "ASRC-Playback"}, [all …]
|
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" 326 ALSA SoC Audio support with ASRC feature for Freescale SoCs that have
|
D | fsl_easrc.c | 174 struct fsl_asrc *easrc = ctx->asrc; in fsl_easrc_set_rs_ratio() 513 * The audio float point data range is (-1, 1), the asrc would output in fsl_easrc_prefilter_config() 750 struct fsl_asrc *easrc = ctx->asrc; in fsl_easrc_config_one_slot() 1046 struct fsl_asrc *easrc = ctx->asrc; in fsl_easrc_process_format() 1129 struct fsl_asrc *easrc = ctx->asrc; in fsl_easrc_set_ctx_format() 1193 * The ASRC provides interleaving support in hardware to ensure that a 1206 easrc = ctx->asrc; in fsl_easrc_set_ctx_organziation() 1243 struct fsl_asrc *easrc = ctx->asrc; in fsl_easrc_request_context() 1293 easrc = ctx->asrc; in fsl_easrc_release_context() 1312 struct fsl_asrc *easrc = ctx->asrc; in fsl_easrc_start_context() [all …]
|
D | imx-card.c | 111 * @asrc_rate: asrc rates 112 * @asrc_format: asrc format 642 if (!strncmp(link->name, "HiFi-ASRC-FE", 12)) { in imx_card_parse_of() 647 ret = of_property_read_u32(args.np, "fsl,asrc-rate", &data->asrc_rate); in imx_card_parse_of() 654 ret = of_property_read_u32(args.np, "fsl,asrc-format", &asrc_fmt); in imx_card_parse_of() 658 ret = of_property_read_u32(args.np, "fsl,asrc-width", &width); in imx_card_parse_of() 670 } else if (!strncmp(link->name, "HiFi-ASRC-BE", 12)) { in imx_card_parse_of() 776 data->dapm_routes[i].source = "ASRC-Playback"; in imx_card_probe() 794 data->dapm_routes[i].sink = "ASRC-Capture"; in imx_card_probe() 857 /* with asrc as front end */ in imx_card_probe()
|
/linux-6.14.4/sound/soc/tegra/ |
D | tegra186_asrc.c | 3 // tegra186_asrc.c - Tegra186 ASRC driver 70 static void tegra186_asrc_lock_stream(struct tegra186_asrc *asrc, in tegra186_asrc_lock_stream() argument 73 regmap_write(asrc->regmap, in tegra186_asrc_lock_stream() 81 struct tegra186_asrc *asrc = dev_get_drvdata(dev); in tegra186_asrc_runtime_suspend() local 83 regcache_cache_only(asrc->regmap, true); in tegra186_asrc_runtime_suspend() 84 regcache_mark_dirty(asrc->regmap); in tegra186_asrc_runtime_suspend() 91 struct tegra186_asrc *asrc = dev_get_drvdata(dev); in tegra186_asrc_runtime_resume() local 94 regcache_cache_only(asrc->regmap, false); in tegra186_asrc_runtime_resume() 101 regmap_write(asrc->regmap, TEGRA186_ASRC_GLOBAL_SCRATCH_ADDR, in tegra186_asrc_runtime_resume() 103 regmap_write(asrc->regmap, TEGRA186_ASRC_GLOBAL_ENB, in tegra186_asrc_runtime_resume() [all …]
|
D | tegra186_asrc.h | 3 * tegra186_asrc.h - Definitions for Tegra186 ASRC driver 12 /* ASRC stream related offset */ 35 /* ASRC Global registers offset */
|
D | Kconfig | 99 tristate "Tegra186 ASRC module" 101 Config to enable the Asynchronous Sample Rate Converter (ASRC), 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.
|
/linux-6.14.4/Documentation/devicetree/bindings/sound/ |
D | fsl,imx-asrc.yaml | 4 $id: http://devicetree.org/schemas/sound/fsl,imx-asrc.yaml# 7 title: Freescale Asynchronous Sample Rate Converter (ASRC) Controller 10 The Asynchronous Sample Rate Converter (ASRC) converts the sampling rate of 24 - fsl,imx35-asrc 25 - fsl,imx53-asrc 26 - fsl,imx8qm-asrc 27 - fsl,imx8qxp-asrc 30 - fsl,imx6sx-asrc 31 - fsl,imx6ul-asrc 32 - const: fsl,imx53-asrc [all …]
|
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]*$" 34 - const: nvidia,tegra186-asrc 37 - nvidia,tegra234-asrc 38 - nvidia,tegra194-asrc 39 - const: nvidia,tegra186-asrc 45 pattern: "^ASRC[1-9]$" [all …]
|
D | fsl,easrc.yaml | 7 title: NXP Asynchronous Sample Rate Converter (ASRC) Controller 58 fsl,asrc-rate: 64 fsl,asrc-format: 80 - fsl,asrc-rate 81 - fsl,asrc-format 104 fsl,asrc-rate = <8000>; 105 fsl,asrc-format = <2>;
|
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. 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>;
|
/linux-6.14.4/sound/soc/codecs/ |
D | cs42l43.c | 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" }, \ 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" }, \ 885 "ASRC INT1", "ASRC INT2", "ASRC INT3", "ASRC INT4", 886 "ASRC DEC1", "ASRC DEC2", "ASRC DEC3", "ASRC DEC4", [all …]
|
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 …]
|
D | rt5677.c | 1214 * 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 …]
|
D | rt5670.c | 840 * rt5670_sel_asrc_clk_src - select ASRC clock source for a set of filters 845 * The ASRC function is for asynchronous MCLK and LRCK. Also, since RT5670 can 846 * only support standard 32fs or 64fs i2s format, ASRC should be enabled to 848 * ASRC function will track i2s clock and generate a corresponding system clock 850 * set of filters specified by the mask. And the codec driver will turn on ASRC 851 * for these filters if ASRC is selected as their clock source. 1605 /* ASRC */ 1606 SND_SOC_DAPM_SUPPLY_S("I2S1 ASRC", 1, RT5670_ASRC_1, 1608 SND_SOC_DAPM_SUPPLY_S("I2S2 ASRC", 1, RT5670_ASRC_1, 1610 SND_SOC_DAPM_SUPPLY_S("DAC STO ASRC", 1, RT5670_ASRC_1, [all …]
|
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", 1, RT5682_PLL_TRACK_1, 1715 SND_SOC_DAPM_SUPPLY_S("DA ASRC", 1, RT5682_PLL_TRACK_1, [all …]
|
D | rt5665.c | 1026 * rt5665_sel_asrc_clk_src - select ASRC clock source for a set of filters 1031 * The ASRC function is for asynchronous MCLK and LRCK. Also, since RT5665 can 1032 * only support standard 32fs or 64fs i2s format, ASRC should be enabled to 1034 * ASRC function will track i2s clock and generate a corresponding system clock 1036 * set of filters specified by the mask. And the codec driver will turn on ASRC 1037 * for these filters if ASRC is selected as their clock source. 1577 /* I2S_Pre_Div1 should be 1 in asrc mode */ in is_using_asrc() 2691 /* ASRC */ 2692 SND_SOC_DAPM_SUPPLY_S("I2S1 ASRC", 1, RT5665_ASRC_1, 2694 SND_SOC_DAPM_SUPPLY_S("I2S2 ASRC", 1, RT5665_ASRC_1, [all …]
|
/linux-6.14.4/arch/arm64/boot/dts/freescale/ |
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 */ 450 asrc1: asrc@59800000 { 451 compatible = "fsl,imx8qm-asrc"; 485 /* tx* is output channel of asrc, it is rx channel for eDMA */ [all …]
|
D | imx8mn-bsh-smm-s2pro.dts | 26 audio-asrc = <&easrc>; 42 fsl,asrc-rate = <48000>; 43 fsl,asrc-format = <10>;
|
/linux-6.14.4/arch/arm/boot/dts/nxp/imx/ |
D | imx6sx-sdb-mqs.dts | 17 audio-asrc = <&asrc>;
|