/* 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 // #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__ */