/linux/Documentation/devicetree/bindings/sound/ |
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 13 ASRC has two modes of operation. One where ratio can be programmed in SW 21 - Jon Hunter <jonathanh@nvidia.com> 22 - Mohan Kumar <mkumard@nvidia.com> 23 - Sameer Pujar <spujar@nvidia.com> [all …]
|
H A D | nvidia,tegra210-ahub.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/nvidia,tegra210-ahub.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 The Audio Hub (AHUB) comprises a collection of hardware accelerators 11 for audio pre-processing, post-processing and a programmable full 12 crossbar for routing audio data across these accelerators. It has 17 - Jon Hunter <jonathanh@nvidia.com> 18 - Sameer Pujar <spujar@nvidia.com> 22 pattern: "^ahub@[0-9a-f]*$" [all …]
|
/linux/sound/soc/fsl/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 4 comment "Common SoC Audio options for Freescale CPUs:" 7 tristate "Asynchronous Sample Rate Converter (ASRC) module support" 15 Say Y if you want to add Asynchronous Sample Rate Converter (ASRC) 17 This option is only useful for out-of-tree drivers since 18 in-tree drivers select it automatically. 21 tristate "Synchronous Audio Interface (SAI) module support" 27 Say Y if you want to add Synchronous Audio Interface (SAI) 29 This option is only useful for out-of-tree drivers since 30 in-tree drivers select it automatically. [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" 33 #define DRIVER_NAME "fsl-asoc-card" 44 * struct codec_priv - CODEC private data 62 * struct cpu_priv - CPU private data 82 * struct fsl_asoc_card_priv - Freescale Generic ASOC card private data 93 * @asrc_rate: ASRC sample rate used by Back-Ends 94 * @asrc_format: ASRC sample format used by Back-Ends 120 * Note: keep all ASRC routes in the second half [all …]
|
H A D | fsl_asrc_dma.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Freescale ASRC ALSA SoC Platform (DMA) driver 9 #include <linux/dma-mapping.h> 11 #include <linux/dma/imx-dma.h> 37 chan->private = param; in filter() 45 struct snd_pcm_runtime *runtime = substream->runtime; in fsl_asrc_dma_complete() 46 struct fsl_asrc_pair *pair = runtime->private_data; in fsl_asrc_dma_complete() 48 pair->pos += snd_pcm_lib_period_bytes(substream); in fsl_asrc_dma_complete() 49 if (pair->pos >= snd_pcm_lib_buffer_bytes(substream)) in fsl_asrc_dma_complete() 50 pair->pos = 0; in fsl_asrc_dma_complete() [all …]
|
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__) 159 * fsl_asrc_sel_proc - Select the pre-processing and post-processing options 162 * @pre_proc: return value for pre-processing option 163 * @post_proc: return value for post-processing option [all …]
|
H A D | imx-card.c | 1 // SPDX-License-Identifier: GPL-2.0+ 2 // Copyright 2017-2021 NXP 14 #include <sound/soc-dapm.h> 56 * struct imx_card_plat_data - specific info for codecs 90 * struct dai_link_data - specific info for dai link 105 * struct imx_card_data - platform device data 112 * @asrc_rate: asrc rates 113 * @asrc_format: asrc format 144 * Table 13 - Audio Interface Format 155 * Table 7 - mapping multiplier and speed mode [all …]
|
/linux/sound/soc/tegra/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 5 tristate "SoC Audio for the Tegra System-on-Chip" 12 Say Y or M here if you want support for SoC audio on Tegra. 65 Config to enable Audio Hub (AHUB) module, which comprises of a 66 switch called Audio Crossbar (AXBAR) used to configure or modify 67 the audio routing path between various HW accelerators present in 85 Config to enable the Inter-IC Sound (I2S) Controller which 86 implements full-duplex and bidirectional and single direction 87 point-to-point serial interfaces. It can interface with I2S 101 tristate "Tegra186 ASRC module" [all …]
|
/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-ss-audio.dtsi | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Copyright 2018-2019 NXP 7 #include <dt-bindings/clock/imx8-clock.h> 8 #include <dt-bindings/clock/imx8-lpcg.h> 9 #include <dt-bindings/dma/fsl-edma.h> 10 #include <dt-bindings/firmware/imx/rsrc.h> 12 audio_ipg_clk: clock-audio-ipg { 13 compatible = "fixed-clock"; 14 #clock-cells = <0>; 15 clock-frequency = <120000000>; [all …]
|
H A D | imx8mn-beacon-baseboard.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 7 dmic_codec: dmic-codec { 8 compatible = "dmic-codec"; 9 num-channels = <1>; 10 #sound-dai-cells = <0>; 14 compatible = "gpio-leds"; 16 led-0 { 19 default-state = "off"; 22 led-1 { 25 default-state = "off"; [all …]
|
/linux/arch/arm/boot/dts/nxp/imx/ |
H A D | imx6sx-sdb-mqs.dts | 1 // SPDX-License-Identifier: GPL-2.0 5 #include "imx6sx-sdb.dts" 12 sound-mqs { 13 compatible = "fsl,imx6sx-sdb-mqs", 14 "fsl,imx-audio-mqs"; 15 model = "mqs-audio"; 16 audio-cpu = <&sai1>; 17 audio-asrc = <&asrc>; 18 audio-codec = <&mqs>; 28 pinctrl-names = "default"; [all …]
|
H A D | imx6sx-sabreauto.dts | 1 // SPDX-License-Identifier: GPL-2.0 5 /dts-v1/; 11 compatible = "fsl,imx6sx-sabreauto", "fsl,imx6sx"; 19 compatible = "gpio-leds"; 20 pinctrl-names = "default"; 21 pinctrl-0 = <&pinctrl_led>; 23 led-user { 26 linux,default-trigger = "heartbeat"; 30 vcc_sd3: regulator-vcc-sd3 { 31 compatible = "regulator-fixed"; [all …]
|
H A D | imx6qdl-mba6.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright 2013-2021 TQ-Systems GmbH 6 * Author: Markus Niebel <Markus.Niebel@tq-group.com> 9 #include <dt-bindings/clock/imx6qdl-clock.h> 10 #include <dt-bindings/gpio/gpio.h> 11 #include <dt-bindings/input/input.h> 12 #include <dt-bindings/sound/fsl-imx-audmux.h> 18 /delete-property/ mmc2; 19 /delete-property/ mmc3; 24 stdout-path = &uart2; [all …]
|
/linux/sound/soc/sof/ |
H A D | ipc4-topology.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) 14 #include <sound/intel-nhlt.h> 15 #include "sof-priv.h" 16 #include "sof-audio.h" 17 #include "ipc4-priv.h" 18 #include "ipc4-topology.h" 179 /* ASRC */ 196 [SOF_IN_AUDIO_FORMAT_TOKENS] = {"IPC4 Input Audio format tokens", 198 [SOF_OUT_AUDIO_FORMAT_TOKENS] = {"IPC4 Output Audio format tokens", 204 [SOF_AUDIO_FMT_NUM_TOKENS] = {"IPC4 Audio format number tokens", [all …]
|
H A D | ipc4-topology.h | 1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ 15 #define SOF_IPC4_FW_PAGE(x) ((((x) + BIT(12) - 1) & ~(BIT(12) - 1)) >> 12) 16 #define SOF_IPC4_FW_ROUNDUP(x) (((x) + BIT(6) - 1) & (~(BIT(6) - 1))) 22 * LL domain - Low latency domain 23 * DP domain - Data processing domain 80 * The base of multi-gateways. Multi-gateways addressing starts from 81 * ALH_MULTI_GTW_BASE and there are ALH_MULTI_GTW_COUNT multi-sources 82 * and ALH_MULTI_GTW_COUNT multi-sinks available. 84 * ALH_MULTI_GTW_BASE + ALH_MULTI_GTW_COUNT - 1. 108 * HD-A gateways. [all …]
|
/linux/sound/soc/mediatek/mt2701/ |
H A D | mt2701-afe-clock-ctrl.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * mt2701-afe-clock-ctrl.c -- Mediatek 2701 afe clock ctrl 10 #include "mt2701-afe-common.h" 11 #include "mt2701-afe-clock-ctrl.h" 27 struct mt2701_afe_private *afe_priv = afe->platform_priv; in mt2701_init_clock() 31 afe_priv->base_ck[i] = devm_clk_get(afe->dev, base_clks[i]); in mt2701_init_clock() 32 if (IS_ERR(afe_priv->base_ck[i])) { in mt2701_init_clock() 33 dev_err(afe->dev, "failed to get %s\n", base_clks[i]); in mt2701_init_clock() 34 return PTR_ERR(afe_priv->base_ck[i]); in mt2701_init_clock() 39 for (i = 0; i < afe_priv->soc->i2s_num; i++) { in mt2701_init_clock() [all …]
|
/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() 751 static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -6525, 75, 0); 752 static const DECLARE_TLV_DB_SCALE(adc_vol_tlv, -1725, 75, 0); 819 regmap_write(rt5682->regmap, RT5682_RESET, 0); in rt5682_reset() 820 if (!rt5682->is_sdw) in rt5682_reset() 821 regmap_write(rt5682->regmap, RT5682_I2C_MODE, 1); in rt5682_reset() [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 …]
|
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 | rt5668.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5668.c -- RT5668B ALSA SoC audio component driver 26 #include <sound/soc-dapm.h> 746 static const DECLARE_TLV_DB_SCALE(hp_vol_tlv, -2250, 150, 0); 747 static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -65625, 375, 0); 748 static const DECLARE_TLV_DB_SCALE(adc_vol_tlv, -17625, 375, 0); 844 * rt5668_headset_detect - Detect headset. 845 * @component: SoC audio component device. 879 rt5668->jack_type = SND_JACK_HEADSET; in rt5668_headset_detect() 883 rt5668->jack_type = SND_JACK_HEADPHONE; in rt5668_headset_detect() [all …]
|
H A D | rt5665.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5665.c -- RT5665/RT5658 ALSA SoC audio codec driver 26 #include <sound/soc-dapm.h> 884 static const DECLARE_TLV_DB_SCALE(hp_vol_tlv, -2250, 150, 0); 885 static const DECLARE_TLV_DB_SCALE(mono_vol_tlv, -1400, 150, 0); 886 static const DECLARE_TLV_DB_SCALE(out_vol_tlv, -4650, 150, 0); 887 static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -65625, 375, 0); 888 static const DECLARE_TLV_DB_SCALE(in_vol_tlv, -3450, 150, 0); 889 static const DECLARE_TLV_DB_SCALE(adc_vol_tlv, -17625, 375, 0); 891 static const DECLARE_TLV_DB_SCALE(in_bst_tlv, -1200, 75, 0); [all …]
|
H A D | rt5640.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5640.c -- RT5640/RT5639 ALSA SoC audio codec driver 27 #include <sound/soc-dapm.h> 340 static const DECLARE_TLV_DB_SCALE(out_vol_tlv, -4650, 150, 0); 341 static const DECLARE_TLV_DB_MINMAX(dac_vol_tlv, -6562, 0); 342 static const DECLARE_TLV_DB_SCALE(in_vol_tlv, -3450, 150, 0); 343 static const DECLARE_TLV_DB_MINMAX(adc_vol_tlv, -1762, 3000); 451 * set_dmic_clk - Set parameter of dmic. 461 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in set_dmic_clk() 465 rate = rt5640->sysclk / rl6231_get_pre_div(rt5640->regmap, in set_dmic_clk() [all …]
|
/linux/sound/soc/intel/boards/ |
H A D | cht_bsw_rt5672.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * cht_bsw_rt5672.c - ASoc Machine driver for Intel Cherryview-based platforms 22 #include <sound/soc-acpi.h> 24 #include "../atom/sst-atom-controls.h" 25 #include "../common/soc-intel-quirks.h" 30 #define CHT_CODEC_DAI "rt5670-aif1" 54 struct snd_soc_dapm_context *dapm = w->dapm; in platform_clock_control() 55 struct snd_soc_card *card = dapm->card; in platform_clock_control() 62 dev_err(card->dev, "Codec dai not found; Unable to set platform clock\n"); in platform_clock_control() 63 return -EIO; in platform_clock_control() [all …]
|
H A D | sof_rt5682.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 // Copyright(c) 2019-2020 Intel Corporation. 22 #include <sound/soc-acpi.h> 26 #include "../common/soc-intel-quirks.h" 31 /* Driver-specific board quirks: from bit 0 to 7 */ 40 sof_rt5682_quirk = (unsigned long)id->driver_data; in sof_rt5682_quirk_cb() 57 DMI_MATCH(DMI_PRODUCT_NAME, "UP-CHT01"), 74 DMI_MATCH(DMI_OEM_STRING, "AUDIO-MAX98373_ALC5682I_I2S_UP4"), 86 DMI_MATCH(DMI_OEM_STRING, "AUDIO-ADL_MAX98373_ALC5682I_I2S"), 97 DMI_MATCH(DMI_OEM_STRING, "AUDIO-MAX98390_ALC5682I_I2S"), [all …]
|