Lines Matching +full:mic +full:- +full:in +full:- +full:differential
1 // SPDX-License-Identifier: GPL-2.0+
4 * found in Allwinner's A64 SoC.
6 * Copyright (C) 2016 Chen-Yu Tsai <wens@csie.org>
10 * Based on sun8i-codec-analog.c
23 #include <sound/soc-dapm.h>
26 #include "sun8i-adda-pr-regmap.h"
133 SOC_DAPM_DOUBLE_R("Line In Playback Switch",
157 SOC_DAPM_DOUBLE_R("Line In Capture Switch",
172 -450, 150, 0);
178 static const DECLARE_TLV_DB_SCALE(sun50i_codec_hp_vol_scale, -6300, 100, 1);
182 2, 31, TLV_DB_SCALE_ITEM(-4350, 150, 0),
187 2, 31, TLV_DB_SCALE_ITEM(-4350, 150, 0),
197 /* Mixer pre-gain */
207 /* Mixer pre-gain */
222 /* Mixer pre-gain */
223 SOC_SINGLE_TLV("Line In Playback Volume", SUN50I_ADDA_LINEIN_CTRL,
260 "Stereo", "Mono Differential",
361 /* Mic input path */
373 /* Mic input path */
401 { "Left Mixer", "Line In Playback Switch", "LINEIN" },
408 { "Right Mixer", "Line In Playback Switch", "LINEIN" },
415 { "Left ADC Mixer", "Line In Capture Switch", "LINEIN" },
422 { "Right ADC Mixer", "Line In Capture Switch", "LINEIN" },
453 /* Line-out Routes */
455 { "Left Line Out Source", "Mono Differential", "Left Mixer" },
456 { "Left Line Out Source", "Mono Differential", "Right Mixer" },
462 { "Right Line Out Source", "Mono Differential", "Left Line Out Switch" },
477 return regmap_update_bits(component->regmap, SUN50I_ADDA_HP_CTRL, in sun50i_a64_codec_suspend()
484 return regmap_update_bits(component->regmap, SUN50I_ADDA_HP_CTRL, in sun50i_a64_codec_resume()
501 .compatible = "allwinner,sun50i-a64-codec-analog",
515 dev_err(&pdev->dev, "Failed to map the registers\n"); in sun50i_codec_analog_probe()
519 regmap = sun8i_adda_pr_regmap_init(&pdev->dev, base); in sun50i_codec_analog_probe()
521 dev_err(&pdev->dev, "Failed to create regmap\n"); in sun50i_codec_analog_probe()
525 enable = device_property_read_bool(&pdev->dev, in sun50i_codec_analog_probe()
526 "allwinner,internal-bias-resistor"); in sun50i_codec_analog_probe()
531 return devm_snd_soc_register_component(&pdev->dev, in sun50i_codec_analog_probe()
538 .name = "sun50i-codec-analog",
548 MODULE_ALIAS("platform:sun50i-codec-analog");