Home
last modified time | relevance | path

Searched +full:i2s +full:- +full:tx +full:- +full:route (Results 1 – 25 of 29) sorted by relevance

12

/kernel/linux/linux-6.6/Documentation/devicetree/bindings/sound/
Drockchip,i2s-tdm.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/sound/rockchip,i2s-tdm.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Rockchip I2S/TDM Controller
10 The Rockchip I2S/TDM Controller is a Time Division Multiplexed
15 - Nicolas Frattaroli <frattaroli.nicolas@gmail.com>
18 - $ref: dai-common.yaml#
23 - rockchip,px30-i2s-tdm
24 - rockchip,rk1808-i2s-tdm
[all …]
/kernel/linux/linux-5.10/sound/soc/tegra/
Dtegra30_i2s.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * tegra30_i2s.c - Tegra30 I2S driver
6 * Copyright (c) 2010-2012, NVIDIA CORPORATION. All rights reserved.
10 * Copyright (c) 2009-2010, NVIDIA Corporation.
36 #define DRV_NAME "tegra30-i2s"
40 struct tegra30_i2s *i2s = dev_get_drvdata(dev); in tegra30_i2s_runtime_suspend() local
42 regcache_cache_only(i2s->regmap, true); in tegra30_i2s_runtime_suspend()
44 clk_disable_unprepare(i2s->clk_i2s); in tegra30_i2s_runtime_suspend()
51 struct tegra30_i2s *i2s = dev_get_drvdata(dev); in tegra30_i2s_runtime_resume() local
54 ret = clk_prepare_enable(i2s->clk_i2s); in tegra30_i2s_runtime_resume()
[all …]
Dtegra210_i2s.c1 // SPDX-License-Identifier: GPL-2.0-only
3 // tegra210_i2s.c - Tegra210 I2S driver
31 * is required to select i2s4b for it to be functional for I2S
42 regmap_write(regmap, TEGRA210_I2S_SLOT_CTRL, total_slots - 1); in tegra210_i2s_set_slot_ctrl()
50 struct tegra210_i2s *i2s = dev_get_drvdata(dev); in tegra210_i2s_set_clock_rate() local
54 regmap_read(i2s->regmap, TEGRA210_I2S_CTRL, &val); in tegra210_i2s_set_clock_rate()
56 /* No need to set rates if I2S is being operated in slave */ in tegra210_i2s_set_clock_rate()
60 err = clk_set_rate(i2s->clk_i2s, clock_rate); in tegra210_i2s_set_clock_rate()
62 dev_err(dev, "can't set I2S bit clock rate %u, err: %d\n", in tegra210_i2s_set_clock_rate()
67 if (!IS_ERR(i2s->clk_sync_input)) { in tegra210_i2s_set_clock_rate()
[all …]
/kernel/linux/linux-6.6/sound/soc/tegra/
Dtegra30_i2s.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * tegra30_i2s.c - Tegra30 I2S driver
6 * Copyright (c) 2010-2012, NVIDIA CORPORATION. All rights reserved.
10 * Copyright (c) 2009-2010, NVIDIA Corporation.
37 #define DRV_NAME "tegra30-i2s"
41 struct tegra30_i2s *i2s = dev_get_drvdata(dev); in tegra30_i2s_runtime_suspend() local
43 regcache_cache_only(i2s->regmap, true); in tegra30_i2s_runtime_suspend()
45 clk_disable_unprepare(i2s->clk_i2s); in tegra30_i2s_runtime_suspend()
52 struct tegra30_i2s *i2s = dev_get_drvdata(dev); in tegra30_i2s_runtime_resume() local
55 ret = clk_prepare_enable(i2s->clk_i2s); in tegra30_i2s_runtime_resume()
[all …]
Dtegra210_i2s.c1 // SPDX-License-Identifier: GPL-2.0-only
3 // tegra210_i2s.c - Tegra210 I2S driver
31 * is required to select i2s4b for it to be functional for I2S
42 regmap_write(regmap, TEGRA210_I2S_SLOT_CTRL, total_slots - 1); in tegra210_i2s_set_slot_ctrl()
50 struct tegra210_i2s *i2s = dev_get_drvdata(dev); in tegra210_i2s_set_clock_rate() local
54 regmap_read(i2s->regmap, TEGRA210_I2S_CTRL, &val); in tegra210_i2s_set_clock_rate()
56 /* No need to set rates if I2S is being operated in slave */ in tegra210_i2s_set_clock_rate()
60 err = clk_set_rate(i2s->clk_i2s, clock_rate); in tegra210_i2s_set_clock_rate()
62 dev_err(dev, "can't set I2S bit clock rate %u, err: %d\n", in tegra210_i2s_set_clock_rate()
67 if (!IS_ERR(i2s->clk_sync_input)) { in tegra210_i2s_set_clock_rate()
[all …]
/kernel/linux/linux-5.10/sound/soc/samsung/
Dsmdk_wm8994.c1 // SPDX-License-Identifier: GPL-2.0+
12 * SMDKV310: CFG5-1000, CFG7-111111
16 * Configure audio route as :-
82 struct snd_soc_dapm_context *dapm = &rtd->card->dapm; in smdk_wm8994_init_paiftx()
104 DAILINK_COMP_ARRAY(COMP_CPU("samsung-i2s.0")),
105 DAILINK_COMP_ARRAY(COMP_CODEC("wm8994-codec", "wm8994-aif1")),
106 DAILINK_COMP_ARRAY(COMP_PLATFORM("samsung-i2s.0")));
109 DAILINK_COMP_ARRAY(COMP_CPU("samsung-i2s-sec")),
110 DAILINK_COMP_ARRAY(COMP_CODEC("wm8994-codec", "wm8994-aif1")),
111 DAILINK_COMP_ARRAY(COMP_PLATFORM("samsung-i2s-sec")));
[all …]
/kernel/linux/linux-6.6/sound/soc/samsung/
Dsmdk_wm8994.c1 // SPDX-License-Identifier: GPL-2.0+
12 * SMDKV310: CFG5-1000, CFG7-111111
16 * Configure audio route as :-
82 struct snd_soc_dapm_context *dapm = &rtd->card->dapm; in smdk_wm8994_init_paiftx()
104 DAILINK_COMP_ARRAY(COMP_CPU("samsung-i2s.0")),
105 DAILINK_COMP_ARRAY(COMP_CODEC("wm8994-codec", "wm8994-aif1")),
106 DAILINK_COMP_ARRAY(COMP_PLATFORM("samsung-i2s.0")));
109 DAILINK_COMP_ARRAY(COMP_CPU("samsung-i2s-sec")),
110 DAILINK_COMP_ARRAY(COMP_CODEC("wm8994-codec", "wm8994-aif1")),
111 DAILINK_COMP_ARRAY(COMP_PLATFORM("samsung-i2s-sec")));
[all …]
/kernel/linux/linux-5.10/sound/soc/codecs/
Dcpcap.c1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2017 - 2018 Sebastian Reichel <sre@kernel.org>
8 * Copyright (C) 2007 - 2009 Motorola, Inc.
14 #include <linux/mfd/motorola-cpcap.h>
19 /* Register 513 CPCAP_REG_CC --- CODEC */
37 /* Register 514 CPCAP_REG_CDI --- CODEC Digital Audio Interface */
54 /* Register 515 CPCAP_REG_SDAC --- Stereo DAC */
68 /* Register 516 CPCAP_REG_SDACDI --- Stereo DAC Digital Audio Interface */
84 /* Register 517 CPCAP_REG_TXI --- TX Interface */
102 /* Register 518 CPCAP_REG_TXMP --- Mic Gain */
[all …]
Dhdmi-codec.c1 // SPDX-License-Identifier: GPL-2.0-only
4 * Copyright (C) 2015 Texas Instruments Incorporated - https://www.ti.com/
16 #include <sound/hdmi-codec.h>
21 #define HDMI_CODEC_CHMAP_IDX_UNKNOWN -1
69 /* Channel maps for multi-channel playbacks, up to 8 n_ch */
284 SND_SOC_DAPM_OUTPUT("TX"),
295 uinfo->type = SNDRV_CTL_ELEM_TYPE_BYTES; in hdmi_eld_ctl_info()
296 uinfo->count = sizeof_field(struct hdmi_codec_priv, eld); in hdmi_eld_ctl_info()
307 memcpy(ucontrol->value.bytes.data, hcp->eld, sizeof(hcp->eld)); in hdmi_eld_ctl_get()
334 spk_alloc = drm_eld_get_spk_alloc(hcp->eld); in hdmi_codec_eld_chmap()
[all …]
Dab8500-codec.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) ST-Ericsson SA 2012
8 * for ST-Ericsson.
14 * for ST-Ericsson.
31 #include <linux/mfd/abx500/ab8500-sysctrl.h>
32 #include <linux/mfd/abx500/ab8500-codec.h>
41 #include <sound/soc-dapm.h>
44 #include "ab8500-codec.h"
58 /* Nr of FIR/IIR-coeff banks in ANC-block */
123 /* Private data for AB8500 device-driver */
[all …]
/kernel/linux/linux-6.6/sound/soc/codecs/
Dhdmi-codec.c1 // SPDX-License-Identifier: GPL-2.0-only
4 * Copyright (C) 2015 Texas Instruments Incorporated - https://www.ti.com/
16 #include <sound/hdmi-codec.h>
21 #define HDMI_CODEC_CHMAP_IDX_UNKNOWN -1
64 /* Channel maps for multi-channel playbacks, up to 8 n_ch */
293 SND_SOC_DAPM_OUTPUT("TX"),
305 uinfo->type = SNDRV_CTL_ELEM_TYPE_BYTES; in hdmi_eld_ctl_info()
306 uinfo->count = sizeof_field(struct hdmi_codec_priv, eld); in hdmi_eld_ctl_info()
317 memcpy(ucontrol->value.bytes.data, hcp->eld, sizeof(hcp->eld)); in hdmi_eld_ctl_get()
344 spk_alloc = drm_eld_get_spk_alloc(hcp->eld); in hdmi_codec_eld_chmap()
[all …]
Dcpcap.c1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2017 - 2018 Sebastian Reichel <sre@kernel.org>
8 * Copyright (C) 2007 - 2009 Motorola, Inc.
14 #include <linux/mfd/motorola-cpcap.h>
19 /* Register 512 CPCAP_REG_VAUDIOC --- Audio Regulator and Bias Voltage */
27 /* Register 513 CPCAP_REG_CC --- CODEC */
45 /* Register 514 CPCAP_REG_CDI --- CODEC Digital Audio Interface */
62 /* Register 515 CPCAP_REG_SDAC --- Stereo DAC */
76 /* Register 516 CPCAP_REG_SDACDI --- Stereo DAC Digital Audio Interface */
92 /* Register 517 CPCAP_REG_TXI --- TX Interface */
[all …]
Dab8500-codec.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) ST-Ericsson SA 2012
8 * for ST-Ericsson.
14 * for ST-Ericsson.
29 #include <linux/mfd/abx500/ab8500-sysctrl.h>
30 #include <linux/mfd/abx500/ab8500-codec.h>
39 #include <sound/soc-dapm.h>
42 #include "ab8500-codec.h"
56 /* Nr of FIR/IIR-coeff banks in ANC-block */
114 /* Private data for AB8500 device-driver */
[all …]
Daw88261.c1 // SPDX-License-Identifier: GPL-2.0-only
3 // aw88261.c -- AW88261 ALSA SoC Audio driver
23 .max_register = AW88261_REG_MAX - 1,
30 struct aw_volume_desc *vol_desc = &aw_dev->volume_desc; in aw88261_dev_set_volume()
34 volume = min((value + vol_desc->init_volume), (unsigned int)AW88261_MUTE_VOL); in aw88261_dev_set_volume()
37 regmap_read(aw_dev->regmap, AW88261_SYSCTRL2_REG, &reg_value); in aw88261_dev_set_volume()
41 dev_dbg(aw_dev->dev, "value 0x%x , real_value:0x%x", value, real_value); in aw88261_dev_set_volume()
43 regmap_write(aw_dev->regmap, AW88261_SYSCTRL2_REG, real_value); in aw88261_dev_set_volume()
48 struct aw_volume_desc *desc = &aw_dev->volume_desc; in aw88261_dev_fade_in()
49 int fade_in_vol = desc->ctl_volume; in aw88261_dev_fade_in()
[all …]
/kernel/linux/linux-6.6/sound/soc/rockchip/
Drockchip_i2s_tdm.c1 // SPDX-License-Identifier: GPL-2.0-only
2 // ALSA SoC Audio Layer - Rockchip I2S/TDM Controller driver
5 // Author: Sugar Zhang <sugar.zhang@rock-chips.com>
9 #include <linux/clk-provider.h>
25 #define DRV_NAME "rockchip-i2s-tdm"
94 clk_disable_unprepare(i2s_tdm->mclk_tx); in i2s_tdm_disable_unprepare_mclk()
95 clk_disable_unprepare(i2s_tdm->mclk_rx); in i2s_tdm_disable_unprepare_mclk()
99 * i2s_tdm_prepare_enable_mclk - prepare to enable all mclks, disable them on
112 ret = clk_prepare_enable(i2s_tdm->mclk_tx); in i2s_tdm_prepare_enable_mclk()
115 ret = clk_prepare_enable(i2s_tdm->mclk_rx); in i2s_tdm_prepare_enable_mclk()
[all …]
/kernel/linux/linux-5.10/Documentation/sound/soc/
Ddpcm.rst8 Dynamic PCM allows an ALSA PCM device to digitally route its PCM audio to
9 various digital endpoints during the PCM stream runtime. e.g. PCM0 can route
10 digital audio to I2S DAI0, I2S DAI1 or PDM DAI2. This is useful for on SoC DSP
11 drivers that expose several ALSA PCMs and can route to multiple DAIs.
18 DPCM re-uses all the existing component codec, platform and DAI drivers without
23 -------------------------------------
26 document for all examples :-
32 PCM0 <------------> * * <----DAI0-----> Codec Headset
34 PCM1 <------------> * * <----DAI1-----> Codec Speakers
36 PCM2 <------------> * * <----DAI2-----> MODEM
[all …]
/kernel/linux/linux-6.6/Documentation/sound/soc/
Ddpcm.rst8 Dynamic PCM allows an ALSA PCM device to digitally route its PCM audio to
9 various digital endpoints during the PCM stream runtime. e.g. PCM0 can route
10 digital audio to I2S DAI0, I2S DAI1 or PDM DAI2. This is useful for on SoC DSP
11 drivers that expose several ALSA PCMs and can route to multiple DAIs.
18 DPCM re-uses all the existing component codec, platform and DAI drivers without
23 -------------------------------------
26 document for all examples :-
32 PCM0 <------------> * * <----DAI0-----> Codec Headset
34 PCM1 <------------> * * <----DAI1-----> Codec Speakers
36 PCM2 <------------> * * <----DAI2-----> MODEM
[all …]
/kernel/linux/linux-6.6/include/media/
Dv4l2-subdev.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * V4L2 sub-device support header.
12 #include <linux/v4l2-subdev.h>
13 #include <media/media-entity.h>
14 #include <media/v4l2-async.h>
15 #include <media/v4l2-common.h>
16 #include <media/v4l2-dev.h>
17 #include <media/v4l2-fh.h>
18 #include <media/v4l2-mediabus.h>
44 * struct v4l2_decode_vbi_line - used to decode_vbi_line
[all …]
/kernel/linux/linux-5.10/include/media/
Dv4l2-subdev.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * V4L2 sub-device support header.
12 #include <linux/v4l2-subdev.h>
13 #include <media/media-entity.h>
14 #include <media/v4l2-async.h>
15 #include <media/v4l2-common.h>
16 #include <media/v4l2-dev.h>
17 #include <media/v4l2-fh.h>
18 #include <media/v4l2-mediabus.h>
43 * struct v4l2_decode_vbi_line - used to decode_vbi_line
[all …]
/kernel/linux/linux-5.10/sound/pci/ice1712/
Dice1724.c1 // SPDX-License-Identifier: GPL-2.0-or-later
67 static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */
105 /* check whether the clock mode is spdif-in */
116 return (!ice->is_spdif_master(ice)) && PRO_RATE_LOCKED; in is_pro_rate_locked()
135 dev_dbg(ice->card->dev, "snd_vt1724_ac97_ready: timeout\n"); in snd_vt1724_ac97_ready()
145 dev_dbg(ice->card->dev, "snd_vt1724_ac97_wait_bit: timeout\n"); in snd_vt1724_ac97_wait_bit()
146 return -EIO; in snd_vt1724_ac97_wait_bit()
153 struct snd_ice1712 *ice = ac97->private_data; in snd_vt1724_ac97_write()
158 old_cmd |= ac97->num; in snd_vt1724_ac97_write()
167 struct snd_ice1712 *ice = ac97->private_data; in snd_vt1724_ac97_read()
[all …]
/kernel/linux/linux-6.6/sound/pci/ice1712/
Dice1724.c1 // SPDX-License-Identifier: GPL-2.0-or-later
48 static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */
86 /* check whether the clock mode is spdif-in */
97 return (!ice->is_spdif_master(ice)) && PRO_RATE_LOCKED; in is_pro_rate_locked()
116 dev_dbg(ice->card->dev, "snd_vt1724_ac97_ready: timeout\n"); in snd_vt1724_ac97_ready()
126 dev_dbg(ice->card->dev, "snd_vt1724_ac97_wait_bit: timeout\n"); in snd_vt1724_ac97_wait_bit()
127 return -EIO; in snd_vt1724_ac97_wait_bit()
134 struct snd_ice1712 *ice = ac97->private_data; in snd_vt1724_ac97_write()
139 old_cmd |= ac97->num; in snd_vt1724_ac97_write()
148 struct snd_ice1712 *ice = ac97->private_data; in snd_vt1724_ac97_read()
[all …]
/kernel/linux/patches/linux-5.10/imx8mm_patch/patches/
D0009_linux_sound.patch7 Change-Id: Ic34341fbcce5e6d02fefc2acad4ea1058da94b66
9 diff --git a/sound/core/pcm_dmaengine.c b/sound/core/pcm_dmaengine.c
11 --- a/sound/core/pcm_dmaengine.c
13 @@ -125,6 +125,8 @@ void snd_dmaengine_pcm_set_config_from_dai_data(
16 slave_config->slave_id = dma_data->slave_id;
17 + slave_config->peripheral_config = dma_data->peripheral_config;
18 + slave_config->peripheral_size = dma_data->peripheral_size;
22 diff --git a/sound/soc/codecs/hdmi-codec.c b/sound/soc/codecs/hdmi-codec.c
24 --- a/sound/soc/codecs/hdmi-codec.c
25 +++ b/sound/soc/codecs/hdmi-codec.c
[all …]
/kernel/linux/linux-6.6/drivers/media/i2c/
Dtvaudio.c14 * Copyright(c) 2005-2008 Mauro Carvalho Chehab
15 * - Some cleanups, code fixes, etc
16 * - Convert it to V4L2 API
21 * debug - set to 1 if you'd like to see debug messages
40 #include <media/v4l2-device.h>
41 #include <media/v4l2-ctrls.h>
43 /* ---------------------------------------------------------------------- */
53 #define UNSET (-1U)
55 /* ---------------------------------------------------------------------- */
97 /* functions to convert the values (v4l -> chip) */
[all …]
/kernel/linux/linux-5.10/drivers/media/i2c/
Dtvaudio.c14 * Copyright(c) 2005-2008 Mauro Carvalho Chehab
15 * - Some cleanups, code fixes, etc
16 * - Convert it to V4L2 API
21 * debug - set to 1 if you'd like to see debug messages
40 #include <media/v4l2-device.h>
41 #include <media/v4l2-ctrls.h>
43 /* ---------------------------------------------------------------------- */
53 #define UNSET (-1U)
55 /* ---------------------------------------------------------------------- */
97 /* functions to convert the values (v4l -> chip) */
[all …]
/kernel/linux/linux-5.10/sound/soc/
Dsoc-core.c1 // SPDX-License-Identifier: GPL-2.0+
3 // soc-core.c -- ALSA SoC Audio Layer
11 // with code, comments and ideas from :-
18 // o Support TDM on PCM and I2S
40 #include <sound/soc-dpcm.h>
41 #include <sound/soc-topology.h>
42 #include <sound/soc-link.h>
76 return sprintf(buf, "%ld\n", rtd->pmdown_time); in pmdown_time_show()
86 ret = kstrtol(buf, 10, &rtd->pmdown_time); in pmdown_time_set()
110 return attr->mode; /* always visible */ in soc_dev_attr_is_visible()
[all …]

12