Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

ASoC: tas2781: Support more newly-released amplifiers tas58xx in the driver

TAS5802/TAS5815/TAS5828 has on-chip DSP without current/voltage feedback.

Signed-off-by: Baojun Xu <baojun.xu@ti.com>
Link: https://patch.msgid.link/20251002072925.26242-1-baojun.xu@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Baojun Xu and committed by
Mark Brown
53a3c6e2 3a866087

+22 -2
+3
include/sound/tas2781.h
··· 120 120 TAS2570, 121 121 TAS2572, 122 122 TAS2781, 123 + TAS5802, 124 + TAS5815, 123 125 TAS5825, 124 126 TAS5827, 127 + TAS5828, 125 128 TAS_OTHERS, 126 129 }; 127 130
+19 -2
sound/soc/codecs/tas2781-i2c.c
··· 108 108 { "tas2570", TAS2570 }, 109 109 { "tas2572", TAS2572 }, 110 110 { "tas2781", TAS2781 }, 111 + { "tas5802", TAS5802 }, 112 + { "tas5815", TAS5815 }, 111 113 { "tas5825", TAS5825 }, 112 114 { "tas5827", TAS5827 }, 115 + { "tas5828", TAS5828 }, 113 116 {} 114 117 }; 115 118 MODULE_DEVICE_TABLE(i2c, tasdevice_id); ··· 127 124 { .compatible = "ti,tas2570" }, 128 125 { .compatible = "ti,tas2572" }, 129 126 { .compatible = "ti,tas2781" }, 127 + { .compatible = "ti,tas5802" }, 128 + { .compatible = "ti,tas5815" }, 130 129 { .compatible = "ti,tas5825" }, 131 130 { .compatible = "ti,tas5827" }, 131 + { .compatible = "ti,tas5828" }, 132 132 {}, 133 133 }; 134 134 MODULE_DEVICE_TABLE(of, tasdevice_of_match); ··· 1671 1665 } 1672 1666 tas_priv->fw_state = TASDEVICE_DSP_FW_ALL_OK; 1673 1667 1674 - /* There is no calibration required for TAS5825/TAS5827. */ 1675 - if (tas_priv->chip_id < TAS5825) { 1668 + /* There is no calibration required for 1669 + * TAS5802/TAS5815/TAS5825/TAS5827/TAS5828. 1670 + */ 1671 + if (tas_priv->chip_id < TAS5802) { 1676 1672 ret = tasdevice_create_cali_ctrls(tas_priv); 1677 1673 if (ret) { 1678 1674 dev_err(tas_priv->dev, "cali controls error\n"); ··· 1728 1720 switch (tas_priv->chip_id) { 1729 1721 case TAS2563: 1730 1722 case TAS2781: 1723 + case TAS5802: 1724 + case TAS5815: 1731 1725 case TAS5825: 1732 1726 case TAS5827: 1727 + case TAS5828: 1733 1728 /* If DSP FW fail, DSP kcontrol won't be created. */ 1734 1729 tasdevice_dsp_remove(tas_priv); 1735 1730 } ··· 1893 1882 p = (struct snd_kcontrol_new *)tas2781_snd_controls; 1894 1883 size = ARRAY_SIZE(tas2781_snd_controls); 1895 1884 break; 1885 + case TAS5802: 1886 + case TAS5815: 1896 1887 case TAS5825: 1897 1888 case TAS5827: 1889 + case TAS5828: 1898 1890 p = (struct snd_kcontrol_new *)tas5825_snd_controls; 1899 1891 size = ARRAY_SIZE(tas5825_snd_controls); 1900 1892 break; ··· 2068 2054 { "TXNW2570", TAS2570 }, 2069 2055 { "TXNW2572", TAS2572 }, 2070 2056 { "TXNW2781", TAS2781 }, 2057 + { "TXNW5802", TAS5802 }, 2058 + { "TXNW5815", TAS5815 }, 2071 2059 { "TXNW5825", TAS5825 }, 2072 2060 { "TXNW5827", TAS5827 }, 2061 + { "TXNW5828", TAS5828 }, 2073 2062 {}, 2074 2063 }; 2075 2064