/linux/Documentation/sound/soc/ |
H A D | codec-to-codec.rst | 2 Creating codec to codec dai link for ALSA dapm 5 Mostly the flow of audio is always from CPU to codec so your system 9 --------- --------- 11 CPU -------> codec 13 --------- --------- 18 --------- 20 codec-2 22 --------- 24 dai-2 26 ---------- --------- [all …]
|
H A D | codec.rst | 2 ASoC Codec Class Driver 5 The codec class driver is generic and hardware independent code that configures 6 the codec, FM, MODEM, BT or external DSP to provide audio capture and playback. 11 Each codec class driver *must* provide the following features:- 13 1. Codec DAI and PCM configuration 14 2. Codec control IO - using RegMap API 15 3. Mixers and audio controls 16 4. Codec audio operations 20 Optionally, codec drivers can also provide:- 24 Its probably best to use this guide in conjunction with the existing codec [all …]
|
/linux/sound/soc/codecs/ |
H A D | jz4760.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Ingenic JZ4760 CODEC driver 18 #include <sound/soc-dai.h> 19 #include <sound/soc-dapm.h> 67 #define REG_AICR_DAC_SERIAL BIT(3) 78 #define REG_CR1_BTL_MUTE_OFFSET 3 88 #define REG_CR3_ADC_INSEL_MASK GENMASK(3, REG_CR3_ADC_INSEL_OFFSET) 95 #define REG_CCR1_CRYSTAL_MASK GENMASK(3, 0) 98 #define REG_CCR2_ADC_FREQ_MASK GENMASK(3, 0) 104 #define REG_PMR1_SB_MIC1_OFFSET 3 [all …]
|
H A D | jz4770.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Ingenic JZ4770 CODEC driver 17 #include <sound/soc-dai.h> 18 #include <sound/soc-dapm.h> 101 #define REG_CR_HP_SB_HPCM_OFFSET 3 109 #define REG_CR_DAC_LRSWAP BIT(3) 125 #define REG_CR_ADC_LRSWAP BIT(3) 148 #define REG_IMR_RUP_MASK BIT(3) 157 #define REG_IFR_RUP BIT(3) 177 /* codec private data */ [all …]
|
/linux/sound/pci/hda/ |
H A D | hda_eld.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 29 CEA_EDID_VER_CEA861BCD = 3, 36 "2-reserved", 37 "3-reserved" 44 AUDIO_CODING_TYPE_MPEG1 = 3, 67 AUDIO_CODING_XTYPE_MPEG_SURROUND = 3, 74 /* 2 */ "AC-3", 75 /* 3 */ "MPEG1", 78 /* 6 */ "AAC-LC", 82 /* 10 */ "E-AC-3/DD+ (Dolby Digital Plus)", [all …]
|
H A D | patch_ca0132.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 62 #define MEM_CONNID_MICIN1 3 74 #define DESKTOP_EFX_FILE "ctefx-desktop.bin" 75 #define R3DI_EFX_FILE "ctefx-r3di.bin" 98 static const char *const in_src_str[3] = { "Microphone", "Line In", "Front Microphone" }; 99 #define IN_SRC_NUM_OF_INPUTS 3 115 #define VNODES_COUNT (VNODE_END_NID - VNODE_START_NID) 126 #define OUT_EFFECTS_COUNT (OUT_EFFECT_END_NID - OUT_EFFECT_START_NID) 134 #define IN_EFFECTS_COUNT (IN_EFFECT_END_NID - IN_EFFECT_START_NID) 154 #define EFFECTS_COUNT (EFFECT_END_NID - EFFECT_START_NID) [all …]
|
H A D | hda_generic.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * Generic BIOS auto-parser helper functions for HD-audio 16 /* table entry for multi-io paths */ 18 hda_nid_t pin; /* multi-io widget pin NID */ 20 unsigned int ctl_in; /* cached input-pin control value */ 25 * For output, stored in the order of DAC -> ... -> pin, 26 * for input, pin -> ... -> ADC. 30 * multi[] indicates whether it's a selector widget with multi-connectors 56 /* mic/line-in auto switching entry */ 58 #define MAX_AUTO_MIC_PINS 3 [all …]
|
H A D | hda_generic.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Universal Interface for Intel High Definition Audio Codec 32 * snd_hda_gen_spec_init - initialize hda_gen_spec struct 39 snd_array_init(&spec->kctls, sizeof(struct snd_kcontrol_new), 32); in snd_hda_gen_spec_init() 40 snd_array_init(&spec->paths, sizeof(struct nid_path), 8); in snd_hda_gen_spec_init() 41 snd_array_init(&spec->loopback_list, sizeof(struct hda_amp_list), 8); in snd_hda_gen_spec_init() 42 mutex_init(&spec->pcm_mutex); in snd_hda_gen_spec_init() 48 * snd_hda_gen_add_kctl - Add a new kctl_new struct from the template 62 struct snd_kcontrol_new *knew = snd_array_new(&spec->kctls); in snd_hda_gen_add_kctl() 67 knew->name = kstrdup(name, GFP_KERNEL); in snd_hda_gen_add_kctl() [all …]
|
H A D | patch_realtek.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Universal Interface for Intel High Definition Audio Codec 38 /* extra amp-initialization sequence types */ 86 /* codec parameterization */ 114 void (*init_hook)(struct hda_codec *codec); 115 void (*power_hook)(struct hda_codec *codec); 116 void (*shutup)(struct hda_codec *codec); 145 static void coef_mutex_lock(struct hda_codec *codec) in coef_mutex_lock() argument 147 struct alc_spec *spec = codec->spec; in coef_mutex_lock() 149 snd_hda_power_up_pm(codec); in coef_mutex_lock() [all …]
|
H A D | patch_hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 * patch_hdmi.c - routines for HDMI/DisplayPort codecs 6 * Copyright(c) 2008-2010 Intel Corporation 78 struct hda_codec *codec; member 82 struct hdmi_pcm *pcm; /* pointer to spec->pcm_rec[n] dynamically*/ 83 int pcm_idx; /* which pcm is attached. -1 means no pcm is attached */ 90 bool chmap_set; /* channel-map override by ALSA API? */ 91 unsigned char chmap[8]; /* ALSA API channel-map */ 99 int (*pin_get_eld)(struct hda_codec *codec, hda_nid_t pin_nid, 102 void (*pin_setup_infoframe)(struct hda_codec *codec, hda_nid_t pin_nid, [all …]
|
/linux/Documentation/devicetree/bindings/sound/ |
H A D | qcom,wcd939x.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: Qualcomm WCD9380/WCD9385 Audio Codec 10 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 13 Qualcomm WCD9390/WCD9395 Codec is a standalone Hi-Fi audio codec IC. 15 The WCD9390/WCD9395 IC has a functionally separate USB-C Mux subsystem 17 The Audio Headphone and Microphone data path between the Codec and the USB-C Mux 18 subsystems are external to the IC, thus requiring DT port-endpoint graph description 19 to handle USB-C altmode & orientation switching for Audio Accessory Mode. [all …]
|
H A D | qcom,wcd937x.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: Qualcomm WCD9370/WCD9375 Audio Codec 10 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 13 Qualcomm WCD9370/WCD9375 Codec is a standalone Hi-Fi audio codec IC. 17 - $ref: dai-common.yaml# 18 - $ref: qcom,wcd93xx-common.yaml# 23 - const: qcom,wcd9370-codec 24 - items: [all …]
|
H A D | qcom,wcd938x.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: Qualcomm WCD9380/WCD9385 Audio Codec 10 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 13 Qualcomm WCD9380/WCD9385 Codec is a standalone Hi-Fi audio codec IC. 17 - $ref: dai-common.yaml# 18 - $ref: qcom,wcd93xx-common.yaml# 23 - qcom,wcd9380-codec 24 - qcom,wcd9385-codec [all …]
|
H A D | amlogic,axg-sound-card.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/amlogic,axg-sound-card.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Jerome Brunet <jbrunet@baylibre.com> 13 - $ref: sound-card-common.yaml# 17 const: amlogic,axg-sound-card 19 audio-aux-devs: 20 $ref: /schemas/types.yaml#/definitions/phandle-array 23 audio-widgets: [all …]
|
H A D | rockchip,rk3308-codec.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/sound/rockchip,rk3308-codec.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Rockchip RK3308 Internal Codec 10 This is the audio codec embedded in the Rockchip RK3308 11 SoC. It has 8 24-bit ADCs and 2 24-bit DACs. The maximum supported 17 The RK3308 audio codec has 8 independent capture channels, but some 19 * grp 0 -- MIC1 / MIC2 20 * grp 1 -- MIC3 / MIC4 [all …]
|
/linux/sound/soc/ti/ |
H A D | j721e-evm.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com 17 #include "davinci-mcasp.h" 21 * CPB: 2 (mcasp10 + codec) 22 * IVI: 3 (mcasp0 + 2x codec) 65 struct j721e_audio_clocks codec; member 92 SND_SOC_DAPM_HP("CPB Stereo HP 3", NULL), 100 {"CPB Stereo HP 1", NULL, "codec-1 AOUT1L"}, 101 {"CPB Stereo HP 1", NULL, "codec-1 AOUT1R"}, 102 {"CPB Stereo HP 2", NULL, "codec-1 AOUT2L"}, [all …]
|
/linux/sound/arm/ |
H A D | pxa2xx-ac97-regs.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 10 #define POCR_FEIE (1 << 3) /* FIFO Error Interrupt Enable */ 14 #define PICR_FEIE (1 << 3) /* FIFO Error Interrupt Enable */ 18 #define MCCR_FEIE (1 << 3) /* FIFO Error Interrupt Enable */ 32 #define GCR_ACLINK_OFF (1 << 3) /* AC-link Shut Off */ 35 #define GCR_GIE (1 << 0) /* Codec GPI Interrupt Enable */ 43 #define PISR_EOC (1 << 3) /* DMA End-of-Chain (exclusive clear) */ 48 #define MCSR_EOC (1 << 3) /* DMA End-of-Chain (exclusive clear) */ 55 #define GSR_BIT3SLT12 (1 << 14) /* Bit 3 of slot 12 */ 60 #define GSR_SCR (1 << 9) /* Secondary Codec Ready */ [all …]
|
/linux/drivers/media/pci/zoran/ |
H A D | zr36050.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 22 /* codec io API */ 37 * read/write via codec layer (registers are located in the master device) 43 struct zoran *zr = videocodec_to_zoran(ptr->codec); in zr36050_read() 47 if (ptr->codec->master_data->readreg) in zr36050_read() 48 value = (ptr->codec->master_data->readreg(ptr->codec, reg)) & 0xFF; in zr36050_read() 50 zrdev_err(zr, "%s: invalid I/O setup, nothing read!\n", ptr->name); in zr36050_read() 52 zrdev_dbg(zr, "%s: reading from 0x%04x: %02x\n", ptr->name, reg, value); in zr36050_read() 59 struct zoran *zr = videocodec_to_zoran(ptr->codec); in zr36050_write() 61 zrdev_dbg(zr, "%s: writing 0x%02x to 0x%04x\n", ptr->name, value, reg); in zr36050_write() [all …]
|
H A D | zr36060.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 22 /* codec io API */ 37 * read/write via codec layer (registers are located in the master device) 44 struct zoran *zr = videocodec_to_zoran(ptr->codec); in zr36060_read() 47 if (ptr->codec->master_data->readreg) in zr36060_read() 48 value = (ptr->codec->master_data->readreg(ptr->codec, reg)) & 0xff; in zr36060_read() 50 zrdev_err(zr, "%s: invalid I/O setup, nothing read!\n", ptr->name); in zr36060_read() 57 struct zoran *zr = videocodec_to_zoran(ptr->codec); in zr36060_write() 62 if (ptr->codec->master_data->writereg) in zr36060_write() 63 ptr->codec->master_data->writereg(ptr->codec, reg, value); in zr36060_write() [all …]
|
/linux/sound/pci/ac97/ |
H A D | ac97_pcm.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 * Universal interface for Audio Codec '97 33 /* 3&4 front, 7&8 rear, 6&9 center/lfe */ 34 AC97_PCM_FRONT_DAC_RATE, /* slot 3 */ 46 0xff, /* slot 3 */ 57 /* 6&9 front, 10&11 rear, 3&4 center/lfe */ 58 AC97_PCM_LFE_DAC_RATE, /* slot 3 */ 69 /* 10&11 front, 3&4 rear, 7&8 center/lfe */ 70 AC97_PCM_SURR_DAC_RATE, /* slot 3 */ 84 /* 3&4 front, 7&8 front (t+1) */ [all …]
|
/linux/sound/pci/ |
H A D | azt3328.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* azt3328.c - driver for Aztech AZF3328 based soundcards (e.g. PCI168). 3 * Copyright (C) 2002, 2005 - 2011 by Andreas Mohr <andi AT lisas.de> 7 * found in a Fujitsu-Siemens PC ("Cordant", aluminum case). 13 * Keywords: Windows XP Vista 168nt4-125.zip 168win95-125.zip PCI 168 download 17 * despite the high level of Internet ignorance - as usual :-P - 18 * about very good support for this card - on Linux!) 25 * in the first place >:-P}), 27 * (3 weeks' worth of evenings filled with driver work). 34 * for compatibility reasons) from Azfin (joint-venture of Aztech and Fincitec, [all …]
|
/linux/Documentation/devicetree/bindings/pinctrl/ |
H A D | cirrus,lochnagar.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - patches@opensource.cirrus.com 14 Smart CODEC and Amp devices. It allows the connection of most Cirrus 15 Logic devices on mini-cards, as well as allowing connection of various 26 [2] Pinctrl: ../pinctrl/pinctrl-bindings.txt 29 [3] include/dt-bindings/pinctrl/lochnagar.h 37 - cirrus,lochnagar-pinctrl 39 gpio-controller: true [all …]
|
/linux/Documentation/devicetree/bindings/net/ |
H A D | lantiq,pef2256.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Herve Codina <herve.codina@bootlin.com> 20 - const: lantiq,pef2256 27 - description: Master Clock 28 - description: System Clock Receive 29 - description: System Clock Transmit 31 clock-names: 33 - const: mclk [all …]
|
/linux/drivers/media/platform/qcom/venus/ |
H A D | hfi_platform_v4.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 .codec = HFI_VIDEO_CODEC_H264, 15 .caps[3] = {HFI_CAPABILITY_BITRATE, 1, 120000000, 1}, 21 .caps[9] = {HFI_CAPABILITY_MAX_WORKMODES, 1, 3, 1}, 26 .pl[3] = {HFI_H264_PROFILE_CONSTRAINED_BASE, HFI_H264_LEVEL_52}, 32 .fmts[3] = {HFI_BUFFER_OUTPUT2, HFI_COLOR_FORMAT_NV21}, 35 .codec = HFI_VIDEO_CODEC_HEVC, 41 .caps[3] = {HFI_CAPABILITY_BITRATE, 1, 120000000, 1}, 47 .caps[9] = {HFI_CAPABILITY_MAX_WORKMODES, 1, 3, 1}, 55 .fmts[3] = {HFI_BUFFER_OUTPUT2, HFI_COLOR_FORMAT_NV12}, [all …]
|
/linux/sound/pci/ali5451/ |
H A D | ali5451.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 8 * -- 11 * -- 21 #include <linux/dma-mapping.h> 141 #define ALI_REG(codec, x) ((codec)->port + x) argument 180 struct snd_ali *codec; member 185 int count; /* runtime->period_size */ 187 /* --- */ 264 static inline unsigned int snd_ali_5451_peek(struct snd_ali *codec, in snd_ali_5451_peek() argument 267 return (unsigned int)inl(ALI_REG(codec, port)); in snd_ali_5451_peek() [all …]
|