| /OK3568_Linux_fs/kernel/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 …]
|
| /OK3568_Linux_fs/kernel/sound/soc/sunxi/ |
| H A D | sun8i-codec.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * This driver supports the digital controls for the internal codec 6 * (C) Copyright 2010-2016 9 * Mylène Josserand <mylene.josserand@free-electrons.com> 23 #include <sound/soc-dapm.h> 114 regcache_cache_only(scodec->regmap, false); in sun8i_codec_runtime_resume() 116 ret = regcache_sync(scodec->regmap); in sun8i_codec_runtime_resume() 129 regcache_cache_only(scodec->regmap, true); in sun8i_codec_runtime_suspend() 130 regcache_mark_dirty(scodec->regmap); in sun8i_codec_runtime_suspend() 164 return -EINVAL; in sun8i_codec_get_hw_rate() [all …]
|
| /OK3568_Linux_fs/u-boot/drivers/sound/ |
| H A D | wm8994.c | 5 * SPDX-License-Identifier: GPL-2.0+ 34 /* codec private data */ 36 enum wm8994_type type; /* codec type of wolfson */ 103 * @return int value 0 for success, -1 in case of error. 114 return -1; in wm8994_i2c_read() 127 * @param reg codec register 141 return -1; in wm8994_update_bits() 158 * @return -1 for error and 0 Success. 182 return -1; in wm8994_set_fmt() 193 return -1; in wm8994_set_fmt() [all …]
|
| H A D | max98095.c | 2 * max98095.c -- MAX98095 ALSA SoC Audio driver 67 * @return int value 0 for success, -1 in case of error. 77 return -1; in max98095_i2c_read() 86 * @param reg codec register 90 * @return int value 0 for success, non-zero error code. 99 return -1; in max98095_update_bits() 111 * codec mclk clock divider coefficients based on sampling rate 130 return -1; in rate_value() 140 * @return -1 for error and 0 Success. 152 if (aif_id == AIF1) { in max98095_hw_params() [all …]
|
| /OK3568_Linux_fs/kernel/sound/soc/intel/boards/ |
| H A D | cht_bsw_rt5645.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * cht-bsw-rt5645.c - ASoc Machine driver for Intel Cherryview-based platforms 4 * Cherrytrail and Braswell, with RT5645 codec. 25 #include <sound/soc-acpi.h> 27 #include "../atom/sst-atom-controls.h" 28 #include "../common/soc-intel-quirks.h" 31 #define CHT_CODEC_DAI1 "rt5645-aif1" 32 #define CHT_CODEC_DAI2 "rt5645-aif2" 48 #define CHT_RT5645_SSP2_AIF2 BIT(16) /* default is using AIF1 */ 70 struct snd_soc_dapm_context *dapm = w->dapm; in platform_clock_control() [all …]
|
| H A D | haswell.c | 1 // SPDX-License-Identifier: GPL-2.0-only 13 #include <sound/soc-acpi.h> 30 /* CODEC BE connections */ 31 {"SSP0 CODEC IN", NULL, "AIF1 Capture"}, 32 {"AIF1 Playback", NULL, "SSP0 CODEC OUT"}, 44 rate->min = rate->max = 48000; in haswell_ssp0_fixup() 45 channels->min = channels->max = 2; in haswell_ssp0_fixup() 63 dev_err(rtd->dev, "can't set codec sysclk configuration\n"); in haswell_rt5640_hw_params() 67 /* set correct codec filter for DAI format and clock config */ in haswell_rt5640_hw_params() 68 snd_soc_component_update_bits(codec_dai->component, 0x83, 0xffff, 0x8000); in haswell_rt5640_hw_params() [all …]
|
| H A 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" 26 /* The platform clock #3 outputs 19.2Mhz clock to codec as I2S MCLK */ 28 #define CHT_CODEC_DAI "rt5670-aif1" 51 struct snd_soc_dapm_context *dapm = w->dapm; in platform_clock_control() 52 struct snd_soc_card *card = dapm->card; in platform_clock_control() 59 dev_err(card->dev, "Codec dai not found; Unable to set platform clock\n"); in platform_clock_control() [all …]
|
| H A 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 …]
|
| H A D | broadwell.c | 1 // SPDX-License-Identifier: GPL-2.0-only 15 #include <sound/soc-acpi.h> 52 /* HP jack connectors - unknown if we have jack deteck */ 63 /* CODEC BE connections */ 64 {"SSP0 CODEC IN", NULL, "AIF1 Capture"}, 65 {"AIF1 Playback", NULL, "SSP0 CODEC OUT"}, 70 struct snd_soc_component *component = asoc_rtd_to_codec(rtd, 0)->component; in broadwell_rt286_codec_init() 72 ret = snd_soc_card_jack_new(rtd->card, "Headset", in broadwell_rt286_codec_init() 92 rate->min = rate->max = 48000; in broadwell_ssp0_fixup() 93 chan->min = chan->max = 2; in broadwell_ssp0_fixup() [all …]
|
| H A D | bytcr_rt5651.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * bytcr_rt5651.c - ASoc Machine driver for Intel Byt CR platform 29 #include <sound/soc-acpi.h> 31 #include "../atom/sst-atom-controls.h" 32 #include "../common/soc-intel-quirks.h" 68 #define BYT_RT5651_SSP2_AIF2 BIT(19) /* default is using AIF1 */ 80 /* jack-detect-source + inv + dmic-en + ovcd-th + -sf + terminating entry */ 92 /* Default: jack-detect on JD1_1, internal mic on in2, headsetmic on in3 */ 96 static int quirk_override = -1; 98 MODULE_PARM_DESC(quirk, "Board-specific quirk override"); [all …]
|
| H A D | bxt_rt298.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Intel Broxton-P I2S Machine Driver 5 * Copyright (C) 2014-2016, Intel Corporation. All rights reserved. 16 #include <sound/soc-acpi.h> 81 /* HP jack connectors - unknown if we have jack detect */ 91 {"HDMI1", NULL, "hif5-0 Output"}, 92 {"HDMI2", NULL, "hif6-0 Output"}, 93 {"HDMI2", NULL, "hif7-0 Output"}, 95 /* CODEC BE connections */ 96 { "AIF1 Playback", NULL, "ssp5 Tx"}, [all …]
|
| H A D | bdw-rt5677.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * ASoC machine driver for Intel Broadwell platforms with RT5677 codec 18 #include <sound/soc-acpi.h> 30 struct snd_soc_dapm_context *dapm = w->dapm; in bdw_rt5677_event_hp() 31 struct snd_soc_card *card = dapm->card; in bdw_rt5677_event_hp() 37 gpiod_set_value_cansleep(bdw_rt5677->gpio_hp_en, in bdw_rt5677_event_hp() 71 /* CODEC BE connections */ 72 {"SSP0 CODEC IN", NULL, "AIF1 Capture"}, 73 {"AIF1 Playback", NULL, "SSP0 CODEC OUT"}, 77 { "DSP Buffer", NULL, "SSP0 CODEC IN" }, [all …]
|
| H A D | bytcr_rt5640.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * byt_cr_dpcm_rt5640.c - ASoc Machine driver for Intel Byt CR platform 27 #include <sound/soc-acpi.h> 28 #include <dt-bindings/sound/rt5640.h> 30 #include "../atom/sst-atom-controls.h" 31 #include "../common/soc-intel-quirks.h" 68 #define BYT_RT5640_DIFF_MIC BIT(18) /* default is single-ended */ 69 #define BYT_RT5640_SSP2_AIF2 BIT(19) /* default is using AIF1 */ 83 /* in-diff or dmic-pin + jdsrc + ovcd-th + -sf + jd-inv + terminating entry */ 93 static int quirk_override = -1; [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/sound/soc/ |
| H A 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 …]
|
| H A D | dapm.rst | 11 such, can easily co-exist with the other PM systems. 20 audio subsystem, this includes internal codec power blocks and machine 25 Codec bias domain 26 VREF, VMID (core codec and audio power) 28 Usually controlled at codec probe/remove and suspend/resume, although 53 internal codec components). All audio components that effect power are called 60 Audio DAPM widgets fall into a number of types:- 75 A codec input pin 77 A codec output pin 116 Sample Rate Converter within DSP or CODEC [all …]
|
| /OK3568_Linux_fs/kernel/sound/soc/samsung/ |
| H A D | smdk_wm8994.c | 1 // SPDX-License-Identifier: GPL-2.0+ 12 * SMDKV310: CFG5-1000, CFG7-111111 16 * Configure audio route as :- 20 * $ amixer sset 'DAC1R Mixer AIF1.1' on 21 * $ amixer sset 'DAC1L Mixer AIF1.1' on 82 struct snd_soc_dapm_context *dapm = &rtd->card->dapm; in smdk_wm8994_init_paiftx() 103 SND_SOC_DAILINK_DEFS(aif1, 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"))); [all …]
|
| H A D | bells.c | 1 // SPDX-License-Identifier: GPL-2.0+ 8 #include <sound/soc-dapm.h> 59 struct bells_drvdata *bells = card->drvdata; in bells_set_bias_level() 62 rtd = snd_soc_get_pcm_runtime(card, &card->dai_link[DAI_DSP_CODEC]); in bells_set_bias_level() 64 component = codec_dai->component; in bells_set_bias_level() 66 if (dapm->dev != codec_dai->dev) in bells_set_bias_level() 71 if (dapm->bias_level != SND_SOC_BIAS_STANDBY) in bells_set_bias_level() 77 bells->sysclk_rate); in bells_set_bias_level() 81 if (bells->asyncclk_rate) { in bells_set_bias_level() 85 bells->asyncclk_rate); in bells_set_bias_level() [all …]
|
| H A D | aries_wm8994.c | 1 // SPDX-License-Identifier: GPL-2.0+ 5 #include <linux/input-event-codes.h> 100 if (!gpiod_get_value(priv->gpio_headset_detect)) { in headset_det_irq_thread() 103 gpiod_set_value(priv->gpio_earpath_sel, 0); in headset_det_irq_thread() 107 time_left_ms -= 20; in headset_det_irq_thread() 111 ret = regulator_enable(priv->reg_headset_micbias); in headset_det_irq_thread() 115 gpiod_set_value(priv->gpio_earpath_sel, 1); in headset_det_irq_thread() 117 ret = iio_read_channel_processed(priv->adc, &adc); in headset_det_irq_thread() 129 ret = regulator_disable(priv->reg_headset_micbias); in headset_det_irq_thread() 135 gpiod_set_value(priv->gpio_earpath_sel, 0); in headset_det_irq_thread() [all …]
|
| /OK3568_Linux_fs/kernel/sound/soc/mediatek/mt8173/ |
| H A D | mt8173-rt5650.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * mt8173-rt5650.c -- MT8173 machine driver with RT5650 codecs 105 struct snd_soc_card *card = runtime->card; in mt8173_rt5650_init() 106 struct snd_soc_component *component = asoc_rtd_to_codec(runtime, 0)->component; in mt8173_rt5650_init() 107 const char *codec_capture_dai = asoc_rtd_to_codec(runtime, 1)->name; in mt8173_rt5650_init() 114 if (!strcmp(codec_capture_dai, "rt5645-aif1")) { in mt8173_rt5650_init() 118 } else if (!strcmp(codec_capture_dai, "rt5645-aif2")) { in mt8173_rt5650_init() 123 dev_warn(card->dev, in mt8173_rt5650_init() 124 "Only one dai codec found in DTS, enabled rt5645 AD filter\n"); in mt8173_rt5650_init() 137 dev_err(card->dev, "Can't new Headset Jack %d\n", ret); in mt8173_rt5650_init() [all …]
|
| H A D | mt8173-rt5650-rt5514.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * mt8173-rt5650-rt5514.c -- MT8173 machine driver with RT5650/5514 codecs 75 struct snd_soc_card *card = runtime->card; in mt8173_rt5650_rt5514_init() 76 struct snd_soc_component *component = asoc_rtd_to_codec(runtime, 0)->component; in mt8173_rt5650_rt5514_init() 91 dev_err(card->dev, "Can't new Headset Jack %d\n", ret); in mt8173_rt5650_rt5514_init() 117 SND_SOC_DAILINK_DEFS(codec, 119 DAILINK_COMP_ARRAY(COMP_CODEC(NULL, "rt5645-aif1"), 120 COMP_CODEC(NULL, "rt5514-aif1")), 123 /* Digital audio interface glue - connects codec <---> CPU */ 144 .name = "Codec", [all …]
|
| H A D | mt8173-rt5650-rt5676.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * mt8173-rt5650-rt5676.c -- MT8173 machine driver with RT5650/5676 codecs 79 struct snd_soc_card *card = runtime->card; in mt8173_rt5650_rt5676_init() 80 struct snd_soc_component *component = asoc_rtd_to_codec(runtime, 0)->component; in mt8173_rt5650_rt5676_init() 81 struct snd_soc_component *component_sub = asoc_rtd_to_codec(runtime, 1)->component; in mt8173_rt5650_rt5676_init() 104 dev_err(card->dev, "Can't new Headset Jack %d\n", ret); in mt8173_rt5650_rt5676_init() 139 SND_SOC_DAILINK_DEFS(codec, 141 DAILINK_COMP_ARRAY(COMP_CODEC(NULL, "rt5645-aif1"), 142 COMP_CODEC(NULL, "rt5677-aif1")), 147 DAILINK_COMP_ARRAY(COMP_CODEC(NULL, "i2s-hifi")), [all …]
|
| /OK3568_Linux_fs/kernel/sound/soc/tegra/ |
| H A D | tegra_rt5640.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * tegra_rt5640.c - Tegra machine ASoC driver for boards using RT5640 codec. 9 * Copyright (C) 2010-2012 - NVIDIA, Inc. 31 #define DRV_NAME "tegra-snd-rt5640" 44 struct snd_soc_card *card = rtd->card; in tegra_rt5640_asoc_hw_params() 52 err = tegra_asoc_utils_set_rate(&machine->util_data, srate, mclk); in tegra_rt5640_asoc_hw_params() 54 dev_err(card->dev, "Can't configure clocks\n"); in tegra_rt5640_asoc_hw_params() 61 dev_err(card->dev, "codec_dai clock not set\n"); in tegra_rt5640_asoc_hw_params() 100 struct tegra_rt5640 *machine = snd_soc_card_get_drvdata(rtd->card); in tegra_rt5640_asoc_init() 102 snd_soc_card_jack_new(rtd->card, "Headphones", SND_JACK_HEADPHONE, in tegra_rt5640_asoc_init() [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/sound/ |
| H A D | mt8173-rt5650.txt | 4 - compatible : "mediatek,mt8173-rt5650" 5 - mediatek,audio-codec: the phandles of rt5650 codecs 7 - mediatek,platform: the phandle of MT8173 ASoC platform 10 - codec-capture : the subnode of rt5650 codec capture 11 Required codec-capture subnode properties: 12 - sound-dai: audio codec dai name on capture path 13 <&rt5650 0> : Default setting. Connect rt5650 I2S1 for capture. (dai_name = rt5645-aif1) 14 <&rt5650 1> : Connect rt5650 I2S2 for capture. (dai_name = rt5645-aif2) 16 - mediatek,mclk: the MCLK source 23 compatible = "mediatek,mt8173-rt5650"; [all …]
|
| H A D | nvidia,tegra-audio-rt5640.txt | 1 NVIDIA Tegra audio complex, with RT5640 CODEC 4 - compatible : "nvidia,tegra-audio-rt5640" 5 - clocks : Must contain an entry for each entry in clock-names. 6 See ../clocks/clock-bindings.txt for details. 7 - clock-names : Must include the following entries: 8 - pll_a 9 - pll_a_out0 10 - mclk (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk) 11 - nvidia,model : The user-visible name of this sound complex. 12 - nvidia,audio-routing : A list of the connections between audio components. [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/mfd/ |
| 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 25 [2] include/dt-bindings/pinctrl/lochnagar.h 26 [3] include/dt-bindings/clock/lochnagar.h 28 And these documents for the required sub-node binding details: 35 - if: [all …]
|