/Linux-v6.1/sound/pci/hda/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 2 menu "HD-Audio" 23 This option enables the HD-audio controller. Don't forget 24 to choose the appropriate codec options below. 26 To compile this driver as a module, choose M here: the module 27 will be called snd-hda-intel. 42 To compile this driver as a module, choose M here: the module 43 will be called snd-hda-tegra. 48 bool "Build hwdep interface for HD-audio driver" 51 Say Y here to build a hwdep interface for HD-audio driver. [all …]
|
D | hda_bind.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * HD-audio codec driver binding 20 * find a matching codec id 24 struct hda_codec *codec = container_of(dev, struct hda_codec, core); in hda_codec_match() local 25 struct hda_codec_driver *driver = in hda_codec_match() local 29 u32 id = codec->probe_id ? codec->probe_id : codec->core.vendor_id; in hda_codec_match() 30 u32 rev_id = codec->core.revision_id; in hda_codec_match() 32 for (list = driver->id; list->vendor_id; list++) { in hda_codec_match() 33 if (list->vendor_id == id && in hda_codec_match() 34 (!list->rev_id || list->rev_id == rev_id)) { in hda_codec_match() [all …]
|
/Linux-v6.1/sound/soc/intel/boards/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 44 tristate "Haswell with RT5640 I2S codec" 60 tristate "Broadwell with RT5650 codec" 66 This adds the ASoC machine driver for Intel Broadwell platforms with 67 the RT5650 codec. 72 tristate "Broadwell with RT5677 codec" 83 the RT5677 audio codec. This is a recommended option. 88 tristate "Broadwell with RT286 I2S codec" 103 tristate "Baytrail and Baytrail-CR with RT5640 codec" 110 This adds support for ASoC machine driver for Intel(R) Baytrail and Baytrail-CR [all …]
|
D | bdw-rt5650.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * ASoC machine driver for Intel Broadwell platforms with RT5650 codec 17 #include <sound/soc-acpi.h> 56 /* CODEC BE connections */ 57 {"SSP0 CODEC IN", NULL, "AIF1 Capture"}, 58 {"AIF1 Playback", NULL, "SSP0 CODEC OUT"}, 91 /* The ADSP will covert the FE rate to 48k, max 4-channels */ in broadwell_ssp0_fixup() 92 rate->min = rate->max = 48000; in broadwell_ssp0_fixup() 93 chan->min = 2; in broadwell_ssp0_fixup() 94 chan->max = 4; in broadwell_ssp0_fixup() [all …]
|
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 4 * Cherrytrail and Braswell, with RT5672 codec. 21 #include <sound/soc-acpi.h> 23 #include "../atom/sst-atom-controls.h" 24 #include "../common/soc-intel-quirks.h" 27 /* The platform clock #3 outputs 19.2Mhz clock to codec as I2S MCLK */ 29 #define CHT_CODEC_DAI "rt5670-aif1" 53 struct snd_soc_dapm_context *dapm = w->dapm; in platform_clock_control() 54 struct snd_soc_card *card = dapm->card; in platform_clock_control() [all …]
|
/Linux-v6.1/sound/soc/codecs/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # modular, meaning we can't build the codec driver in with I2C support. 5 # setting - SPI can't be modular so that case doesn't need to be covered. 12 menu "CODEC drivers" 15 tristate "Build all ASoC CODEC drivers" 317 Normally ASoC codec drivers are only built if a machine driver which 319 driver. Selecting this option will allow these drivers to be built 320 without an explicit machine driver for test and development purposes. 373 tristate "Build generic ASoC AC97 CODEC driver" 410 tristate "Analog Devices ADAU1372 CODEC (I2C)" [all …]
|
D | hda.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Copyright(c) 2021-2022 Intel Corporation. All rights reserved. 16 static int hda_codec_create_dais(struct hda_codec *codec, int pcm_count, in hda_codec_create_dais() argument 19 struct device *dev = &codec->core.dev; in hda_codec_create_dais() 26 return -ENOMEM; in hda_codec_create_dais() 28 pcm = list_first_entry(&codec->pcm_list_head, struct hda_pcm, list); in hda_codec_create_dais() 34 dev_info(dev, "creating for %s %d\n", pcm->name, i); in hda_codec_create_dais() 36 drvs[i].name = pcm->name; in hda_codec_create_dais() 41 if (!pcm->stream[dir].substreams) { in hda_codec_create_dais() 42 dev_info(dev, "skipping playback dai for %s\n", pcm->name); in hda_codec_create_dais() [all …]
|
/Linux-v6.1/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 14 problem is broken BIOS, and the rest is the driver implementation. 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 [all …]
|
/Linux-v6.1/Documentation/sound/soc/ |
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 25 driver code in sound/soc/codecs/ [all …]
|
D | overview.rst | 6 provide better ALSA support for embedded system-on-chip processors (e.g. 9 had some limitations:- 11 * Codec drivers were often tightly coupled to the underlying SoC 12 CPU. This is not ideal and leads to code duplication - for example, 18 machine specific code to re-route audio, enable amps, etc., after such an 21 * Drivers tended to power up the entire codec when playing (or 24 power via changing codec oversampling rates, bias currents, etc. 31 features :- 33 * Codec independence. Allows reuse of codec drivers on other platforms 36 * Easy I2S/PCM audio interface setup between codec and SoC. Each SoC [all …]
|
D | dpcm.rst | 14 way as the analog signal is routed in an ASoC codec driver. DPCM uses a DAPM 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 38 PCM3 <------------> * * <----DAI3-----> BT 40 * * <----DAI4-----> DMIC 42 * * <----DAI5-----> FM [all …]
|
D | machine.rst | 2 ASoC Machine Driver 5 The ASoC machine (or board) driver is the code that glues together all the 10 The machine driver can contain codec and platform specific code. It registers 12 the following struct:- 25 * after the codec and DAIs do any PM work. */ 33 /* CPU <--> Codec DAI links */ 41 ---------------- 46 ------------------ 47 The machine driver has pre and post versions of suspend and resume to take care 48 of any machine audio tasks that have to be done before or after the codec, DAIs [all …]
|
/Linux-v6.1/sound/soc/mediatek/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 11 This adds ASoC driver for Mediatek MT2701 boards 17 tristate "ASoc Audio driver for MT2701 with CS42448 codec" 22 This adds ASoC driver for Mediatek MT2701 boards 28 tristate "ASoc Audio driver for MT2701 with WM8960 codec" 32 This adds ASoC driver for Mediatek MT2701 boards 42 This adds ASoC driver for Mediatek MT6797 boards 48 tristate "ASoc Audio driver for MT6797 with MT6351 codec" 52 This adds ASoC driver for Mediatek MT6797 boards 62 This adds ASoC platform driver support for Mediatek MT8173 chip [all …]
|
/Linux-v6.1/sound/ac97/ |
D | bus.c | 1 // SPDX-License-Identifier: GPL-2.0-only 18 #include <sound/ac97/codec.h> 42 return -ENODEV; in ac97_unbound_ctrl_write() 48 return -ENODEV; in ac97_unbound_ctrl_read() 64 return ERR_PTR(-EINVAL); in ac97_codec_find() 66 return ac97_ctrl->codecs[codec_num]; in ac97_codec_find() 80 for_each_child_of_node(ac97_ctrl->parent->of_node, node) { in ac97_of_get_child_device() 96 ac97_ctrl = adev->ac97_ctrl; in ac97_codec_release() 97 ac97_ctrl->codecs[adev->num] = NULL; in ac97_codec_release() 98 of_node_put(dev->of_node); in ac97_codec_release() [all …]
|
/Linux-v6.1/sound/soc/intel/avs/boards/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 13 This adds support for AVS with DA7219 I2S codec configuration. 26 tristate "HD-Audio generic board" 29 This adds support for AVS with HDAudio codec configuration. 36 This adds support for I2S test-board which can be used to verify 45 This adds support for AVS with MAX98357A I2S codec configuration. 55 This adds support for AVS with MAX98373 I2S codec configuration. 65 This adds support for ASoC machine driver with NAU8825 I2S audio codec. 66 It is meant to be used with AVS driver. 76 This adds support for ASoC machine driver with RT274 I2S audio codec. [all …]
|
/Linux-v6.1/sound/aoa/codecs/ |
D | toonie.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Apple Onboard Audio driver for Toonie codec 7 * This is a driver for the toonie codec chip. This chip is present 15 MODULE_DESCRIPTION("toonie codec driver for snd-aoa"); 21 #define PFX "snd-aoa-codec-toonie: " 24 struct aoa_codec codec; member 26 #define codec_to_toonie(c) container_of(c, struct toonie, codec) 85 static int toonie_init_codec(struct aoa_codec *codec) in toonie_init_codec() argument 87 struct toonie *toonie = codec_to_toonie(codec); in toonie_init_codec() 90 if (toonie->codec.connected != 1) in toonie_init_codec() [all …]
|
/Linux-v6.1/include/sound/ac97/ |
D | codec.h | 1 /* SPDX-License-Identifier: GPL-2.0 22 * struct ac97_id - matches a codec device and driver on an ac97 bus 23 * @id: The significant bits if the codec vendor ID1 and ID2 25 * matching. A driver binds to a device when : 27 * @data: Private data used by the driver. 36 * ac97_codec_device - a ac97 codec 38 * @vendor_id: the vendor_id of the codec, as sensed on the AC-link 39 * @num: the codec number, 0 is primary, 1 is first slave, etc ... 40 * @clk: the clock BIT_CLK provided by the codec 41 * @ac97_ctrl: ac97 digital controller on the same AC-link [all …]
|
/Linux-v6.1/sound/soc/ti/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 24 The driver only implements the ASP support which is a subset of 36 - daVinci devices 37 - Sitara line of SoCs (AM335x, AM438x, etc) 38 - OMAP4 39 - DRA7x devices 40 - Keystone devices 41 - K3 devices (am654, j721e) 84 tristate "SoC Audio support for Nokia RX-51" 90 Say Y or M if you want to add support for SoC audio on Nokia RX-51 [all …]
|
/Linux-v6.1/sound/hda/ |
D | hdac_component.c | 1 // SPDX-License-Identifier: GPL-2.0 2 // hdac_component.c - routines for sync between HD-A core and DRM driver 23 * snd_hdac_set_codec_wakeup - Enable / disable HDMI/DP codec wakeup 27 * This function is supposed to be used only by a HD-audio controller 28 * driver that needs the interaction with graphics driver. 37 struct drm_audio_component *acomp = bus->audio_component; in snd_hdac_set_codec_wakeup() 39 if (!acomp || !acomp->ops) in snd_hdac_set_codec_wakeup() 40 return -ENODEV; in snd_hdac_set_codec_wakeup() 42 if (!acomp->ops->codec_wake_override) in snd_hdac_set_codec_wakeup() 45 dev_dbg(bus->dev, "%s codec wakeup\n", in snd_hdac_set_codec_wakeup() [all …]
|
/Linux-v6.1/include/sound/ |
D | hdaudio.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * HD-audio core stuff 12 #include <linux/io-64-nonatomic-lo-hi.h> 22 /* codec node id */ 49 * HD-audio codec base device 55 unsigned int addr; /* codec address */ 72 const char *vendor_name; /* codec vendor name */ 73 const char *chip_name; /* codec chip name */ 97 unsigned int registered:1; /* codec was registered */ 100 /* device/driver type used for matching */ [all …]
|
/Linux-v6.1/sound/soc/sof/intel/ |
D | hda-codec.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) 28 /* load the legacy HDA codec driver */ 29 static int request_codec_module(struct hda_codec *codec) in request_codec_module() argument 35 switch (codec->probe_id) { in request_codec_module() 38 mod = "snd-hda-codec-generic"; in request_codec_module() 42 snd_hdac_codec_modalias(&codec->core, alias, sizeof(alias)); in request_codec_module() 48 dev_dbg(&codec->core.dev, "loading codec module: %s\n", mod); in request_codec_module() 52 return device_attach(hda_codec_dev(codec)); in request_codec_module() 55 static int hda_codec_load_module(struct hda_codec *codec) in hda_codec_load_module() argument 57 int ret = request_codec_module(codec); in hda_codec_load_module() [all …]
|
/Linux-v6.1/sound/aoa/core/ |
D | core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Apple Onboard Audio driver core 14 MODULE_DESCRIPTION("Apple Onboard Audio Sound Driver"); 27 if (!try_module_get(c->owner)) in attach_codec_to_fabric() 28 return -EBUSY; in attach_codec_to_fabric() 30 err = -ENOENT; in attach_codec_to_fabric() 31 if (fabric->found_codec) in attach_codec_to_fabric() 32 err = fabric->found_codec(c); in attach_codec_to_fabric() 34 module_put(c->owner); in attach_codec_to_fabric() 35 printk(KERN_ERR "snd-aoa: fabric didn't like codec %s\n", in attach_codec_to_fabric() [all …]
|
/Linux-v6.1/sound/hda/ext/ |
D | hdac_ext_bus.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * hdac-ext-bus.c - HD-audio extended core bus functions. 5 * Copyright (C) 2014-2015 Intel Corp 21 * snd_hdac_ext_bus_init - initialize a HD-audio extended bus 25 * @ext_ops: operators used for ASoC HDA codec drivers 39 bus->ext_ops = ext_ops; in snd_hdac_ext_bus_init() 42 * buses, bus->idx should be greater than 0, but there needs to be a in snd_hdac_ext_bus_init() 45 bus->idx = 0; in snd_hdac_ext_bus_init() 46 bus->cmd_dma_state = true; in snd_hdac_ext_bus_init() 53 * snd_hdac_ext_bus_exit - clean up a HD-audio extended bus [all …]
|
/Linux-v6.1/sound/soc/tegra/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 tristate "SoC Audio for the Tegra System-on-Chip" 82 Config to enable the Inter-IC Sound (I2S) Controller which 83 implements full-duplex and bidirectional and single direction 84 point-to-point serial interfaces. It can interface with I2S 113 converts the multi-bit Pulse Code Modulation (PCM) audio input to 114 oversampled 1-bit Pulse Density Modulation (PDM) output. From the 116 that up-samples the input to the desired sampling rate by 118 the desired 1-bit output via Delta Sigma Modulation (DSM). 138 per-stream volume control or for master volume control. [all …]
|
/Linux-v6.1/sound/soc/intel/atom/ |
D | sst-mfld-platform-compress.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * sst_mfld_platform.c - Intel MID Platform driver 5 * Copyright (C) 2010-2014 Intel Corp 21 #include "sst-mfld-platform.h" 28 pr_debug("fragment elapsed by driver\n"); in sst_compr_fragment_elapsed() 37 pr_debug("drain notify by driver\n"); in sst_drain_notify() 46 struct snd_compr_runtime *runtime = cstream->runtime; in sst_platform_compr_open() 51 return -ENOMEM; in sst_platform_compr_open() 53 spin_lock_init(&stream->status_lock); in sst_platform_compr_open() 56 if (!sst || !try_module_get(sst->dev->driver->owner)) { in sst_platform_compr_open() [all …]
|