Lines Matching defs:tas2780
20 #include "tas2780.h"
31 static void tas2780_reset(struct tas2780_priv *tas2780)
35 if (tas2780->reset_gpio) {
36 gpiod_set_value_cansleep(tas2780->reset_gpio, 0);
38 gpiod_set_value_cansleep(tas2780->reset_gpio, 1);
42 ret = snd_soc_component_write(tas2780->component, TAS2780_SW_RST,
45 dev_err(tas2780->dev, "%s:errCode:0x%x Reset error!\n",
52 struct tas2780_priv *tas2780 =
59 dev_err(tas2780->dev, "%s:errCode:0x%0x:power down error\n",
64 regcache_cache_only(tas2780->regmap, true);
65 regcache_mark_dirty(tas2780->regmap);
72 struct tas2780_priv *tas2780 =
80 dev_err(tas2780->dev, "%s:errCode:0x%0x:power down error\n",
85 regcache_cache_only(tas2780->regmap, false);
86 ret = regcache_sync(tas2780->regmap);
134 struct tas2780_priv *tas2780 =
142 dev_err(tas2780->dev, "%s: Failed to set powercontrol\n",
151 static int tas2780_set_bitwidth(struct tas2780_priv *tas2780, int bitwidth)
153 struct snd_soc_component *component = tas2780->component;
187 dev_err(tas2780->dev, "%s:errCode:0x%x set bitwidth error\n",
195 dev_err(tas2780->dev,
201 val = snd_soc_component_read(tas2780->component, TAS2780_PWR_CTRL);
203 dev_err(tas2780->dev, "%s:errCode:0x%x read PWR_CTRL error\n",
214 ret = snd_soc_component_update_bits(tas2780->component,
217 dev_err(tas2780->dev, "%s:errCode:0x%x enable vSNS error\n",
227 ret = snd_soc_component_update_bits(tas2780->component,
230 dev_err(tas2780->dev, "%s:errCode:0x%x enable iSNS error\n",
240 struct tas2780_priv *tas2780, int samplerate)
242 struct snd_soc_component *component = tas2780->component;
270 dev_err(tas2780->dev,
284 struct tas2780_priv *tas2780 =
288 ret = tas2780_set_bitwidth(tas2780, params_format(params));
292 return tas2780_set_samplerate(tas2780, params_rate(params));
298 struct tas2780_priv *tas2780 =
312 dev_err(tas2780->dev, "ASI format Inverse is not found\n");
319 dev_err(tas2780->dev,
338 dev_err(tas2780->dev,
349 dev_err(tas2780->dev,
358 dev_err(tas2780->dev, "%s:errCode:0x%x Failed to set iface\n",
373 struct tas2780_priv *tas2780 =
398 dev_err(tas2780->dev,
422 dev_err(tas2780->dev,
429 TAS2780_TDM_CFG5_50_MASK, tas2780->v_sense_slot);
431 dev_err(tas2780->dev,
438 TAS2780_TDM_CFG6_50_MASK, tas2780->i_sense_slot);
440 dev_err(tas2780->dev,
466 .name = "tas2780 ASI1",
489 struct tas2780_priv *tas2780 =
493 tas2780->component = component;
495 tas2780_reset(tas2780);
500 dev_err(tas2780->dev, "%s:errCode:0x%0x\n",
568 static int tas2780_parse_dt(struct device *dev, struct tas2780_priv *tas2780)
572 tas2780->reset_gpio = devm_gpiod_get_optional(tas2780->dev, "reset",
574 if (IS_ERR(tas2780->reset_gpio)) {
575 if (PTR_ERR(tas2780->reset_gpio) == -EPROBE_DEFER) {
576 tas2780->reset_gpio = NULL;
582 &tas2780->i_sense_slot);
584 tas2780->i_sense_slot = 0;
587 &tas2780->v_sense_slot);
589 tas2780->v_sense_slot = 2;
596 struct tas2780_priv *tas2780;
599 tas2780 = devm_kzalloc(&client->dev, sizeof(struct tas2780_priv),
601 if (!tas2780)
603 tas2780->dev = &client->dev;
604 i2c_set_clientdata(client, tas2780);
605 dev_set_drvdata(&client->dev, tas2780);
607 tas2780->regmap = devm_regmap_init_i2c(client, &tas2780_i2c_regmap);
608 if (IS_ERR(tas2780->regmap)) {
609 result = PTR_ERR(tas2780->regmap);
616 result = tas2780_parse_dt(&client->dev, tas2780);
618 dev_err(tas2780->dev,
624 return devm_snd_soc_register_component(tas2780->dev,
630 { "tas2780", 0},
637 { .compatible = "ti,tas2780" },
645 .name = "tas2780",