Lines Matching +full:adc +full:- +full:delay +full:- +full:ms
1 // SPDX-License-Identifier: GPL-2.0
5 #include <linux/delay.h>
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()
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),
135 "45ms", "225ms", "450ms", "1150ms",
136 "2250ms", "3100ms", "4500ms", "6750ms"
145 "160us", "320us", "640us", "1.28ms",
146 "2.56ms", "5.12ms", "10.24ms", "20.48ms",
147 "40.96ms", "81.92ms", "16.384ms", "32.768ms"
156 "640us", "1.28ms", "2.56ms", "5.120ms",
157 "10.24ms", "20.48ms", "40.96ms", "81.92ms",
158 "163.84ms", "327.68ms", "655.36ms", "1310.72ms"
208 /* ADC configuration */
209 SOC_SINGLE("ADC PVDD CH Switch", MAX98373_R2056_MEAS_ADC_PVDD_CH_EN, 0, 1, 0),
210 SOC_SINGLE("ADC PVDD FLT Switch", MAX98373_R2052_MEAS_ADC_PVDD_FLT_CFG,
212 SOC_SINGLE("ADC TEMP FLT Switch", MAX98373_R2053_MEAS_ADC_THERM_FLT_CFG,
214 SOC_SINGLE("ADC PVDD", MAX98373_R2054_MEAS_ADC_PVDD_CH_READBACK, 0, 0xFF, 0),
215 SOC_SINGLE("ADC TEMP", MAX98373_R2055_MEAS_ADC_THERM_CH_READBACK, 0, 0xFF, 0),
216 SOC_SINGLE("ADC PVDD FLT Coeff", MAX98373_R2052_MEAS_ADC_PVDD_FLT_CFG,
218 SOC_SINGLE("ADC TEMP FLT Coeff", MAX98373_R2053_MEAS_ADC_THERM_FLT_CFG,
220 SOC_ENUM("ADC SampleRate", max98373_adc_samplerate_enum),
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()
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()
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()
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()