/Linux-v6.6/Documentation/sound/soc/ |
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 …]
|
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 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 27 ASoC Codec driver breakdown [all …]
|
/Linux-v6.6/sound/pci/hda/ |
D | patch_ca0132.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 53 #define DMA_OVERLAY_FRAME_SIZE_NWORDS 2 74 #define DESKTOP_EFX_FILE "ctefx-desktop.bin" 75 #define R3DI_EFX_FILE "ctefx-r3di.bin" 83 static const char *const dirstr[2] = { "Playback", "Capture" }; 85 #define NUM_OF_OUTPUTS 2 86 static const char *const out_type_str[2] = { "Speakers", "Headphone" }; 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) [all …]
|
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. All rights reserved. 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 …]
|
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 …]
|
D | patch_cirrus.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 66 /* Vendor-specific processing widget */ 79 * 1 = digital immediate, analog zero-cross 80 * 2 = digtail & analog soft-ramp 81 * 3 = digital soft-ramp, analog zero-cross 85 #define CS_COEF_ADC_LI_SZC_MODE (3 << 0) /* SZC setup for line-in */ 86 /* PGA mode: 0 = differential, 1 = signle-ended */ 88 #define CS_COEF_ADC_LI_PGA_MODE (1 << 6) /* PGA setup for line-in */ 92 * 1 = zero-cross 93 * 2 = soft-ramp [all …]
|
D | patch_analog.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 * Copyright (c) 2005-2007 Takashi Iwai <tiwai@suse.de> 44 ((spec)->beep_amp = HDA_COMPOSE_AMP_VAL(nid, 1, idx, dir)) /* mono */ 50 static int create_beep_ctls(struct hda_codec *codec) in create_beep_ctls() argument 52 struct ad198x_spec *spec = codec->spec; in create_beep_ctls() 55 if (!spec->beep_amp) in create_beep_ctls() 58 for (knew = ad_beep_mixer ; knew->name; knew++) { in create_beep_ctls() 61 kctl = snd_ctl_new1(knew, codec); in create_beep_ctls() 63 return -ENOMEM; in create_beep_ctls() 64 kctl->private_value = spec->beep_amp; in create_beep_ctls() [all …]
|
D | hda_codec.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Universal Interface for Intel High Definition Audio Codec 27 #define codec_in_pm(codec) snd_hdac_is_in_pm(&codec->core) argument 28 #define hda_codec_is_power_on(codec) snd_hdac_is_power_on(&codec->core) argument 29 #define codec_has_epss(codec) \ argument 30 ((codec)->core.power_caps & AC_PWRST_EPSS) 31 #define codec_has_clkstop(codec) \ argument 32 ((codec)->core.power_caps & AC_PWRST_CLKSTOP) 35 * Send and receive a verb - passed to exec_verb override for hdac_device 40 struct hda_codec *codec = container_of(dev, struct hda_codec, core); in codec_exec_verb() local [all …]
|
D | hda_eld.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 21 ELD_VER_CEA_861D = 2, 28 CEA_EDID_VER_CEA861A = 2, 36 "2-reserved", 37 "3-reserved" 43 AUDIO_CODING_TYPE_AC3 = 2, 66 AUDIO_CODING_XTYPE_HE_AAC2 = 2, 74 /* 2 */ "AC-3", 78 /* 6 */ "AAC-LC", 82 /* 10 */ "E-AC-3/DD+ (Dolby Digital Plus)", [all …]
|
D | patch_cs8409.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 22 static int cs8409_parse_auto_config(struct hda_codec *codec) in cs8409_parse_auto_config() argument 24 struct cs8409_spec *spec = codec->spec; in cs8409_parse_auto_config() 28 err = snd_hda_parse_pin_defcfg(codec, &spec->gen.autocfg, NULL, 0); in cs8409_parse_auto_config() 32 err = snd_hda_gen_parse_auto_config(codec, &spec->gen.autocfg); in cs8409_parse_auto_config() 37 if (spec->gen.dyn_adc_switch) { in cs8409_parse_auto_config() 40 for (i = 0; i < spec->gen.input_mux.num_items; i++) { in cs8409_parse_auto_config() 41 int idx = spec->gen.dyn_adc_idx[i]; in cs8409_parse_auto_config() 45 snd_hda_gen_fix_pin_power(codec, spec->gen.adc_nids[idx]); in cs8409_parse_auto_config() 55 static struct cs8409_spec *cs8409_alloc_spec(struct hda_codec *codec) in cs8409_alloc_spec() argument [all …]
|
D | hda_beep.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Digital Beep Input Interface for HD-audio codec 26 struct hda_codec *codec = beep->codec; in generate_tone() local 28 if (tone && !beep->playing) { in generate_tone() 29 snd_hda_power_up(codec); in generate_tone() 30 if (beep->power_hook) in generate_tone() 31 beep->power_hook(beep, true); in generate_tone() 32 beep->playing = 1; in generate_tone() 34 snd_hda_codec_write(codec, beep->nid, 0, in generate_tone() 36 if (!tone && beep->playing) { in generate_tone() [all …]
|
D | patch_si3054.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Universal Interface for Intel High Definition Audio Codec 5 * HD audio interface patch for Silicon Labs 3054/5 modem codec 7 * Copyright (c) 2005 Sasha Khapyorsky <sashak@alsa-project.org> 24 #define SI3054_EXTENDED_MID 2 63 /* si3054 codec registers (nodes) access macros */ 64 #define GET_REG(codec,reg) (snd_hda_codec_read(codec,reg,0,SI3054_VERB_READ_NODE,0)) argument 65 #define SET_REG(codec,reg,val) (snd_hda_codec_write(codec,reg,0,SI3054_VERB_WRITE_NODE,val)) argument 66 #define SET_REG_CACHE(codec,reg,val) \ argument 67 snd_hda_codec_write_cache(codec,reg,0,SI3054_VERB_WRITE_NODE,val) [all …]
|
/Linux-v6.6/sound/pci/ali5451/ |
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 143 #define MAX_CODECS 2 180 struct snd_ali *codec; member 185 int count; /* runtime->period_size */ 187 /* --- */ 266 static inline unsigned int snd_ali_5451_peek(struct snd_ali *codec, in snd_ali_5451_peek() argument [all …]
|
/Linux-v6.6/sound/soc/codecs/ |
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> 72 #define REG_AICR_ADC_SERIAL BIT(2) 87 #define REG_CR3_ADC_INSEL_OFFSET 2 105 #define REG_PMR1_SB_MIC2_OFFSET 2 111 #define REG_PMR2_SB_BTL_OFFSET 2 120 #define REG_ICR_RDO_MASK BIT(2) 129 #define REG_IFR_RDO BIT(2) [all …]
|
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> 149 #define REG_IMR_RDO_MASK BIT(2) 158 #define REG_IFR_RDO BIT(2) 177 /* codec private data */ 185 static int jz4770_codec_set_bias_level(struct snd_soc_component *codec, in jz4770_codec_set_bias_level() argument 188 struct jz_codec *jz_codec = snd_soc_component_get_drvdata(codec); in jz4770_codec_set_bias_level() 189 struct regmap *regmap = jz_codec->regmap; in jz4770_codec_set_bias_level() [all …]
|
/Linux-v6.6/Documentation/devicetree/bindings/pinctrl/ |
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-v6.6/sound/soc/ti/ |
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) 50 unsigned int pll_rates[2]; 61 struct clk *parent[2]; 65 struct j721e_audio_clocks codec; member 81 u32 pll_rates[2]; 82 unsigned int hsdiv_rates[2]; [all …]
|
/Linux-v6.6/drivers/staging/media/sunxi/cedrus/ |
D | cedrus_h264.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 12 #include <media/videobuf2-dma-contig.h> 51 cedrus_write(dev, VE_AVC_SRAM_PORT_OFFSET, off << 2); in cedrus_h264_write_sram() 53 while (count--) in cedrus_h264_write_sram() 60 dma_addr_t addr = buf->codec.h264.mv_col_buf_dma; in cedrus_h264_mv_col_buf_addr() 63 addr += field * buf->codec.h264.mv_col_buf_size / 2; in cedrus_h264_mv_col_buf_addr() 74 struct vb2_buffer *vbuf = &buf->m2m_buf.vb.vb2_buf; in cedrus_fill_ref_pic() 76 pic->top_field_order_cnt = cpu_to_le32(top_field_order_cnt); in cedrus_fill_ref_pic() 77 pic->bottom_field_order_cnt = cpu_to_le32(bottom_field_order_cnt); in cedrus_fill_ref_pic() 78 pic->frame_info = cpu_to_le32(buf->codec.h264.pic_type << 8); in cedrus_fill_ref_pic() [all …]
|
/Linux-v6.6/sound/soc/generic/ |
D | simple-card.c | 1 // SPDX-License-Identifier: GPL-2.0 16 #include <sound/soc-dai.h> 21 #define DAI "sound-dai" 22 #define CELL "#sound-dai-cells" 23 #define PREFIX "simple-audio-card," 41 * Get node via "sound-dai = <&phandle port>" in asoc_simple_parse_platform() 50 dlc->of_node = args.np; in asoc_simple_parse_platform() 68 * Get node via "sound-dai = <&phandle port>" in asoc_simple_parse_dai() 80 dlc->dai_name = snd_soc_dai_name_get(dai); in asoc_simple_parse_dai() 81 dlc->dai_args = snd_soc_copy_dai_args(dev, &args); in asoc_simple_parse_dai() [all …]
|
/Linux-v6.6/Documentation/devicetree/bindings/sound/ |
D | ti,j721e-cpb-ivi-audio.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 5 --- 6 $id: http://devicetree.org/schemas/sound/ti,j721e-cpb-ivi-audio.yaml# 7 $schema: http://devicetree.org/meta-schemas/core.yaml# 12 - Peter Ujfalusi <peter.ujfalusi@gmail.com> 17 sound/ti,j721e-cpb-audio.txt 31 PLL4 ---> PLL4_HSDIV0 ---> MCASP10_AUXCLK ---> McASP10.auxclk 32 | |-> MCASP0_AUXCLK ---> McASP0.auxclk 34 |-> PLL4_HSDIV2 ---> AUDIO_REFCLK2 ---> pcm3168a.SCKI 35 |-> AUDIO_REFCLK0 ---> pcm3168a_a/b.SCKI [all …]
|
D | davinci-evm-audio.txt | 1 * Texas Instruments SoC audio setups with TLV320AIC3X Codec 4 - compatible : "ti,da830-evm-audio" : forDM365/DA8xx/OMAPL1x/AM33xx 5 - ti,model : The user-visible name of this sound complex. 6 - ti,audio-codec : The phandle of the TLV320AIC3x audio codec 7 - ti,mcasp-controller : The phandle of the McASP controller 8 - ti,audio-routing : A list of the connections between audio components. 11 sinks are the codec's pins, and the jacks on the board: 14 - ti,codec-clock-rate : The Codec Clock rate (in Hz) applied to the Codec. 15 - clocks : Reference to the master clock 16 - clock-names : The clock should be named "mclk" [all …]
|
/Linux-v6.6/Documentation/sound/hd-audio/ |
D | notes.rst | 2 More Notes on HD-Audio Driver 11 HD-audio is the new standard on-board audio component on modern PCs 12 after AC97. Although Linux has been supporting HD-audio since long 15 This document explains the brief trouble-shooting and debugging 16 methods for the HD-audio hardware. 18 The HD-audio component consists of two parts: the controller chip and 19 the codec chips on the HD-audio bus. Linux provides a single driver 20 for all controllers, snd-hda-intel. Although the driver name contains 21 a word of a well-known hardware vendor, it's not specific to it but for 22 all controller chips by other companies. Since the HD-audio [all …]
|
/Linux-v6.6/sound/aoa/codecs/ |
D | onyx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Apple Onboard Audio driver for Onyx codec 7 * This is a driver for the pcm3052 codec chip (codenamed Onyx) 10 * The Onyx codec has the following connections (listed by the bit 14 * 2: line input 24 * But snd-aoa assumes that there's at most one card, so 36 MODULE_DESCRIPTION("pcm3052 (onyx) codec driver for snd-aoa"); 43 #define PFX "snd-aoa-codec-onyx: " 46 /* cache registers 65 to 80, they are write-only! */ 49 struct aoa_codec codec; member [all …]
|
D | tas.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Apple Onboard Audio driver for tas codec 8 * - How to distinguish between 3004 and versions? 11 * - This codec driver doesn't honour the 'connected' 15 * - Driver assumes that the microphone is always 17 * the input. This should also be a codec-dependent 18 * flag, maybe the codec should have 3 different 23 * - As Apple notes in their code, the tas3004 seems 36 * - this should actually register *two* aoa_codec 49 * codec to refine the transfer_info items in the [all …]
|
/Linux-v6.6/sound/hda/ |
D | hdac_device.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * HD-audio codec core device 18 static void setup_fg_nodes(struct hdac_device *codec); 19 static int get_codec_vendor_name(struct hdac_device *codec); 27 * snd_hdac_device_init - initialize the HD-audio codec base device 28 * @codec: device to initialize 31 * @addr: codec address 40 int snd_hdac_device_init(struct hdac_device *codec, struct hdac_bus *bus, in snd_hdac_device_init() argument 47 dev = &codec->dev; in snd_hdac_device_init() 49 dev->parent = bus->dev; in snd_hdac_device_init() [all …]
|