| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/sound/ |
| D | rockchip,i2s-tdm.yaml | 1 # 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/ |
| D | tegra30_i2s.c | 1 // 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 …]
|
| D | tegra210_i2s.c | 1 // 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/ |
| D | tegra30_i2s.c | 1 // 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 …]
|
| D | tegra210_i2s.c | 1 // 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/ |
| D | smdk_wm8994.c | 1 // 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/ |
| D | smdk_wm8994.c | 1 // 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/ |
| D | cpcap.c | 1 // 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 …]
|
| D | hdmi-codec.c | 1 // 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 …]
|
| D | ab8500-codec.c | 1 // 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/ |
| D | hdmi-codec.c | 1 // 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 …]
|
| D | cpcap.c | 1 // 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 …]
|
| D | ab8500-codec.c | 1 // 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 …]
|
| D | aw88261.c | 1 // 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, ®_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/ |
| D | rockchip_i2s_tdm.c | 1 // 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/ |
| D | dpcm.rst | 8 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/ |
| D | dpcm.rst | 8 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/ |
| D | v4l2-subdev.h | 1 /* 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/ |
| D | v4l2-subdev.h | 1 /* 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/ |
| D | ice1724.c | 1 // 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/ |
| D | ice1724.c | 1 // 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/ |
| D | 0009_linux_sound.patch | 7 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/ |
| D | tvaudio.c | 14 * 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/ |
| D | tvaudio.c | 14 * 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/ |
| D | soc-core.c | 1 // 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 …]
|