Home
last modified time | relevance | path

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

12345

/linux-6.12.1/sound/soc/fsl/
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__)
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 …]
Dfsl_easrc.h16 /* 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 …]
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
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 …]
Dfsl_asrc_common.h25 * 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"
Dfsl-asoc-card.c3 // 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 …]
DKconfig7 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
Dimx-card.c110 * @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()
Dfsl_easrc.c174 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/
Dtegra186_asrc.c3 // 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 …]
Dtegra186_asrc.h3 * tegra186_asrc.h - Definitions for Tegra186 ASRC driver
12 /* ASRC stream related offset */
35 /* ASRC Global registers offset */
DKconfig99 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/
Dfsl,imx-asrc.yaml4 $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 …]
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]*$"
34 - const: nvidia,tegra186-asrc
37 - nvidia,tegra234-asrc
38 - nvidia,tegra194-asrc
39 - const: nvidia,tegra186-asrc
45 pattern: "^ASRC[1-9]$"
[all …]
Dfsl,easrc.yaml7 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>;
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.
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/
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 */
453 asrc1: asrc@59800000 {
454 compatible = "fsl,imx8qm-asrc";
488 /* tx* is output channel of asrc, it is rx channel for eDMA */
[all …]
Dimx8mn-bsh-smm-s2pro.dts26 audio-asrc = <&easrc>;
42 fsl,asrc-rate = <48000>;
43 fsl,asrc-format = <10>;
/linux-6.12.1/sound/soc/codecs/
Dcs42l43.c83 { 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 …]
Dadau1372.c339 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 …]
Drt5677.c1214 * 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 …]
Drt5670.c840 * 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 …]
Drt5682.c824 * 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 …]
Drt5665.c1029 * 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/
Dimx6sx-sdb-mqs.dts17 audio-asrc = <&asrc>;
/linux-6.12.1/include/sound/sof/
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 */

12345