| 12345678910111213141516171819202122232425262728293031323334353637 |
- /* SPDX-License-Identifier: GPL-2.0 */
- //
- // ALSA SoC Texas Instruments TAS2563/TAS2781 Audio Smart Amplifier
- //
- // Copyright (C) 2025 Texas Instruments Incorporated
- // https://www.ti.com
- //
- // The TAS2563/TAS2781 driver implements a flexible and configurable
- // algo coefficient setting for one, two, or even multiple
- // TAS2563/TAS2781 chips.
- //
- // Author: Shenghao Ding <shenghao-ding@ti.com>
- //
- #ifndef __TAS2781_COMLIB_I2C_H__
- #define __TAS2781_COMLIB_I2C_H__
- void tasdevice_reset(struct tasdevice_priv *tas_dev);
- int tascodec_init(struct tasdevice_priv *tas_priv, void *codec,
- struct module *module,
- void (*cont)(const struct firmware *fw, void *context));
- struct tasdevice_priv *tasdevice_kzalloc(struct i2c_client *i2c);
- int tasdevice_init(struct tasdevice_priv *tas_priv);
- int tasdev_chn_switch(struct tasdevice_priv *tas_priv,
- unsigned short chn);
- int tasdevice_dev_update_bits(
- struct tasdevice_priv *tasdevice, unsigned short chn,
- unsigned int reg, unsigned int mask, unsigned int value);
- int tasdevice_amp_putvol(struct tasdevice_priv *tas_priv,
- struct snd_ctl_elem_value *ucontrol, struct soc_mixer_control *mc);
- int tasdevice_amp_getvol(struct tasdevice_priv *tas_priv,
- struct snd_ctl_elem_value *ucontrol, struct soc_mixer_control *mc);
- int tasdevice_digital_getvol(struct tasdevice_priv *tas_priv,
- struct snd_ctl_elem_value *ucontrol, struct soc_mixer_control *mc);
- int tasdevice_digital_putvol(struct tasdevice_priv *tas_priv,
- struct snd_ctl_elem_value *ucontrol, struct soc_mixer_control *mc);
- #endif /* __TAS2781_COMLIB_I2C_H__ */
|