[PATCH v1 1/2] ASoC: tas2781: Add tas5828 support
TAS5828 have on-chip DSP but have no calibration required stereo smart amplifier.
Signed-off-by: Baojun Xu baojun.xu@ti.com --- include/sound/tas2781.h | 1 + sound/soc/codecs/tas2781-i2c.c | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/include/sound/tas2781.h b/include/sound/tas2781.h index ddd997ac3216..a37b4d67c137 100644 --- a/include/sound/tas2781.h +++ b/include/sound/tas2781.h @@ -122,6 +122,7 @@ enum audio_device { TAS2781, TAS5825, TAS5827, + TAS5828, TAS_OTHERS, };
diff --git a/sound/soc/codecs/tas2781-i2c.c b/sound/soc/codecs/tas2781-i2c.c index 1539b70881d1..f62a71dca36c 100644 --- a/sound/soc/codecs/tas2781-i2c.c +++ b/sound/soc/codecs/tas2781-i2c.c @@ -110,6 +110,7 @@ static const struct i2c_device_id tasdevice_id[] = { { "tas2781", TAS2781 }, { "tas5825", TAS5825 }, { "tas5827", TAS5827 }, + { "tas5828", TAS5828 }, {} }; MODULE_DEVICE_TABLE(i2c, tasdevice_id); @@ -126,6 +127,7 @@ static const struct of_device_id tasdevice_of_match[] = { { .compatible = "ti,tas2781" }, { .compatible = "ti,tas5825" }, { .compatible = "ti,tas5827" }, + { .compatible = "ti,tas5828" }, {}, }; MODULE_DEVICE_TABLE(of, tasdevice_of_match); @@ -1665,7 +1667,7 @@ static void tasdevice_fw_ready(const struct firmware *fmw, } tas_priv->fw_state = TASDEVICE_DSP_FW_ALL_OK;
- /* There is no calibration required for TAS5825/TAS5827. */ + /* There is no calibration required for TAS5825/TAS5827/TAS5828. */ if (tas_priv->chip_id < TAS5825) { ret = tasdevice_create_cali_ctrls(tas_priv); if (ret) { @@ -1722,6 +1724,7 @@ static void tasdevice_fw_ready(const struct firmware *fmw, case TAS2781: case TAS5825: case TAS5827: + case TAS5828: /* If DSP FW fail, DSP kcontrol won't be created. */ tasdevice_dsp_remove(tas_priv); } @@ -1884,6 +1887,7 @@ static int tasdevice_codec_probe(struct snd_soc_component *codec) break; case TAS5825: case TAS5827: + case TAS5828: p = (struct snd_kcontrol_new *)tas5825_snd_controls; size = ARRAY_SIZE(tas5825_snd_controls); break; @@ -2056,6 +2060,7 @@ static const struct acpi_device_id tasdevice_acpi_match[] = { { "TXNW2781", TAS2781 }, { "TXNW5825", TAS5825 }, { "TXNW5827", TAS5827 }, + { "TXNW5828", TAS5828 }, {}, };
Update ti,tas2781.yaml for adding tas5828.
Signed-off-by: Baojun Xu baojun.xu@ti.com --- Documentation/devicetree/bindings/sound/ti,tas2781.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/sound/ti,tas2781.yaml b/Documentation/devicetree/bindings/sound/ti,tas2781.yaml index bd00afa47d62..a2173e851e45 100644 --- a/Documentation/devicetree/bindings/sound/ti,tas2781.yaml +++ b/Documentation/devicetree/bindings/sound/ti,tas2781.yaml @@ -24,7 +24,7 @@ description: | Instruments Smart Amp speaker protection algorithm. The integrated speaker voltage and current sense provides for real time monitoring of loudspeaker behavior. - The TAS5825/TAS5827 is a stereo, digital input Class-D audio + The TAS5825/TAS5827/TAS5828 is a stereo, digital input Class-D audio amplifier optimized for efficiently driving high peak power into small loudspeakers. An integrated on-chip DSP supports Texas Instruments Smart Amp speaker protection algorithm. @@ -37,6 +37,7 @@ description: | https://www.ti.com/lit/gpn/tas2781 https://www.ti.com/lit/gpn/tas5825m https://www.ti.com/lit/gpn/tas5827 + https://www.ti.com/lit/gpn/tas5828m
properties: compatible: @@ -70,6 +71,9 @@ properties:
ti,tas5827: 47-W Stereo, Digital Input, High Efficiency Closed-Loop Class-D Amplifier with Class-H Algorithm + + ti,tas5828: 50-W Stereo, Digital Input, High Efficiency Closed-Loop Class-D + Amplifier with Hybrid-Pro Algorithm oneOf: - items: - enum: @@ -82,6 +86,7 @@ properties: - ti,tas2572 - ti,tas5825 - ti,tas5827 + - ti,tas5828 - const: ti,tas2781 - enum: - ti,tas2781 @@ -183,6 +188,7 @@ allOf: contains: enum: - ti,tas5827 + - ti,tas5828 then: properties: reg:
participants (2)
-
Baojun Xu -
Mark Brown