/linux/sound/soc/ti/ |
H A D | omap-twl4030.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * omap-twl4030.c -- SoC audio for TI SoC based boards with twl4030 codec 5 * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com 20 #include <linux/platform_data/omap-twl4030.h> 29 #include "omap-mcbsp.h" 39 unsigned int fmt; in omap_twl4030_hw_params() local 43 fmt = SND_SOC_DAIFMT_I2S | in omap_twl4030_hw_params() 48 fmt = SND_SOC_DAIFMT_DSP_A | in omap_twl4030_hw_params() 53 return -EINVAL; in omap_twl4030_hw_params() 56 return snd_soc_runtime_set_dai_fmt(rtd, fmt); in omap_twl4030_hw_params() [all …]
|
/linux/sound/soc/intel/avs/boards/ |
H A D | max98927.c | 1 // SPDX-License-Identifier: GPL-2.0-only 13 #include <sound/soc-acpi.h> 14 #include <sound/soc-dapm.h> 17 #define MAX98927_DEV0_NAME "i2c-MX98927:00" 18 #define MAX98927_DEV1_NAME "i2c-MX98927:01" 19 #define MAX98927_CODEC_NAME "max98927-aif1" 33 SOC_DAPM_PIN_SWITCH("Left Spk"), 34 SOC_DAPM_PIN_SWITCH("Right Spk"), 38 SND_SOC_DAPM_SPK("Left Spk", NULL), 39 SND_SOC_DAPM_SPK("Right Spk", NULL), [all …]
|
H A D | max98373.c | 1 // SPDX-License-Identifier: GPL-2.0-only 13 #include <sound/soc-acpi.h> 14 #include <sound/soc-dapm.h> 17 #define MAX98373_DEV0_NAME "i2c-MX98373:00" 18 #define MAX98373_DEV1_NAME "i2c-MX98373:01" 19 #define MAX98373_CODEC_NAME "max98373-aif1" 33 SOC_DAPM_PIN_SWITCH("Left Spk"), 34 SOC_DAPM_PIN_SWITCH("Right Spk"), 38 SND_SOC_DAPM_SPK("Left Spk", NULL), 39 SND_SOC_DAPM_SPK("Right Spk", NULL), [all …]
|
H A D | max98357a.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 // Copyright(c) 2021-2022 Intel Corporation 13 #include <sound/soc-acpi.h> 14 #include <sound/soc-dapm.h> 18 SOC_DAPM_PIN_SWITCH("Spk"), 22 SND_SOC_DAPM_SPK("Spk", NULL), 26 { "Spk", NULL, "Speaker" }, 33 struct snd_mask *fmt; in avs_max98357a_be_fixup() local 37 fmt = hw_param_mask(params, SNDRV_PCM_HW_PARAM_FORMAT); in avs_max98357a_be_fixup() 40 rate->min = rate->max = 48000; in avs_max98357a_be_fixup() [all …]
|
/linux/sound/soc/codecs/ |
H A D | max98088.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * max98088.c -- MAX98088 ALSA SoC Audio driver 35 unsigned int fmt; member 90 { 0x2b, 0x00 }, /* 2B left SPK mixer */ 91 { 0x2c, 0x00 }, /* 2C right SPK mixer */ 92 { 0x2d, 0x00 }, /* 2D SPK control */ 109 { 0x3d, 0x00 }, /* 3D left SPK volume */ 110 { 0x3e, 0x00 }, /* 3E right SPK volume */ 337 "Off", "100Hz", "400Hz", "600Hz", "800Hz", "1000Hz", "200-400Hz", 338 "400-600Hz", "400-800Hz", [all …]
|
H A D | rk817_codec.c | 1 // SPDX-License-Identifier: GPL-2.0 32 * I don't have another implementation to compare from the Rockchip sources. Hard-coding for now. 45 if (rk817->mic_in_differential) { in rk817_init() 61 /* Set the PLL pre-divide value (values not documented). */ in rk817_set_component_pll() 73 * 0db~-95db, 0.375db/step, for example: 75 * 0xff: -95dB 78 static const DECLARE_TLV_DB_MINMAX(rk817_vol_tlv, -9500, 0); 82 * 27db~-18db, 3db/step, for example: 83 * 0x0: -18dB 87 static const DECLARE_TLV_DB_MINMAX(rk817_gain_tlv, -1800, 2700); [all …]
|
H A D | cs42l73.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * cs42l73.c -- CS42L73 ALSA Soc Audio driver 25 #include <sound/soc-dapm.h> 47 { 6, 0xF1 }, /* r06 - Power Ctl 1 */ 48 { 7, 0xDF }, /* r07 - Power Ctl 2 */ 49 { 8, 0x3F }, /* r08 - Power Ctl 3 */ 50 { 9, 0x50 }, /* r09 - Charge Pump Freq */ 51 { 10, 0x53 }, /* r0A - Output Load MicBias Short Detect */ 52 { 11, 0x00 }, /* r0B - DMIC Master Clock Ctl */ 53 { 12, 0x00 }, /* r0C - Aux PCM Ctl */ [all …]
|
H A D | cs35l56.c | 1 // SPDX-License-Identifier: GPL-2.0-only 27 #include <sound/cs-amp-lib.h> 31 #include <sound/soc-dapm.h> 43 flush_work(&cs35l56->dsp_work); in cs35l56_wait_dsp_ready() 66 static DECLARE_TLV_DB_SCALE(vol_tlv, -10000, 25, 0); 162 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in cs35l56_play_event() 167 dev_dbg(cs35l56->base.dev, "play: %d\n", event); in cs35l56_play_event() 172 return regmap_write(cs35l56->base.regmap, CS35L56_DSP_VIRTUAL1_MBOX_1, in cs35l56_play_event() 176 ret = regmap_read_poll_timeout(cs35l56->base.regmap, in cs35l56_play_event() 182 dev_err(cs35l56->base.dev, "PS0 wait failed: %d\n", ret); in cs35l56_play_event() [all …]
|
H A D | rt5660.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5660.c -- RT5660 ALSA SoC audio codec driver 24 #include <sound/soc-dapm.h> 296 static const DECLARE_TLV_DB_SCALE(rt5660_out_vol_tlv, -4650, 150, 0); 297 static const DECLARE_TLV_DB_SCALE(rt5660_dac_vol_tlv, -6525, 75, 0); 298 static const DECLARE_TLV_DB_SCALE(rt5660_adc_vol_tlv, -1725, 75, 0); 300 static const DECLARE_TLV_DB_SCALE(rt5660_bst_tlv, -1200, 75, 0); 342 * rt5660_set_dmic_clk - Set parameter of dmic. 352 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in rt5660_set_dmic_clk() 356 rate = rt5660->sysclk / rl6231_get_pre_div(rt5660->regmap, in rt5660_set_dmic_clk() [all …]
|
H A D | cs42l52.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * cs42l52.c -- CS42L52 ALSA SoC audio driver 28 #include <sound/soc-dapm.h> 130 static DECLARE_TLV_DB_SCALE(hl_tlv, -10200, 50, 0); 132 static DECLARE_TLV_DB_SCALE(hpd_tlv, -9600, 50, 1); 134 static DECLARE_TLV_DB_SCALE(ipd_tlv, -9600, 100, 0); 138 static DECLARE_TLV_DB_SCALE(pga_tlv, -600, 50, 0); 140 static DECLARE_TLV_DB_SCALE(pass_tlv, -6000, 50, 0); 142 static DECLARE_TLV_DB_SCALE(mix_tlv, -5150, 50, 0); 144 static DECLARE_TLV_DB_SCALE(beep_tlv, -56, 200, 0); [all …]
|
H A D | ak4535.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * ak4535.c -- AK4535 ALSA Soc Audio driver 65 static const char *ak4535_mono_gain[] = {"+6dB", "-17dB"}; 66 static const char *ak4535_mono_out[] = {"(L + R)/2", "Hi-Z"}; 174 SND_SOC_DAPM_PGA("Spk Amp", AK4535_PM2, 3, 0, NULL, 0), 232 {"Speaker Enable", "Switch", "Spk Amp"}, 233 {"Spk Amp", NULL, "MIN"}, 251 struct snd_soc_component *component = codec_dai->component; in ak4535_set_dai_sysclk() 254 ak4535->sysclk = freq; in ak4535_set_dai_sysclk() 262 struct snd_soc_component *component = dai->component; in ak4535_hw_params() [all …]
|
H A D | max98090.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * max98090.c -- MAX98090 ALSA SoC Audio driver 5 * Copyright 2011-2012 Maxim Integrated Products 73 { 0x2E, 0x00 }, /* 2E Left Spk Mixer */ 74 { 0x2F, 0x00 }, /* 2F Right Spk Mixer */ 76 { 0x30, 0x00 }, /* 30 Spk Control */ 77 { 0x31, 0x2C }, /* 31 Left Spk Volume */ 78 { 0x32, 0x2C }, /* 32 Right Spk Volume */ 279 /* Reset the codec by writing to this write-only reset register */ in max98090_reset() 280 ret = regmap_write(max98090->regmap, M98090_REG_SOFTWARE_RESET, in max98090_reset() [all …]
|
H A D | rt5640.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5640.c -- RT5640/RT5639 ALSA SoC audio codec driver 27 #include <sound/soc-dapm.h> 340 static const DECLARE_TLV_DB_SCALE(out_vol_tlv, -4650, 150, 0); 341 static const DECLARE_TLV_DB_MINMAX(dac_vol_tlv, -6562, 0); 342 static const DECLARE_TLV_DB_SCALE(in_vol_tlv, -3450, 150, 0); 343 static const DECLARE_TLV_DB_MINMAX(adc_vol_tlv, -1762, 3000); 436 SOC_ENUM("Class D SPK Ratio Control", rt5640_clsd_spk_ratio_enum), 451 * set_dmic_clk - Set parameter of dmic. 461 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in set_dmic_clk() [all …]
|
H A D | max98095.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * max98095.c -- MAX98095 ALSA SoC Audio driver 35 unsigned int fmt; member 338 "Off", "Elliptical-HPF-16k", "Butterworth-HPF-16k", 339 "Elliptical-HPF-8k", "Butterworth-HPF-8k", "Butterworth-HPF-Fs/240"}; 355 unsigned int sel = ucontrol->value.integer.value[0]; in max98095_mic1pre_set() 357 max98095->mic1pre = sel; in max98095_mic1pre_set() 370 ucontrol->value.integer.value[0] = max98095->mic1pre; in max98095_mic1pre_get() 379 unsigned int sel = ucontrol->value.integer.value[0]; in max98095_mic2pre_set() 381 max98095->mic2pre = sel; in max98095_mic2pre_set() [all …]
|
H A D | rt5631.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5631.c -- RT5631 ALSA Soc Audio driver 22 #include <sound/soc-dapm.h> 68 * rt5631_write_index - write index register of 2nd layer 78 * rt5631_read_index - read index register of 2nd layer 169 static const DECLARE_TLV_DB_SCALE(out_vol_tlv, -4650, 150, 0); 170 static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -95625, 375, 0); 171 static const DECLARE_TLV_DB_SCALE(in_vol_tlv, -3450, 150, 0); 189 ucontrol->value.integer.value[0] = rt5631->dmic_used_flag; in rt5631_dmic_get() 200 rt5631->dmic_used_flag = ucontrol->value.integer.value[0]; in rt5631_dmic_put() [all …]
|
H A D | rt286.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt286.c -- RT286 ALSA SoC audio codec driver 23 #include <sound/soc-dapm.h> 196 snd_soc_component_write(component, rt286->index_cache[i].reg, in rt286_index_sync() 197 rt286->index_cache[i].def); in rt286_index_sync() 223 if (!rt286->component) in rt286_jack_detect() 224 return -EINVAL; in rt286_jack_detect() 226 dapm = snd_soc_component_get_dapm(rt286->component); in rt286_jack_detect() 228 if (rt286->pdata.cbj_en) { in rt286_jack_detect() 229 regmap_read(rt286->regmap, RT286_GET_HP_SENSE, &buf); in rt286_jack_detect() [all …]
|
H A D | tlv320aic31xx.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2014-2017 Texas Instruments Incorporated - https://www.ti.com/ 10 * The TLV320AIC31xx series of audio codecs are low-power, highly integrated 12 * and mono/stereo Class-D speaker driver. 36 #include <dt-bindings/sound/tlv320aic31xx.h> 180 u8 ocmv; /* output common-mode voltage */ 311 static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -6350, 50, 0); 313 static const DECLARE_TLV_DB_SCALE(adc_cgain_tlv, -2000, 50, 0); 317 static const DECLARE_TLV_DB_SCALE(hp_vol_tlv, -6350, 50, 0); 318 static const DECLARE_TLV_DB_SCALE(sp_vol_tlv, -6350, 50, 0); [all …]
|
H A D | rt298.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt298.c -- RT298 ALSA SoC audio codec driver 23 #include <sound/soc-dapm.h> 200 snd_soc_component_write(component, rt298->index_cache[i].reg, in rt298_index_sync() 201 rt298->index_cache[i].def); in rt298_index_sync() 227 if (!rt298->component) in rt298_jack_detect() 228 return -EINVAL; in rt298_jack_detect() 230 dapm = snd_soc_component_get_dapm(rt298->component); in rt298_jack_detect() 232 if (rt298->pdata.cbj_en) { in rt298_jack_detect() 233 regmap_read(rt298->regmap, RT298_GET_HP_SENSE, &buf); in rt298_jack_detect() [all …]
|
/linux/sound/soc/amd/acp/ |
H A D | acp-mach-common.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) 19 #include <sound/soc-dapm.h> 29 #include "acp-mach.h" 35 #define NAU8821_CODEC_DAI "nau8821-hifi" 38 #define MAX98388_CODEC_DAI "max98388-aif1" 44 /* Google skyrim proto-0 */ 77 clk_set_rate(drvdata->wclk, srate); in acp_clk_enable() 78 clk_set_rate(drvdata->bclk, srate * bclk_ratio); in acp_clk_enable() 80 return clk_prepare_enable(drvdata->wclk); in acp_clk_enable() 85 DAILINK_COMP_ARRAY(COMP_CODEC("i2c-10EC5682:00", "rt5682-aif1"))); [all …]
|
/linux/sound/soc/amd/ |
H A D | acp3x-rt5682-max9836.c | 1 // SPDX-License-Identifier: GPL-2.0+ 11 #include <sound/soc-dapm.h> 56 struct snd_soc_card *card = rtd->card; in acp3x_5682_init() 58 struct snd_soc_component *component = codec_dai->component; in acp3x_5682_init() 60 dev_info(rtd->dev, "codec dai name = %s\n", codec_dai->name); in acp3x_5682_init() 62 /* set rt5682 dai fmt */ in acp3x_5682_init() 67 dev_err(rtd->card->dev, in acp3x_5682_init() 68 "Failed to set rt5682 dai fmt: %d\n", ret); in acp3x_5682_init() 76 dev_err(rtd->dev, "can't set rt5682 PLL: %d\n", ret); in acp3x_5682_init() 84 dev_err(rtd->dev, in acp3x_5682_init() [all …]
|
/linux/sound/soc/intel/boards/ |
H A D | cht_bsw_max98090_ti.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * cht-bsw-max98090.c - ASoc Machine driver for Intel Cherryview-based 24 #include <sound/soc-acpi.h> 27 #include "../atom/sst-atom-controls.h" 45 struct snd_soc_dapm_context *dapm = w->dapm; in platform_clock_control() 46 struct snd_soc_card *card = dapm->card; in platform_clock_control() 52 if (ctx->quirks & QUIRK_PMC_PLT_CLK_0) in platform_clock_control() 57 dev_err(card->dev, "Codec dai not found; Unable to set platform clock\n"); in platform_clock_control() 58 return -EIO; in platform_clock_control() 62 ret = clk_prepare_enable(ctx->mclk); in platform_clock_control() [all …]
|
H A D | cht_bsw_nau8824.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * cht-bsw-nau8824.c - ASoc Machine driver for Intel Cherryview-based 10 * Co-author: John Hsu <KCHSU0@nuvoton.com> 11 * This file is based on cht_bsw_rt5672.c and cht-bsw-max98090.c 20 #include <sound/soc-acpi.h> 23 #include "../atom/sst-atom-controls.h" 45 SND_SOC_DAPM_SPK("Ext Spk", NULL), 49 {"Ext Spk", NULL, "SPKOUTL"}, 50 {"Ext Spk", NULL, "SPKOUTR"}, 69 SOC_DAPM_PIN_SWITCH("Ext Spk"), [all …]
|
/linux/Documentation/devicetree/bindings/sound/ |
H A D | wlf,arizona.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 20 - $ref: dai-common.yaml# 23 '#sound-dai-cells': 31 signals. Valid values are 0 (Differential), 1 (Single-ended) and 38 $ref: /schemas/types.yaml#/definitions/uint32-array 46 wlf,out-mono: 50 (eg. First entry in the list corresponds to output 1). A non-zero [all …]
|
/linux/sound/soc/qcom/ |
H A D | sdm845.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <dt-bindings/sound/qcom,q6afe.h> 15 #include <uapi/linux/input-event-codes.h> 65 struct sdm845_snd_data *pdata = snd_soc_card_get_drvdata(rtd->card); in sdm845_slim_snd_hw_params() 73 substream->stream); in sdm845_slim_snd_hw_params() 74 if (sruntime != ERR_PTR(-ENOTSUPP)) in sdm845_slim_snd_hw_params() 75 pdata->sruntime[cpu_dai->id] = sruntime; in sdm845_slim_snd_hw_params() 80 if (ret != 0 && ret != -ENOTSUPP) { in sdm845_slim_snd_hw_params() 83 } else if (ret == -ENOTSUPP) { in sdm845_slim_snd_hw_params() 88 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) in sdm845_slim_snd_hw_params() [all …]
|
/linux/Documentation/userspace-api/media/v4l/ |
H A D | pixfmt-compressed.rst | 1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 8 .. _compressed-formats: 18 .. flat-table:: Compressed Image Formats 19 :header-rows: 1 20 :stub-columns: 0 23 * - Identifier 24 - Code 25 - Details 26 * .. _V4L2-PIX-FMT-JPEG: 28 - ``V4L2_PIX_FMT_JPEG`` [all …]
|