Lines Matching +full:in2 +full:-
1 // SPDX-License-Identifier: GPL-2.0-only
5 * Copyright 2009-12 Wolfson Microelectronics
25 { 1, 0x0006 }, /* R1 - Power Management (1) */
26 { 2, 0x6000 }, /* R2 - Power Management (2) */
27 { 3, 0x0000 }, /* R3 - Power Management (3) */
28 { 6, 0x01C0 }, /* R6 - Clocking 1 */
29 { 22, 0x0003 }, /* R22 - IN1 Line Control */
30 { 23, 0x0003 }, /* R23 - IN2 Line Control */
31 { 24, 0x0083 }, /* R24 - IN1 Line Input A Volume */
32 { 25, 0x0083 }, /* R25 - IN1 Line Input B Volume */
33 { 26, 0x0083 }, /* R26 - IN2 Line Input A Volume */
34 { 27, 0x0083 }, /* R27 - IN2 Line Input B Volume */
35 { 28, 0x002D }, /* R28 - Left Output Volume */
36 { 29, 0x002D }, /* R29 - Right Output Volume */
37 { 34, 0x0100 }, /* R34 - SPKMIXL Attenuation */
38 { 35, 0x0010 }, /* R36 - SPKOUT Mixers */
39 { 37, 0x0140 }, /* R37 - ClassD3 */
40 { 38, 0x0039 }, /* R38 - Speaker Volume Left */
41 { 45, 0x0000 }, /* R45 - Output Mixer1 */
42 { 46, 0x0000 }, /* R46 - Output Mixer2 */
43 { 47, 0x0100 }, /* R47 - Output Mixer3 */
44 { 48, 0x0100 }, /* R48 - Output Mixer4 */
45 { 54, 0x0000 }, /* R54 - Speaker Mixer */
46 { 57, 0x000D }, /* R57 - AntiPOP2 */
47 { 70, 0x0000 }, /* R70 - Write Sequencer 0 */
48 { 71, 0x0000 }, /* R71 - Write Sequencer 1 */
49 { 72, 0x0000 }, /* R72 - Write Sequencer 2 */
50 { 73, 0x0000 }, /* R73 - Write Sequencer 3 */
51 { 74, 0x0000 }, /* R74 - Write Sequencer 4 */
52 { 75, 0x0000 }, /* R75 - Write Sequencer 5 */
53 { 76, 0x1F25 }, /* R76 - Charge Pump 1 */
54 { 85, 0x054A }, /* R85 - DC Servo 1 */
55 { 87, 0x0000 }, /* R87 - DC Servo 3 */
56 { 96, 0x0100 }, /* R96 - Analogue HP 0 */
57 { 98, 0x8640 }, /* R98 - AGC Control 0 */
58 { 99, 0xC000 }, /* R99 - AGC Control 1 */
59 { 100, 0x0200 }, /* R100 - AGC Control 2 */
138 dev_dbg(component->dev, "Waiting for DC servo...\n"); in wait_for_dc_servo()
143 dev_dbg(component->dev, "DC servo status: %x\n", reg); in wait_for_dc_servo()
149 dev_err(component->dev, "Timed out waiting for DC Servo\n"); in wait_for_dc_servo()
153 0, 0, TLV_DB_SCALE_ITEM(-600, 0, 0),
154 1, 3, TLV_DB_SCALE_ITEM(-350, 350, 0),
158 0, 2, TLV_DB_SCALE_ITEM(-1200, 300, 0),
161 static const DECLARE_TLV_DB_SCALE(out_tlv, -5700, 100, 0);
241 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in hp_ev()
327 SND_SOC_DAPM_INPUT("IN1-"),
328 SND_SOC_DAPM_INPUT("IN2+"),
329 SND_SOC_DAPM_INPUT("IN2-"),
359 { "IN2A PGA", NULL, "IN2+" },
386 { "IN1B PGA", NULL, "IN1-" },
394 { "IN1A PGA", NULL, "IN1-" },
398 { "IN2B PGA", NULL, "IN2-" },
406 { "IN2A PGA", NULL, "IN2-" },
423 if (wm9090->pdata.lin1_diff) { in wm9090_add_controls()
433 if (wm9090->pdata.lin2_diff) { in wm9090_add_controls()
443 if (wm9090->pdata.agc_ena) { in wm9090_add_controls()
444 for (i = 0; i < ARRAY_SIZE(wm9090->pdata.agc); i++) in wm9090_add_controls()
446 wm9090->pdata.agc[i]); in wm9090_add_controls()
485 regcache_sync(wm9090->regmap); in wm9090_set_bias_level()
568 wm9090 = devm_kzalloc(&i2c->dev, sizeof(*wm9090), GFP_KERNEL); in wm9090_i2c_probe()
570 return -ENOMEM; in wm9090_i2c_probe()
572 wm9090->regmap = devm_regmap_init_i2c(i2c, &wm9090_regmap); in wm9090_i2c_probe()
573 if (IS_ERR(wm9090->regmap)) { in wm9090_i2c_probe()
574 ret = PTR_ERR(wm9090->regmap); in wm9090_i2c_probe()
575 dev_err(&i2c->dev, "Failed to allocate regmap: %d\n", ret); in wm9090_i2c_probe()
579 ret = regmap_read(wm9090->regmap, WM9090_SOFTWARE_RESET, ®); in wm9090_i2c_probe()
584 dev_err(&i2c->dev, "Device is not a WM9090, ID=%x\n", reg); in wm9090_i2c_probe()
585 return -ENODEV; in wm9090_i2c_probe()
588 ret = regmap_write(wm9090->regmap, WM9090_SOFTWARE_RESET, 0); in wm9090_i2c_probe()
592 if (i2c->dev.platform_data) in wm9090_i2c_probe()
593 memcpy(&wm9090->pdata, i2c->dev.platform_data, in wm9090_i2c_probe()
594 sizeof(wm9090->pdata)); in wm9090_i2c_probe()
598 ret = devm_snd_soc_register_component(&i2c->dev, in wm9090_i2c_probe()
601 dev_err(&i2c->dev, "Failed to register CODEC: %d\n", ret); in wm9090_i2c_probe()