• Home
  • Raw
  • Download

Lines Matching +full:spkfb +full:- +full:slot +full:- +full:no

1 // SPDX-License-Identifier: GPL-2.0
23 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in max98373_dac_event()
28 regmap_update_bits(max98373->regmap, in max98373_dac_event()
34 regmap_update_bits(max98373->regmap, in max98373_dac_event()
38 max98373->tdm_mode = false; in max98373_dac_event()
78 SND_SOC_DAPM_SWITCH("SpkFB Sense", SND_SOC_NOPM, 0, 0,
85 static DECLARE_TLV_DB_SCALE(max98373_digital_tlv, -6350, 50, 1);
101 0, 1, TLV_DB_SCALE_ITEM(-3000, 500, 0),
102 2, 4, TLV_DB_SCALE_ITEM(-2200, 200, 0),
103 5, 6, TLV_DB_SCALE_ITEM(-1500, 300, 0),
104 7, 9, TLV_DB_SCALE_ITEM(-1000, 200, 0),
105 10, 13, TLV_DB_SCALE_ITEM(-500, 100, 0),
106 14, 15, TLV_DB_SCALE_ITEM(-100, 50, 0),
109 0, 15, TLV_DB_SCALE_ITEM(-1500, 100, 0),
113 0, 60, TLV_DB_SCALE_ITEM(-1500, 25, 0),
281 { "SpkFB Sense", "Switch", "FBMON" },
284 { "Speaker FB Sense", NULL, "SpkFB Sense" },
292 ret = regmap_update_bits(max98373->regmap, in max98373_reset()
303 ret = regmap_read(max98373->regmap, in max98373_reset()
320 max98373_reset(max98373, component->dev); in max98373_probe()
322 /* IV default slot configuration */ in max98373_probe()
323 regmap_write(max98373->regmap, in max98373_probe()
326 regmap_write(max98373->regmap, in max98373_probe()
330 regmap_write(max98373->regmap, in max98373_probe()
333 regmap_write(max98373->regmap, in max98373_probe()
337 regmap_write(max98373->regmap, in max98373_probe()
341 regmap_write(max98373->regmap, in max98373_probe()
344 /* voltage, current slot configuration */ in max98373_probe()
345 regmap_write(max98373->regmap, in max98373_probe()
347 (max98373->i_slot << MAX98373_PCM_TX_CH_SRC_A_I_SHIFT | in max98373_probe()
348 max98373->v_slot) & 0xFF); in max98373_probe()
349 if (max98373->v_slot < 8) in max98373_probe()
350 regmap_update_bits(max98373->regmap, in max98373_probe()
352 1 << max98373->v_slot, 0); in max98373_probe()
354 regmap_update_bits(max98373->regmap, in max98373_probe()
356 1 << (max98373->v_slot - 8), 0); in max98373_probe()
358 if (max98373->i_slot < 8) in max98373_probe()
359 regmap_update_bits(max98373->regmap, in max98373_probe()
361 1 << max98373->i_slot, 0); in max98373_probe()
363 regmap_update_bits(max98373->regmap, in max98373_probe()
365 1 << (max98373->i_slot - 8), 0); in max98373_probe()
367 /* speaker feedback slot configuration */ in max98373_probe()
368 regmap_write(max98373->regmap, in max98373_probe()
370 max98373->spkfb_slot & 0xFF); in max98373_probe()
373 if (max98373->interleave_mode) in max98373_probe()
374 regmap_update_bits(max98373->regmap, in max98373_probe()
380 regmap_update_bits(max98373->regmap, in max98373_probe()
420 if (!device_property_read_u32(dev, "maxim,vmon-slot-no", &value)) in max98373_slot_config()
421 max98373->v_slot = value & 0xF; in max98373_slot_config()
423 max98373->v_slot = 0; in max98373_slot_config()
425 if (!device_property_read_u32(dev, "maxim,imon-slot-no", &value)) in max98373_slot_config()
426 max98373->i_slot = value & 0xF; in max98373_slot_config()
428 max98373->i_slot = 1; in max98373_slot_config()
429 if (dev->of_node) { in max98373_slot_config()
430 max98373->reset_gpio = of_get_named_gpio(dev->of_node, in max98373_slot_config()
431 "maxim,reset-gpio", 0); in max98373_slot_config()
432 if (!gpio_is_valid(max98373->reset_gpio)) { in max98373_slot_config()
434 "maxim,reset-gpio", dev->of_node->full_name, in max98373_slot_config()
435 max98373->reset_gpio); in max98373_slot_config()
437 dev_dbg(dev, "maxim,reset-gpio=%d", in max98373_slot_config()
438 max98373->reset_gpio); in max98373_slot_config()
442 max98373->reset_gpio = -1; in max98373_slot_config()
445 if (!device_property_read_u32(dev, "maxim,spkfb-slot-no", &value)) in max98373_slot_config()
446 max98373->spkfb_slot = value & 0xF; in max98373_slot_config()
448 max98373->spkfb_slot = 2; in max98373_slot_config()