/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__) 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 in fsl_asrc_request_pair() 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 584 struct fsl_asrc *asrc = pair->asrc; fsl_asrc_start_pair() local 618 struct fsl_asrc *asrc = pair->asrc; fsl_asrc_stop_pair() local 634 struct fsl_asrc *asrc = pair->asrc; fsl_asrc_get_dma_channel() local 646 struct fsl_asrc *asrc = snd_soc_dai_get_drvdata(dai); fsl_asrc_dai_startup() local 701 struct fsl_asrc *asrc = snd_soc_dai_get_drvdata(dai); fsl_asrc_dai_hw_params() local 785 struct fsl_asrc *asrc = snd_soc_dai_get_drvdata(dai); fsl_asrc_dai_probe() local 975 fsl_asrc_init(struct fsl_asrc * asrc) fsl_asrc_init() argument 1013 struct fsl_asrc *asrc = (struct fsl_asrc *)dev_id; fsl_asrc_isr() local 1073 struct fsl_asrc *asrc; fsl_asrc_probe() local 1264 struct fsl_asrc *asrc = dev_get_drvdata(dev); fsl_asrc_runtime_resume() local 1339 struct fsl_asrc *asrc = dev_get_drvdata(dev); fsl_asrc_runtime_suspend() local [all...] |
H A 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 Contro [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 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 …]
|
H A 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; 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); 39 struct fsl_asrc *asrc; global() member
|
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" 326 ALSA SoC Audio support with ASRC feature for Freescale SoCs that have
|
/linux/sound/soc/tegra/ |
H A 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 …]
|
H A D | tegra186_asrc.h | 3 * tegra186_asrc.h - Definitions for Tegra186 ASRC driver 12 /* ASRC stream related offset */ 35 /* ASRC Global registers offset */
|
H A 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.
|
H A D | Makefile | 14 snd-soc-tegra186-asrc-y := tegra186_asrc.o 34 obj-$(CONFIG_SND_SOC_TEGRA186_ASRC) += snd-soc-tegra186-asrc.o
|
/linux/Documentation/devicetree/bindings/sound/ |
H A 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 …]
|
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]*$" 34 - const: nvidia,tegra186-asrc 37 - nvidia,tegra234-asrc 38 - nvidia,tegra194-asrc 39 - const: nvidia,tegra186-asrc 45 pattern: "^ASRC[1-9]$" [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. 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>;
|
H A D | imx-audio-card.yaml | 98 link-name = "HiFi-ASRC-FE"; 105 link-name = "HiFi-ASRC-BE";
|
/linux/sound/soc/codecs/ |
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
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. in rt5682_sel_asrc_clk_src() 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 | 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 …]
|
H A D | rt5668.c | 803 * rt5668_sel_asrc_clk_src - select ASRC clock source for a set of filters 808 * The ASRC function is for asynchronous MCLK and LRCK. Also, since RT5668 can 809 * only support standard 32fs or 64fs i2s format, ASRC should be enabled to 811 * ASRC function will track i2s clock and generate a corresponding system clock 814 * ASRC for these filters if ASRC is selected as their clock source. 1550 /* ASRC */ 1551 SND_SOC_DAPM_SUPPLY_S("DAC STO1 ASRC", 1, RT5668_PLL_TRACK_1, 1553 SND_SOC_DAPM_SUPPLY_S("ADC STO1 ASRC", 1, RT5668_PLL_TRACK_1, 1555 SND_SOC_DAPM_SUPPLY_S("AD ASRC", 1, RT5668_PLL_TRACK_1, 1557 SND_SOC_DAPM_SUPPLY_S("DA ASRC", 1, RT5668_PLL_TRACK_1, [all …]
|
H A D | rt5682s.c | 1041 * rt5682s_sel_asrc_clk_src - select ASRC clock source for a set of filters 1046 * The ASRC function is for asynchronous MCLK and LRCK. Also, since RT5682S can 1047 * only support standard 32fs or 64fs i2s format, ASRC should be enabled to 1049 * ASRC function will track i2s clock and generate a corresponding system clock 1052 * ASRC for these filters if ASRC is selected as their clock source. 1691 /* ASRC */ 1692 SND_SOC_DAPM_SUPPLY_S("DAC STO1 ASRC", 1, RT5682S_PLL_TRACK_1, 1694 SND_SOC_DAPM_SUPPLY_S("ADC STO1 ASRC", 1, RT5682S_PLL_TRACK_1, 1696 SND_SOC_DAPM_SUPPLY_S("AD ASRC", 1, RT5682S_PLL_TRACK_1, 1698 SND_SOC_DAPM_SUPPLY_S("DA ASRC", 1, RT5682S_PLL_TRACK_1, [all …]
|
/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 */ 450 asrc1: asrc@59800000 { 451 compatible = "fsl,imx8qm-asrc"; 485 /* 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/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 …]
|