/openbmc/linux/sound/soc/fsl/ |
H A D | fsl_asrc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Freescale ASRC ALSA SoC Digital Audio Interface (DAI) driver 11 #include <linux/dma-mapping.h> 14 #include <linux/dma/imx-dma.h> 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__) 127 static bool fsl_asrc_divider_avail(int clk_rate, int rate, int *div) in fsl_asrc_divider_avail() argument 135 if (clk_rate == 0 || rate == 0) in fsl_asrc_divider_avail() 139 rem = do_div(n, rate); in fsl_asrc_divider_avail() [all …]
|
H A D | fsl-asoc-card.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Freescale Generic ASoC Sound Card driver with ASRC 23 #include "imx-audmux.h" 32 #define DRIVER_NAME "fsl-asoc-card" 43 * struct codec_priv - CODEC private data 45 * @mclk_freq: Clock rate of MCLK 46 * @free_freq: Clock rate of MCLK for hw_free() 61 * struct cpu_priv - CPU private data 79 * struct fsl_asoc_card_priv - Freescale Generic ASOC card private data 88 * @sample_rate: Current sample rate [all …]
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 7 tristate "Asynchronous Sample Rate Converter (ASRC) module support" 12 Say Y if you want to add Asynchronous Sample Rate Converter (ASRC) 14 This option is only useful for out-of-tree drivers since 15 in-tree drivers select it automatically. 26 This option is only useful for out-of-tree drivers since 27 in-tree drivers select it automatically. 36 This option is only useful for out-of-tree drivers since 37 in-tree drivers select it automatically. 54 This option is only useful for out-of-tree drivers since [all …]
|
H A D | imx-card.c | 1 // SPDX-License-Identifier: GPL-2.0+ 2 // Copyright 2017-2021 NXP 15 #include <sound/soc-dapm.h> 33 * @rmin: min rate 34 * @rmax: max rate 55 * struct imx_card_plat_data - specific info for codecs 59 * @support_rates: supported sample rate 60 * @support_tdm_rates: supported sample rate for tdm mode 89 * struct dai_link_data - specific info for dai link 104 * struct imx_card_data - platform device data [all …]
|
H A D | fsl_asrc_common.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 15 ASRC_INVALID_PAIR = -1, 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 67 * @channel_avail: non-occupied channel numbers 68 * @asrc_rate: default sample rate for ASoC Back-Ends 69 * @asrc_format: default sample format for ASoC Back-Ends 105 #define DRV_NAME "fsl-asrc-dai"
|
H A D | fsl_easrc.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 10 #include <linux/dma/imx-dma.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 */ [all …]
|
H A D | fsl_easrc.c | 1 // SPDX-License-Identifier: GPL-2.0 7 #include <linux/dma-mapping.h> 32 #include "imx-pcm.h" 51 struct fsl_easrc_priv *easrc_priv = easrc->private; in fsl_easrc_iec958_put_bits() 53 (struct soc_mreg_control *)kcontrol->private_value; in fsl_easrc_iec958_put_bits() 54 unsigned int regval = ucontrol->value.integer.value[0]; in fsl_easrc_iec958_put_bits() 56 easrc_priv->bps_iec958[mc->regbase] = regval; in fsl_easrc_iec958_put_bits() 66 struct fsl_easrc_priv *easrc_priv = easrc->private; in fsl_easrc_iec958_get_bits() 68 (struct soc_mreg_control *)kcontrol->private_value; in fsl_easrc_iec958_get_bits() 70 ucontrol->value.enumerated.item[0] = easrc_priv->bps_iec958[mc->regbase]; in fsl_easrc_iec958_get_bits() [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/sound/ |
H A D | fsl,asrc.txt | 1 Freescale Asynchronous Sample Rate Converter (ASRC) Controller 3 The Asynchronous Sample Rate Converter (ASRC) converts the sampling rate of a 11 - compatible : Compatible list, should contain one of the following 13 "fsl,imx35-asrc", 14 "fsl,imx53-asrc", 15 "fsl,imx8qm-asrc", 16 "fsl,imx8qxp-asrc", 18 - reg : Offset and length of the register set for the device. 20 - interrupts : Contains the spdif interrupt. 22 - dmas : Generic dma devicetree binding as described in [all …]
|
H A D | nvidia,tegra186-asrc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/nvidia,tegra186-asrc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Tegra186 ASRC 10 Asynchronous Sample Rate Converter (ASRC) converts the sampling frequency 12 wide range of sample rate ratios (freq_in/freq_out) from 1:24 to 24:1. 13 ASRC has two modes of operation. One where ratio can be programmed in SW 16 It supports sample rate conversions in the range of 8 to 192 kHz and 21 - Jon Hunter <jonathanh@nvidia.com> [all …]
|
H A D | fsl,easrc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: NXP Asynchronous Sample Rate Converter (ASRC) Controller 10 - Shengjiu Wang <shengjiu.wang@nxp.com> 18 - enum: 19 - fsl,imx8mn-easrc 20 - items: 21 - enum: 22 - fsl,imx8mp-easrc [all …]
|
/openbmc/linux/include/sound/sof/ |
H A D | topology.h | 1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ 39 SOF_COMP_ASRC, /**< Asynchronous sample rate converter */ 52 /* create new generic component - SOF_IPC_TPLG_COMP_NEW */ 90 /* create new component buffer - SOF_IPC_TPLG_BUFFER_NEW */ 99 /* generic component config data - must always be after struct sof_ipc_comp */ 127 uint32_t type; /**< DAI type - SOF_DAI_ */ 160 /* either source or sink rate must be non zero */ 161 uint32_t source_rate; /**< source rate or 0 for variable */ 162 uint32_t sink_rate; /**< sink rate or 0 for variable */ 166 /* generic ASRC component */ [all …]
|
/openbmc/linux/sound/soc/codecs/ |
H A D | rt5682.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 // rt5682.c -- RT5682 ALSA SoC audio component driver 25 #include <sound/soc-dapm.h> 38 "LDO1-IN", 60 ret = regmap_multi_reg_write(rt5682->regmap, patch_list, in rt5682_apply_patch_list() 749 static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -6525, 75, 0); 750 static const DECLARE_TLV_DB_SCALE(adc_vol_tlv, -1725, 75, 0); 817 regmap_write(rt5682->regmap, RT5682_RESET, 0); in rt5682_reset() 818 if (!rt5682->is_sdw) in rt5682_reset() 819 regmap_write(rt5682->regmap, RT5682_I2C_MODE, 1); in rt5682_reset() [all …]
|
H A D | adau1372.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 * Author: Lars-Peter Clausen <lars@metafoo.de> 24 #include "adau-utils.h" 125 static const DECLARE_TLV_DB_MINMAX(adau1372_digital_tlv, -9563, 0); 126 static const DECLARE_TLV_DB_SCALE(adau1372_pga_tlv, -1200, 75, 0); 189 SOC_ENUM("ADC 0+1 High-Pass-Filter", adau1372_hpf0_1_enum), 190 SOC_ENUM("ADC 2+3 High-Pass-Filter", adau1372_hpf2_3_enum), 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), [all …]
|
H A D | rt5682s.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 // rt5682s.c -- RT5682I-VS ALSA SoC audio component driver 25 #include <sound/soc-dapm.h> 38 .dai_clk_names[RT5682S_DAI_WCLK_IDX] = "rt5682-dai-wclk", 39 .dai_clk_names[RT5682S_DAI_BCLK_IDX] = "rt5682-dai-bclk", 46 [RT5682S_SUPPLY_LDO1_IN] = "LDO1-IN", 69 ret = regmap_multi_reg_write(rt5682s->regmap, patch_list, ARRAY_SIZE(patch_list)); in rt5682s_apply_patch_list() 624 regmap_write(rt5682s->regmap, RT5682S_RESET, 0); in rt5682s_reset() 634 dev_dbg(component->dev, "%s btn_type=%x\n", __func__, btn_type); in rt5682s_button_detect() 651 mutex_lock(&rt5682s->sar_mutex); in rt5682s_sar_power_mode() [all …]
|
H A D | cs42l43.c | 1 // SPDX-License-Identifier: GPL-2.0 5 // Copyright (C) 2022-2023 Cirrus Logic, Inc. and 15 #include <linux/mfd/cs42l43-regs.h> 22 #include <sound/soc-component.h> 23 #include <sound/soc-dapm.h> 24 #include <sound/soc-dai.h> 72 { name_str, "ASRC INT1", "ASRC_INT1" }, \ 73 { name_str, "ASRC INT2", "ASRC_INT2" }, \ 74 { name_str, "ASRC INT3", "ASRC_INT3" }, \ 75 { name_str, "ASRC INT4", "ASRC_INT4" }, \ [all …]
|
H A D | rt5670.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5670.c -- RT5670 ALSA SoC audio codec driver 25 #include <sound/soc-dapm.h> 31 #include "rt5670-dsp.h" 50 MODULE_PARM_DESC(quirk, "Board-specific quirk override"); 422 * rt5670_headset_detect - Detect headset. 457 rt5670->jack_type = SND_JACK_HEADSET; in rt5670_headset_detect() 464 rt5670->jack_type = SND_JACK_HEADPHONE; in rt5670_headset_detect() 471 rt5670->jack_type = 0; in rt5670_headset_detect() 476 return rt5670->jack_type; in rt5670_headset_detect() [all …]
|
H A D | rt5677.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5677.c -- RT5677 ALSA SoC audio codec driver 29 #include <sound/soc-dapm.h> 35 #include "rt5677-spi.h" 552 * rt5677_dsp_mode_i2c_write_addr - Write value to address on DSP mode. 563 struct snd_soc_component *component = rt5677->component; in rt5677_dsp_mode_i2c_write_addr() 566 mutex_lock(&rt5677->dsp_cmd_lock); in rt5677_dsp_mode_i2c_write_addr() 568 ret = regmap_write(rt5677->regmap_physical, RT5677_DSP_I2C_ADDR_MSB, in rt5677_dsp_mode_i2c_write_addr() 571 dev_err(component->dev, "Failed to set addr msb value: %d\n", ret); in rt5677_dsp_mode_i2c_write_addr() 575 ret = regmap_write(rt5677->regmap_physical, RT5677_DSP_I2C_ADDR_LSB, in rt5677_dsp_mode_i2c_write_addr() [all …]
|
/openbmc/linux/sound/soc/tegra/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 tristate "SoC Audio for the Tegra System-on-Chip" 82 Config to enable the Inter-IC Sound (I2S) Controller which 83 implements full-duplex and bidirectional and single direction 84 point-to-point serial interfaces. It can interface with I2S 98 tristate "Tegra186 ASRC module" 100 Config to enable the Asynchronous Sample Rate Converter (ASRC), 103 sample rate ratios (freq_in/freq_out) from 1:24 to 24:1. 104 ASRC has two modes of operation. One where ratio can be programmed 107 Say Y or M if you want to add support for Tegra186 ASRC module. [all …]
|
/openbmc/linux/arch/arm64/boot/dts/freescale/ |
H A D | imx8mn-bsh-smm-s2pro.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 7 /dts-v1/; 9 #include "imx8mn-bsh-smm-s2-common.dtsi" 10 #include <dt-bindings/sound/tlv320aic31xx.h> 14 compatible = "bsh,imx8mn-bsh-smm-s2pro", "fsl,imx8mn"; 21 sound-tlv320aic31xx { 22 compatible = "fsl,imx-audio-tlv320aic31xx"; 23 model = "tlv320aic31xx-hifi"; 24 audio-cpu = <&sai3>; 25 audio-codec = <&tlv320dac3101>; [all …]
|
H A D | imx8-apalis-eval.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 12 reg_usb_host_vbus: regulator-usb-host-vbus { 13 regulator-name = "VCC USBH2(ABCD) / USBH(3|4)"; 27 /* TODO: Asynchronous Sample Rate Converter (ASRC) */ 127 /* TODO: Apalis USBH2, Apalis USBH3 and on-module Wi-Fi via on-module HSIC Hub */
|
/openbmc/linux/sound/soc/sof/ |
H A D | ipc3-topology.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) 12 #include "sof-priv.h" 13 #include "sof-audio.h" 14 #include "ipc3-priv.h" 136 /* ASRC */ 192 offsetof(struct sof_ipc_dai_alh_params, rate)}, 257 offsetof(struct sof_ipc_dai_hda_params, rate)}, 265 offsetof(struct sof_ipc_dai_mtk_afe_params, rate)}, 314 [SOF_ASRC_TOKENS] = {"ASRC tokens", asrc_tokens, ARRAY_SIZE(asrc_tokens)}, 331 * sof_comp_alloc - allocate and initialize buffer for a new component [all …]
|
/openbmc/linux/sound/soc/intel/boards/ |
H A D | bdw-rt5650.c | 1 // SPDX-License-Identifier: GPL-2.0-only 17 #include <sound/soc-acpi.h> 86 struct snd_interval *rate = hw_param_interval(params, in broadwell_ssp0_fixup() local 91 /* The ADSP will convert the FE rate to 48k, max 4-channels */ in broadwell_ssp0_fixup() 92 rate->min = rate->max = 48000; in broadwell_ssp0_fixup() 93 chan->min = 2; in broadwell_ssp0_fixup() 94 chan->max = 4; in broadwell_ssp0_fixup() 116 dev_err(rtd->dev, "can't set codec pll: %d\n", ret); in bdw_rt5650_hw_params() 122 * ASRC is enabled on AD and DA filters to ensure good audio quality. in bdw_rt5650_hw_params() 127 dev_err(rtd->dev, "can't set codec sysclk configuration\n"); in bdw_rt5650_hw_params() [all …]
|
H A D | bdw-rt5677.c | 1 // SPDX-License-Identifier: GPL-2.0-only 18 #include <sound/soc-acpi.h> 30 struct snd_soc_dapm_context *dapm = w->dapm; in bdw_rt5677_event_hp() 31 struct snd_soc_card *card = dapm->card; in bdw_rt5677_event_hp() 37 gpiod_set_value_cansleep(bdw_rt5677->gpio_hp_en, in bdw_rt5677_event_hp() 104 .name = "plug-det", 110 .name = "mic-present", 130 { "plug-det-gpios", &plug_det_gpio, 1 }, 131 { "mic-present-gpios", &mic_present_gpio, 1 }, 132 { "headphone-enable-gpios", &headphone_enable_gpio, 1 }, [all …]
|
/openbmc/linux/sound/soc/mediatek/mt8186/ |
H A D | mt8186-dai-i2s.c | 1 // SPDX-License-Identifier: GPL-2.0 11 #include "mt8186-afe-clk.h" 12 #include "mt8186-afe-common.h" 13 #include "mt8186-afe-gpio.h" 14 #include "mt8186-interconnection.h" 43 int rate; /* for determine which apll to use */ member 88 return -EINVAL; in get_i2s_id_by_name() 94 struct mt8186_afe_private *afe_priv = afe->platform_priv; in get_i2s_priv_by_name() 100 return afe_priv->dai_priv[dai_id]; in get_i2s_priv_by_name() 120 i2s_priv = get_i2s_priv_by_name(afe, kcontrol->id.name); in mt8186_i2s_hd_get() [all …]
|
/openbmc/u-boot/board/freescale/ls1021atwr/ |
H A D | README | 2 -------- 6 ------------------ 8 is built on Layerscape architecture, the industry's first software-aware, 9 core-agnostic networking architecture to offer unprecedented efficiency 12 A member of the value-performance tier, the QorIQ LS1021A processor provides 14 enterprise networking applications. Incorporating dual ARM Cortex-A7 cores 15 running up to 1.0 GHz, the LS1021A processor delivers pre-silicon CoreMark 17 security features and the broadest array of high-speed interconnects and 18 optimized peripheral features ever offered in a sub-3 W processor. 23 protection on both L1 and L2 caches. The LS1021A processor is pin- and [all …]
|