/linux-6.12.1/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_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 | 25 * fsl_asrc_pair: ASRC Pair common data 27 * @asrc: pointer to its parent module 39 struct fsl_asrc *asrc; member 55 * fsl_asrc: ASRC common data 105 #define DRV_NAME "fsl-asrc-dai"
|
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" 12 Say Y if you want to add Asynchronous Sample Rate Converter (ASRC) 96 Say Y if you want to add Enhanced ASRC support for NXP. The ASRC is 99 old ASRC. 307 tristate "Generic ASoC Sound Card with ASRC support" 322 ALSA SoC Audio support with ASRC feature for Freescale SoCs that have
|
D | imx-card.c | 110 * @asrc_rate: asrc rates 111 * @asrc_format: asrc format 613 if (!strncmp(link->name, "HiFi-ASRC-FE", 12)) { in imx_card_parse_of() 618 ret = of_property_read_u32(args.np, "fsl,asrc-rate", &data->asrc_rate); in imx_card_parse_of() 625 ret = of_property_read_u32(args.np, "fsl,asrc-format", &asrc_fmt); in imx_card_parse_of() 629 ret = of_property_read_u32(args.np, "fsl,asrc-width", &width); in imx_card_parse_of() 641 } else if (!strncmp(link->name, "HiFi-ASRC-BE", 12)) { in imx_card_parse_of() 745 data->dapm_routes[i].source = "ASRC-Playback"; in imx_card_probe() 761 data->dapm_routes[i].sink = "ASRC-Capture"; in imx_card_probe() 808 /* with asrc as front end */ in imx_card_probe()
|
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 …]
|
/linux-6.12.1/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.12.1/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.12.1/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 */ 453 asrc1: asrc@59800000 { 454 compatible = "fsl,imx8qm-asrc"; 488 /* 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.12.1/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 | 339 SOC_DAPM_ENUM("Input ASRC Playback Mux", adau1372_asrci_mux_enum); 433 SND_SOC_DAPM_SUPPLY("Output ASRC Supply", ADAU1372_REG_ASRC_MODE, 1, 0, NULL, 0), 434 SND_SOC_DAPM_SUPPLY("Input ASRC Supply", ADAU1372_REG_ASRC_MODE, 0, 0, NULL, 0), 476 { "Output ASRC" #x " Mux", "Decimator0", "Decimator0 Mux" }, \ 477 { "Output ASRC" #x " Mux", "Decimator1", "Decimator1 Mux" }, \ 478 { "Output ASRC" #x " Mux", "Decimator2", "Decimator2 Mux" }, \ 479 { "Output ASRC" #x " Mux", "Decimator3", "Decimator3 Mux" } 507 { "Output ASRC0 Mux", NULL, "Output ASRC Supply" }, 508 { "Output ASRC1 Mux", NULL, "Output ASRC Supply" }, 509 { "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 | 824 * rt5682_sel_asrc_clk_src - select ASRC clock source for a set of filters 829 * The ASRC function is for asynchronous MCLK and LRCK. Also, since RT5682 can 830 * only support standard 32fs or 64fs i2s format, ASRC should be enabled to 832 * ASRC function will track i2s clock and generate a corresponding system clock 835 * ASRC for these filters if ASRC is selected as their clock source. 1706 /* ASRC */ 1707 SND_SOC_DAPM_SUPPLY_S("DAC STO1 ASRC", 1, RT5682_PLL_TRACK_1, 1709 SND_SOC_DAPM_SUPPLY_S("ADC STO1 ASRC", 1, RT5682_PLL_TRACK_1, 1711 SND_SOC_DAPM_SUPPLY_S("AD ASRC", 1, RT5682_PLL_TRACK_1, 1713 SND_SOC_DAPM_SUPPLY_S("DA ASRC", 1, RT5682_PLL_TRACK_1, [all …]
|
D | rt5665.c | 1029 * rt5665_sel_asrc_clk_src - select ASRC clock source for a set of filters 1034 * The ASRC function is for asynchronous MCLK and LRCK. Also, since RT5665 can 1035 * only support standard 32fs or 64fs i2s format, ASRC should be enabled to 1037 * ASRC function will track i2s clock and generate a corresponding system clock 1039 * set of filters specified by the mask. And the codec driver will turn on ASRC 1040 * for these filters if ASRC is selected as their clock source. 1580 /* I2S_Pre_Div1 should be 1 in asrc mode */ in is_using_asrc() 2694 /* ASRC */ 2695 SND_SOC_DAPM_SUPPLY_S("I2S1 ASRC", 1, RT5665_ASRC_1, 2697 SND_SOC_DAPM_SUPPLY_S("I2S2 ASRC", 1, RT5665_ASRC_1, [all …]
|
/linux-6.12.1/arch/arm/boot/dts/nxp/imx/ |
D | imx6sx-sdb-mqs.dts | 17 audio-asrc = <&asrc>;
|
/linux-6.12.1/include/sound/sof/ |
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 */
|