File Index
Files and directories
Sign in
FILE

tas2781-comlib-i2c.h

File preview with syntax highlighting.

linux-6.19.14/include/sound/tas2781-comlib-i2c.h C
 1/* SPDX-License-Identifier: GPL-2.0 */
 2//
 3// ALSA SoC Texas Instruments TAS2563/TAS2781 Audio Smart Amplifier
 4//
 5// Copyright (C) 2025 Texas Instruments Incorporated
 6// https://www.ti.com
 7//
 8// The TAS2563/TAS2781 driver implements a flexible and configurable
 9// algo coefficient setting for one, two, or even multiple
10// TAS2563/TAS2781 chips.
11//
12// Author: Shenghao Ding <shenghao-ding@ti.com>
13//
14
15#ifndef __TAS2781_COMLIB_I2C_H__
16#define __TAS2781_COMLIB_I2C_H__
17
18void tasdevice_reset(struct tasdevice_priv *tas_dev);
19int tascodec_init(struct tasdevice_priv *tas_priv, void *codec,
20	struct module *module,
21	void (*cont)(const struct firmware *fw, void *context));
22struct tasdevice_priv *tasdevice_kzalloc(struct i2c_client *i2c);
23int tasdevice_init(struct tasdevice_priv *tas_priv);
24int tasdev_chn_switch(struct tasdevice_priv *tas_priv,
25	unsigned short chn);
26int tasdevice_dev_update_bits(
27	struct tasdevice_priv *tasdevice, unsigned short chn,
28	unsigned int reg, unsigned int mask, unsigned int value);
29int tasdevice_amp_putvol(struct tasdevice_priv *tas_priv,
30	struct snd_ctl_elem_value *ucontrol, struct soc_mixer_control *mc);
31int tasdevice_amp_getvol(struct tasdevice_priv *tas_priv,
32	struct snd_ctl_elem_value *ucontrol, struct soc_mixer_control *mc);
33int tasdevice_digital_getvol(struct tasdevice_priv *tas_priv,
34	struct snd_ctl_elem_value *ucontrol, struct soc_mixer_control *mc);
35int tasdevice_digital_putvol(struct tasdevice_priv *tas_priv,
36	struct snd_ctl_elem_value *ucontrol, struct soc_mixer_control *mc);
37#endif /* __TAS2781_COMLIB_I2C_H__ */
~/ Read-only file preview.