* [PATCH v1 1/2] ASoC: dt-bindings: ti,tas2781: Add TAS5832 support
@ 2026-02-26 7:57 Baojun Xu
2026-02-26 7:57 ` [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support Baojun Xu
2026-02-27 10:35 ` [PATCH v1 1/2] ASoC: dt-bindings: ti,tas2781: Add TAS5832 support Krzysztof Kozlowski
0 siblings, 2 replies; 19+ messages in thread
From: Baojun Xu @ 2026-02-26 7:57 UTC (permalink / raw)
To: broonie, tiwai
Cc: andriy.shevchenko, 13916275206, shenghao-ding, baojun.xu,
linux-sound, linux-kernel, lgirdwood, robh, krzk+dt, conor+dt,
devicetree, k-yi, henry.lo, robinchen, will-wang, jim.shil,
toastcheng, chinkaiting
TAS5832 is in same family with TAS5827/28/30.
Signed-off-by: Baojun Xu <baojun.xu@ti.com>
---
Documentation/devicetree/bindings/sound/ti,tas2781.yaml | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/sound/ti,tas2781.yaml b/Documentation/devicetree/bindings/sound/ti,tas2781.yaml
index f3a5638f4239..b21466bb0730 100644
--- a/Documentation/devicetree/bindings/sound/ti,tas2781.yaml
+++ b/Documentation/devicetree/bindings/sound/ti,tas2781.yaml
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
-# Copyright (C) 2022 - 2025 Texas Instruments Incorporated
+# Copyright (C) 2022 - 2026 Texas Instruments Incorporated
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/ti,tas2781.yaml#
@@ -107,6 +107,9 @@ properties:
ti,tas5830: 65-W Stereo, Digital Input, High Efficiency Closed-Loop
Class-D Amplifier with Class-H Algorithm
+
+ ti,tas5832: 81-W Stereo, Digital Input, High Efficiency Closed-Loop
+ Class-D Amplifier with Class-H Algorithm
oneOf:
- items:
- enum:
@@ -128,6 +131,7 @@ properties:
- ti,tas5827
- ti,tas5828
- ti,tas5830
+ - ti,tas5832
- const: ti,tas2781
- enum:
- ti,tas2781
@@ -264,6 +268,7 @@ allOf:
- ti,tas5827
- ti,tas5828
- ti,tas5830
+ - ti,tas5832
then:
properties:
reg:
--
2.25.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
2026-02-26 7:57 [PATCH v1 1/2] ASoC: dt-bindings: ti,tas2781: Add TAS5832 support Baojun Xu
@ 2026-02-26 7:57 ` Baojun Xu
2026-02-27 10:34 ` Krzysztof Kozlowski
2026-02-27 10:35 ` [PATCH v1 1/2] ASoC: dt-bindings: ti,tas2781: Add TAS5832 support Krzysztof Kozlowski
1 sibling, 1 reply; 19+ messages in thread
From: Baojun Xu @ 2026-02-26 7:57 UTC (permalink / raw)
To: broonie, tiwai
Cc: andriy.shevchenko, 13916275206, shenghao-ding, baojun.xu,
linux-sound, linux-kernel, lgirdwood, robh, krzk+dt, conor+dt,
devicetree, k-yi, henry.lo, robinchen, will-wang, jim.shil,
toastcheng, chinkaiting
TAS5832 is in same family with TAS5827/28/30.
Signed-off-by: Baojun Xu <baojun.xu@ti.com>
---
include/sound/tas2781.h | 1 +
sound/soc/codecs/tas2781-i2c.c | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/include/sound/tas2781.h b/include/sound/tas2781.h
index 7c03bdc951bb..c9152a950483 100644
--- a/include/sound/tas2781.h
+++ b/include/sound/tas2781.h
@@ -131,6 +131,7 @@ enum audio_device {
TAS5827,
TAS5828,
TAS5830,
+ TAS5832,
TAS_OTHERS,
};
diff --git a/sound/soc/codecs/tas2781-i2c.c b/sound/soc/codecs/tas2781-i2c.c
index 41b89fcc69c3..9228b3b6383b 100644
--- a/sound/soc/codecs/tas2781-i2c.c
+++ b/sound/soc/codecs/tas2781-i2c.c
@@ -119,6 +119,7 @@ static const struct i2c_device_id tasdevice_id[] = {
{ "tas5827", TAS5827 },
{ "tas5828", TAS5828 },
{ "tas5830", TAS5830 },
+ { "tas5832", TAS5832 },
{}
};
MODULE_DEVICE_TABLE(i2c, tasdevice_id);
@@ -144,6 +145,7 @@ static const struct of_device_id tasdevice_of_match[] = {
{ .compatible = "ti,tas5827" },
{ .compatible = "ti,tas5828" },
{ .compatible = "ti,tas5830" },
+ { .compatible = "ti,tas5832" },
{},
};
MODULE_DEVICE_TABLE(of, tasdevice_of_match);
@@ -1747,6 +1749,7 @@ static void tasdevice_fw_ready(const struct firmware *fmw,
case TAS5827:
case TAS5828:
case TAS5830:
+ case TAS5832:
/* If DSP FW fail, DSP kcontrol won't be created. */
tasdevice_dsp_remove(tas_priv);
}
@@ -1918,6 +1921,7 @@ static int tasdevice_codec_probe(struct snd_soc_component *codec)
case TAS5827:
case TAS5828:
case TAS5830:
+ case TAS5832:
p = (struct snd_kcontrol_new *)tas5825_snd_controls;
size = ARRAY_SIZE(tas5825_snd_controls);
break;
@@ -2105,6 +2109,7 @@ static const struct acpi_device_id tasdevice_acpi_match[] = {
{ "TXNW5827", TAS5827 },
{ "TXNW5828", TAS5828 },
{ "TXNW5830", TAS5830 },
+ { "TXNW5832", TAS5832 },
{},
};
--
2.25.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
2026-02-26 7:57 ` [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support Baojun Xu
@ 2026-02-27 10:34 ` Krzysztof Kozlowski
2026-02-27 10:40 ` [EXTERNAL] " Xu, Baojun
0 siblings, 1 reply; 19+ messages in thread
From: Krzysztof Kozlowski @ 2026-02-27 10:34 UTC (permalink / raw)
To: Baojun Xu
Cc: broonie, tiwai, andriy.shevchenko, 13916275206, shenghao-ding,
linux-sound, linux-kernel, lgirdwood, robh, krzk+dt, conor+dt,
devicetree, k-yi, henry.lo, robinchen, will-wang, jim.shil,
toastcheng, chinkaiting
On Thu, Feb 26, 2026 at 03:57:37PM +0800, Baojun Xu wrote:
> TAS5832 is in same family with TAS5827/28/30.
>
> Signed-off-by: Baojun Xu <baojun.xu@ti.com>
> ---
> include/sound/tas2781.h | 1 +
> sound/soc/codecs/tas2781-i2c.c | 5 +++++
> 2 files changed, 6 insertions(+)
>
> diff --git a/include/sound/tas2781.h b/include/sound/tas2781.h
> index 7c03bdc951bb..c9152a950483 100644
> --- a/include/sound/tas2781.h
> +++ b/include/sound/tas2781.h
> @@ -131,6 +131,7 @@ enum audio_device {
> TAS5827,
> TAS5828,
> TAS5830,
> + TAS5832,
> TAS_OTHERS,
> };
>
> diff --git a/sound/soc/codecs/tas2781-i2c.c b/sound/soc/codecs/tas2781-i2c.c
> index 41b89fcc69c3..9228b3b6383b 100644
> --- a/sound/soc/codecs/tas2781-i2c.c
> +++ b/sound/soc/codecs/tas2781-i2c.c
> @@ -119,6 +119,7 @@ static const struct i2c_device_id tasdevice_id[] = {
> { "tas5827", TAS5827 },
> { "tas5828", TAS5828 },
> { "tas5830", TAS5830 },
> + { "tas5832", TAS5832 },
> {}
> };
> MODULE_DEVICE_TABLE(i2c, tasdevice_id);
> @@ -144,6 +145,7 @@ static const struct of_device_id tasdevice_of_match[] = {
> { .compatible = "ti,tas5827" },
> { .compatible = "ti,tas5828" },
> { .compatible = "ti,tas5830" },
> + { .compatible = "ti,tas5832" },
So it is fully compatible with tas5830 and most of the changes here are
not needed?
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v1 1/2] ASoC: dt-bindings: ti,tas2781: Add TAS5832 support
2026-02-26 7:57 [PATCH v1 1/2] ASoC: dt-bindings: ti,tas2781: Add TAS5832 support Baojun Xu
2026-02-26 7:57 ` [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support Baojun Xu
@ 2026-02-27 10:35 ` Krzysztof Kozlowski
1 sibling, 0 replies; 19+ messages in thread
From: Krzysztof Kozlowski @ 2026-02-27 10:35 UTC (permalink / raw)
To: Baojun Xu
Cc: broonie, tiwai, andriy.shevchenko, 13916275206, shenghao-ding,
linux-sound, linux-kernel, lgirdwood, robh, krzk+dt, conor+dt,
devicetree, k-yi, henry.lo, robinchen, will-wang, jim.shil,
toastcheng, chinkaiting
On Thu, Feb 26, 2026 at 03:57:36PM +0800, Baojun Xu wrote:
> TAS5832 is in same family with TAS5827/28/30.
>
> Signed-off-by: Baojun Xu <baojun.xu@ti.com>
> ---
> Documentation/devicetree/bindings/sound/ti,tas2781.yaml | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
2026-02-27 10:34 ` Krzysztof Kozlowski
@ 2026-02-27 10:40 ` Xu, Baojun
2026-02-27 10:46 ` Krzysztof Kozlowski
0 siblings, 1 reply; 19+ messages in thread
From: Xu, Baojun @ 2026-02-27 10:40 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: broonie@kernel.org, tiwai@suse.de,
andriy.shevchenko@linux.intel.com, 13916275206@139.com,
Ding, Shenghao, linux-sound@vger.kernel.org,
linux-kernel@vger.kernel.org, lgirdwood@gmail.com,
robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
devicetree@vger.kernel.org, Yi, Ken, Lo, Henry, Chen, Robin,
Wang, Will, jim.shil@goertek.com, toastcheng@google.com,
chinkaiting@google.com
________________________________________
> From: Krzysztof Kozlowski <krzk@kernel.org>
> Sent: 27 February 2026 18:34
> To: Xu, Baojun
> Cc: broonie@kernel.org; tiwai@suse.de; andriy.shevchenko@linux.intel.com; 13916275206@139.com; Ding, Shenghao; linux-sound@vger.kernel.org; linux-kernel@vger.kernel.org; lgirdwood@gmail.com; robh@kernel.org; krzk+dt@kernel.org; conor+dt@kernel.org; devicetree@vger.kernel.org; Yi, Ken; Lo, Henry; Chen, Robin; Wang, Will; jim.shil@goertek.com; toastcheng@google.com; chinkaiting@google.com
> Subject: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
>
> > MODULE_DEVICE_TABLE(i2c, tasdevice_id);
> > @@ -144,6 +145,7 @@ static const struct of_device_id tasdevice_of_match[] = {
> > { .compatible = "ti,tas5827" },
> > { .compatible = "ti,tas5828" },
> > { .compatible = "ti,tas5830" },
> > + { .compatible = "ti,tas5832" },
>
> So it is fully compatible with tas5830 and most of the changes here are
> not needed?
Yes, it's fully compatible with tas5827/28/30.
> Best regards,
> Krzysztof
>
Best Regards
Jim
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
2026-02-27 10:40 ` [EXTERNAL] " Xu, Baojun
@ 2026-02-27 10:46 ` Krzysztof Kozlowski
2026-03-02 8:24 ` Xu, Baojun
0 siblings, 1 reply; 19+ messages in thread
From: Krzysztof Kozlowski @ 2026-02-27 10:46 UTC (permalink / raw)
To: Xu, Baojun
Cc: broonie@kernel.org, tiwai@suse.de,
andriy.shevchenko@linux.intel.com, 13916275206@139.com,
Ding, Shenghao, linux-sound@vger.kernel.org,
linux-kernel@vger.kernel.org, lgirdwood@gmail.com,
robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
devicetree@vger.kernel.org, Yi, Ken, Lo, Henry, Chen, Robin,
Wang, Will, jim.shil@goertek.com, toastcheng@google.com,
chinkaiting@google.com
On 27/02/2026 11:40, Xu, Baojun wrote:
>
> ________________________________________
>> From: Krzysztof Kozlowski <krzk@kernel.org>
>> Sent: 27 February 2026 18:34
>> To: Xu, Baojun
>> Cc: broonie@kernel.org; tiwai@suse.de; andriy.shevchenko@linux.intel.com; 13916275206@139.com; Ding, Shenghao; linux-sound@vger.kernel.org; linux-kernel@vger.kernel.org; lgirdwood@gmail.com; robh@kernel.org; krzk+dt@kernel.org; conor+dt@kernel.org; devicetree@vger.kernel.org; Yi, Ken; Lo, Henry; Chen, Robin; Wang, Will; jim.shil@goertek.com; toastcheng@google.com; chinkaiting@google.com
>> Subject: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
>>
>>> MODULE_DEVICE_TABLE(i2c, tasdevice_id);
>>> @@ -144,6 +145,7 @@ static const struct of_device_id tasdevice_of_match[] = {
>>> { .compatible = "ti,tas5827" },
>>> { .compatible = "ti,tas5828" },
>>> { .compatible = "ti,tas5830" },
>>> + { .compatible = "ti,tas5832" },
>>
>> So it is fully compatible with tas5830 and most of the changes here are
>> not needed?
>
> Yes, it's fully compatible with tas5827/28/30.
Then above hunk and many others are not needed.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
2026-02-27 10:46 ` Krzysztof Kozlowski
@ 2026-03-02 8:24 ` Xu, Baojun
2026-03-02 8:58 ` Krzysztof Kozlowski
0 siblings, 1 reply; 19+ messages in thread
From: Xu, Baojun @ 2026-03-02 8:24 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: broonie@kernel.org, tiwai@suse.de,
andriy.shevchenko@linux.intel.com, 13916275206@139.com,
Ding, Shenghao, linux-sound@vger.kernel.org,
linux-kernel@vger.kernel.org, lgirdwood@gmail.com,
robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
devicetree@vger.kernel.org, Yi, Ken, Lo, Henry, Chen, Robin,
Wang, Will, jim.shil@goertek.com, toastcheng@google.com,
chinkaiting@google.com
>
> ________________________________________
> From: Krzysztof Kozlowski <krzk@kernel.org>
> Sent: 27 February 2026 18:46
> To: Xu, Baojun
> Cc: broonie@kernel.org; tiwai@suse.de; andriy.shevchenko@linux.intel.com; 13916275206@139.com; Ding, Shenghao; linux-sound@vger.kernel.org; linux-kernel@vger.kernel.org; lgirdwood@gmail.com; robh@kernel.org; krzk+dt@kernel.org; conor+dt@kernel.org; devicetree@vger.kernel.org; Yi, Ken; Lo, Henry; Chen, Robin; Wang, Will; jim.shil@goertek.com; toastcheng@google.com; chinkaiting@google.com
> Subject: Re: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
>
> On 27/02/2026 11:40, Xu, Baojun wrote:
> >
> > ________________________________________
> >> From: Krzysztof Kozlowski <krzk@kernel.org>
> >> Sent: 27 February 2026 18:34
> >> To: Xu, Baojun
> >> Cc: broonie@kernel.org; tiwai@suse.de; andriy.shevchenko@linux.intel.com; 13916275206@139.com; Ding, Shenghao; linux-sound@vger.kernel.org; linux-kernel@vger.kernel.org; lgirdwood@gmail.com; robh@kernel.org; krzk+dt@kernel.org; conor+dt@kernel.org; devicetree@vger.kernel.org; Yi, Ken; Lo, Henry; Chen, Robin; Wang, Will; jim.shil@goertek.com; toastcheng@google.com; chinkaiting@google.com
> >> Subject: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
> >>
> >>> MODULE_DEVICE_TABLE(i2c, tasdevice_id);
> >>> @@ -144,6 +145,7 @@ static const struct of_device_id tasdevice_of_match[] = {
> >>> { .compatible = "ti,tas5827" },
> >>> { .compatible = "ti,tas5828" },
> >>> { .compatible = "ti,tas5830" },
> >>> + { .compatible = "ti,tas5832" },
> >>
> >> So it is fully compatible with tas5830 and most of the changes here are
> >> not needed?
> >
> > Yes, it's fully compatible with tas5827/28/30.
>
> Then above hunk and many others are not needed.
Hi, because those chips have different on the voltage, so the parameters
is different, have to use different firmware binary, so we must identify
every chip in the driver.
>
> Best regards,
> Krzysztof
>
>
Best Regards
Jim
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
2026-03-02 8:24 ` Xu, Baojun
@ 2026-03-02 8:58 ` Krzysztof Kozlowski
2026-03-02 9:22 ` Xu, Baojun
0 siblings, 1 reply; 19+ messages in thread
From: Krzysztof Kozlowski @ 2026-03-02 8:58 UTC (permalink / raw)
To: Xu, Baojun
Cc: broonie@kernel.org, tiwai@suse.de,
andriy.shevchenko@linux.intel.com, 13916275206@139.com,
Ding, Shenghao, linux-sound@vger.kernel.org,
linux-kernel@vger.kernel.org, lgirdwood@gmail.com,
robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
devicetree@vger.kernel.org, Yi, Ken, Lo, Henry, Chen, Robin,
Wang, Will, jim.shil@goertek.com, toastcheng@google.com,
chinkaiting@google.com
On 02/03/2026 09:24, Xu, Baojun wrote:
>>>>
>>>>> MODULE_DEVICE_TABLE(i2c, tasdevice_id);
>>>>> @@ -144,6 +145,7 @@ static const struct of_device_id tasdevice_of_match[] = {
>>>>> { .compatible = "ti,tas5827" },
>>>>> { .compatible = "ti,tas5828" },
>>>>> { .compatible = "ti,tas5830" },
>>>>> + { .compatible = "ti,tas5832" },
>>>>
>>>> So it is fully compatible with tas5830 and most of the changes here are
>>>> not needed?
>>>
>>> Yes, it's fully compatible with tas5827/28/30.
>>
>> Then above hunk and many others are not needed.
>
> Hi, because those chips have different on the voltage, so the parameters
> is different, have to use different firmware binary, so we must identify
> every chip in the driver.
That would explain other ID tables (and should be briefly mentioned in
the commit msg), but not this one, because here you do not customize the
binary at all.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
2026-03-02 8:58 ` Krzysztof Kozlowski
@ 2026-03-02 9:22 ` Xu, Baojun
2026-03-02 9:27 ` Krzysztof Kozlowski
0 siblings, 1 reply; 19+ messages in thread
From: Xu, Baojun @ 2026-03-02 9:22 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: broonie@kernel.org, tiwai@suse.de,
andriy.shevchenko@linux.intel.com, 13916275206@139.com,
Ding, Shenghao, linux-sound@vger.kernel.org,
linux-kernel@vger.kernel.org, lgirdwood@gmail.com,
robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
devicetree@vger.kernel.org, Yi, Ken, Lo, Henry, Chen, Robin,
Wang, Will, jim.shil@goertek.com, toastcheng@google.com,
chinkaiting@google.com
>
> ________________________________________
> From: Krzysztof Kozlowski <krzk@kernel.org>
> Sent: 02 March 2026 16:58
> To: Xu, Baojun
> Cc: broonie@kernel.org; tiwai@suse.de; andriy.shevchenko@linux.intel.com; 13916275206@139.com; Ding, Shenghao; linux-sound@vger.kernel.org; linux-kernel@vger.kernel.org; lgirdwood@gmail.com; robh@kernel.org; krzk+dt@kernel.org; conor+dt@kernel.org; devicetree@vger.kernel.org; Yi, Ken; Lo, Henry; Chen, Robin; Wang, Will; jim.shil@goertek.com; toastcheng@google.com; chinkaiting@google.com
> Subject: Re: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
>
> On 02/03/2026 09:24, Xu, Baojun wrote:
> >>>>
> >>>>> MODULE_DEVICE_TABLE(i2c, tasdevice_id);
> >>>>> @@ -144,6 +145,7 @@ static const struct of_device_id tasdevice_of_match[] = {
> >>>>> { .compatible = "ti,tas5827" },
> >>>>> { .compatible = "ti,tas5828" },
> >>>>> { .compatible = "ti,tas5830" },
> >>>>> + { .compatible = "ti,tas5832" },
> >>>>
> >>>> So it is fully compatible with tas5830 and most of the changes here are
> >>>> not needed?
> >>>
> >>> Yes, it's fully compatible with tas5827/28/30.
> >>
> >> Then above hunk and many others are not needed.
> >
> > Hi, because those chips have different on the voltage, so the parameters
> > is different, have to use different firmware binary, so we must identify
> > every chip in the driver.
>
> That would explain other ID tables (and should be briefly mentioned in
> the commit msg), but not this one, because here you do not customize the
> binary at all.
>
Hi, we save the chip_id in the dev_name:
strscpy(tas_priv->dev_name, tasdevice_id[tas_priv->chip_id].name,
sizeof(tas_priv->dev_name));
And get firmware binary from this dev_name:
scnprintf(tas_priv->rca_binaryname, 64, "%sRCA%d.bin",
tas_priv->dev_name, tas_priv->ndev);
> Best regards,
> Krzysztof
>
>
>
Best Regards
Jim
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
2026-03-02 9:22 ` Xu, Baojun
@ 2026-03-02 9:27 ` Krzysztof Kozlowski
2026-03-02 9:37 ` Xu, Baojun
2026-03-02 9:44 ` andriy.shevchenko
0 siblings, 2 replies; 19+ messages in thread
From: Krzysztof Kozlowski @ 2026-03-02 9:27 UTC (permalink / raw)
To: Xu, Baojun
Cc: broonie@kernel.org, tiwai@suse.de,
andriy.shevchenko@linux.intel.com, 13916275206@139.com,
Ding, Shenghao, linux-sound@vger.kernel.org,
linux-kernel@vger.kernel.org, lgirdwood@gmail.com,
robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
devicetree@vger.kernel.org, Yi, Ken, Lo, Henry, Chen, Robin,
Wang, Will, jim.shil@goertek.com, toastcheng@google.com,
chinkaiting@google.com
On 02/03/2026 10:22, Xu, Baojun wrote:
>>
>> ________________________________________
>> From: Krzysztof Kozlowski <krzk@kernel.org>
>> Sent: 02 March 2026 16:58
>> To: Xu, Baojun
>> Cc: broonie@kernel.org; tiwai@suse.de; andriy.shevchenko@linux.intel.com; 13916275206@139.com; Ding, Shenghao; linux-sound@vger.kernel.org; linux-kernel@vger.kernel.org; lgirdwood@gmail.com; robh@kernel.org; krzk+dt@kernel.org; conor+dt@kernel.org; devicetree@vger.kernel.org; Yi, Ken; Lo, Henry; Chen, Robin; Wang, Will; jim.shil@goertek.com; toastcheng@google.com; chinkaiting@google.com
>> Subject: Re: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
>>
>> On 02/03/2026 09:24, Xu, Baojun wrote:
>>>>>>
>>>>>>> MODULE_DEVICE_TABLE(i2c, tasdevice_id);
>>>>>>> @@ -144,6 +145,7 @@ static const struct of_device_id tasdevice_of_match[] = {
>>>>>>> { .compatible = "ti,tas5827" },
>>>>>>> { .compatible = "ti,tas5828" },
>>>>>>> { .compatible = "ti,tas5830" },
>>>>>>> + { .compatible = "ti,tas5832" },
>>>>>>
>>>>>> So it is fully compatible with tas5830 and most of the changes here are
>>>>>> not needed?
>>>>>
>>>>> Yes, it's fully compatible with tas5827/28/30.
>>>>
>>>> Then above hunk and many others are not needed.
>>>
>>> Hi, because those chips have different on the voltage, so the parameters
>>> is different, have to use different firmware binary, so we must identify
>>> every chip in the driver.
>>
>> That would explain other ID tables (and should be briefly mentioned in
>> the commit msg), but not this one, because here you do not customize the
>> binary at all.
>>
>
> Hi, we save the chip_id in the dev_name:
> strscpy(tas_priv->dev_name, tasdevice_id[tas_priv->chip_id].name,
> sizeof(tas_priv->dev_name));
And where do you see the name in above table?
>
> And get firmware binary from this dev_name:
> scnprintf(tas_priv->rca_binaryname, 64, "%sRCA%d.bin",
> tas_priv->dev_name, tas_priv->ndev);
Or here?
>
>> Best regards,
>> Krzysztof
>>
>>
>>
> Best Regards
> Jim
>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
2026-03-02 9:27 ` Krzysztof Kozlowski
@ 2026-03-02 9:37 ` Xu, Baojun
2026-03-02 10:07 ` Krzysztof Kozlowski
2026-03-02 9:44 ` andriy.shevchenko
1 sibling, 1 reply; 19+ messages in thread
From: Xu, Baojun @ 2026-03-02 9:37 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: broonie@kernel.org, tiwai@suse.de,
andriy.shevchenko@linux.intel.com, 13916275206@139.com,
Ding, Shenghao, linux-sound@vger.kernel.org,
linux-kernel@vger.kernel.org, lgirdwood@gmail.com,
robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
devicetree@vger.kernel.org, Yi, Ken, Lo, Henry, Chen, Robin,
Wang, Will, jim.shil@goertek.com, toastcheng@google.com,
chinkaiting@google.com
>
> ________________________________________
> From: Krzysztof Kozlowski <krzk@kernel.org>
> Sent: 02 March 2026 17:27
> To: Xu, Baojun
> Cc: broonie@kernel.org; tiwai@suse.de; andriy.shevchenko@linux.intel.com; 13916275206@139.com; Ding, Shenghao; linux-sound@vger.kernel.org; linux-kernel@vger.kernel.org; lgirdwood@gmail.com; robh@kernel.org; krzk+dt@kernel.org; conor+dt@kernel.org; devicetree@vger.kernel.org; Yi, Ken; Lo, Henry; Chen, Robin; Wang, Will; jim.shil@goertek.com; toastcheng@google.com; chinkaiting@google.com
> Subject: Re: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
>
> On 02/03/2026 10:22, Xu, Baojun wrote:
> >>
> >> ________________________________________
> >> From: Krzysztof Kozlowski <krzk@kernel.org>
> >> Sent: 02 March 2026 16:58
> >> To: Xu, Baojun
> >> Cc: broonie@kernel.org; tiwai@suse.de; andriy.shevchenko@linux.intel.com; 13916275206@139.com; Ding, Shenghao; linux-sound@vger.kernel.org; linux-kernel@vger.kernel.org; lgirdwood@gmail.com; robh@kernel.org; krzk+dt@kernel.org; conor+dt@kernel.org; devicetree@vger.kernel.org; Yi, Ken; Lo, Henry; Chen, Robin; Wang, Will; jim.shil@goertek.com; toastcheng@google.com; chinkaiting@google.com
> >> Subject: Re: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
> >>
> >> On 02/03/2026 09:24, Xu, Baojun wrote:
> >>>>>>
> >>>>>>> MODULE_DEVICE_TABLE(i2c, tasdevice_id);
> >>>>>>> @@ -144,6 +145,7 @@ static const struct of_device_id tasdevice_of_match[] = {
> >>>>>>> { .compatible = "ti,tas5827" },
> >>>>>>> { .compatible = "ti,tas5828" },
> >>>>>>> { .compatible = "ti,tas5830" },
> >>>>>>> + { .compatible = "ti,tas5832" },
> >>>>>>
> >>>>>> So it is fully compatible with tas5830 and most of the changes here are
> >>>>>> not needed?
> >>>>>
> >>>>> Yes, it's fully compatible with tas5827/28/30.
> >>>>
> >>>> Then above hunk and many others are not needed.
> >>>
> >>> Hi, because those chips have different on the voltage, so the parameters
> >>> is different, have to use different firmware binary, so we must identify
> >>> every chip in the driver.
> >>
> >> That would explain other ID tables (and should be briefly mentioned in
> >> the commit msg), but not this one, because here you do not customize the
> >> binary at all.
> >>
> >
> > Hi, we save the chip_id in the dev_name:
> > strscpy(tas_priv->dev_name, tasdevice_id[tas_priv->chip_id].name,
> > sizeof(tas_priv->dev_name));
>
> And where do you see the name in above table?
>
Hi, in the patch of first email, I has added "tas5832" in array tasdevice_id.
diff --git a/sound/soc/codecs/tas2781-i2c.c b/sound/soc/codecs/tas2781-i2c.c
index 41b89fcc69c3..9228b3b6383b 100644
--- a/sound/soc/codecs/tas2781-i2c.c
+++ b/sound/soc/codecs/tas2781-i2c.c
@@ -119,6 +119,7 @@ static const struct i2c_device_id tasdevice_id[] = {
{ "tas5827", TAS5827 },
{ "tas5828", TAS5828 },
{ "tas5830", TAS5830 },
+ { "tas5832", TAS5832 },
{}
};
Best Regards
Jim
^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
2026-03-02 9:27 ` Krzysztof Kozlowski
2026-03-02 9:37 ` Xu, Baojun
@ 2026-03-02 9:44 ` andriy.shevchenko
2026-03-02 10:09 ` Krzysztof Kozlowski
1 sibling, 1 reply; 19+ messages in thread
From: andriy.shevchenko @ 2026-03-02 9:44 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Xu, Baojun, broonie@kernel.org, tiwai@suse.de,
13916275206@139.com, Ding, Shenghao, linux-sound@vger.kernel.org,
linux-kernel@vger.kernel.org, lgirdwood@gmail.com,
robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
devicetree@vger.kernel.org, Yi, Ken, Lo, Henry, Chen, Robin,
Wang, Will, jim.shil@goertek.com, toastcheng@google.com,
chinkaiting@google.com
On Mon, Mar 02, 2026 at 10:27:49AM +0100, Krzysztof Kozlowski wrote:
> On 02/03/2026 10:22, Xu, Baojun wrote:
> >> From: Krzysztof Kozlowski <krzk@kernel.org>
> >> Sent: 02 March 2026 16:58
> >> On 02/03/2026 09:24, Xu, Baojun wrote:
...
> >>>>>>> static const struct of_device_id tasdevice_of_match[] = {
> >>>>>>> { .compatible = "ti,tas5827" },
> >>>>>>> { .compatible = "ti,tas5828" },
> >>>>>>> { .compatible = "ti,tas5830" },
> >>>>>>> + { .compatible = "ti,tas5832" },
> >>>>>>
> >>>>>> So it is fully compatible with tas5830 and most of the changes here are
> >>>>>> not needed?
> >>>>>
> >>>>> Yes, it's fully compatible with tas5827/28/30.
> >>>>
> >>>> Then above hunk and many others are not needed.
> >>>
> >>> Hi, because those chips have different on the voltage, so the parameters
> >>> is different, have to use different firmware binary, so we must identify
> >>> every chip in the driver.
> >>
> >> That would explain other ID tables (and should be briefly mentioned in
> >> the commit msg), but not this one, because here you do not customize the
> >> binary at all.
> >
> > Hi, we save the chip_id in the dev_name:
> > strscpy(tas_priv->dev_name, tasdevice_id[tas_priv->chip_id].name,
> > sizeof(tas_priv->dev_name));
>
> And where do you see the name in above table?
I don't know what you are trying to get from them, but I²C enumeration
on DT platforms works in a way that it takes two tables into account,
hence, if there is no compatible (with given part number) there will be
no matching name.
AFAIK it has to have a compatible to make it work in such a case.
What did I miss?
The code in question is i2c_of_match_device_sysfs() call in
i2c_of_match_device() which does this magic.
> > And get firmware binary from this dev_name:
> > scnprintf(tas_priv->rca_binaryname, 64, "%sRCA%d.bin",
> > tas_priv->dev_name, tas_priv->ndev);
>
> Or here?
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
2026-03-02 9:37 ` Xu, Baojun
@ 2026-03-02 10:07 ` Krzysztof Kozlowski
0 siblings, 0 replies; 19+ messages in thread
From: Krzysztof Kozlowski @ 2026-03-02 10:07 UTC (permalink / raw)
To: Xu, Baojun
Cc: broonie@kernel.org, tiwai@suse.de,
andriy.shevchenko@linux.intel.com, 13916275206@139.com,
Ding, Shenghao, linux-sound@vger.kernel.org,
linux-kernel@vger.kernel.org, lgirdwood@gmail.com,
robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
devicetree@vger.kernel.org, Yi, Ken, Lo, Henry, Chen, Robin,
Wang, Will, jim.shil@goertek.com, toastcheng@google.com,
chinkaiting@google.com
On 02/03/2026 10:37, Xu, Baojun wrote:
>>
>> ________________________________________
>> From: Krzysztof Kozlowski <krzk@kernel.org>
>> Sent: 02 March 2026 17:27
>> To: Xu, Baojun
>> Cc: broonie@kernel.org; tiwai@suse.de; andriy.shevchenko@linux.intel.com; 13916275206@139.com; Ding, Shenghao; linux-sound@vger.kernel.org; linux-kernel@vger.kernel.org; lgirdwood@gmail.com; robh@kernel.org; krzk+dt@kernel.org; conor+dt@kernel.org; devicetree@vger.kernel.org; Yi, Ken; Lo, Henry; Chen, Robin; Wang, Will; jim.shil@goertek.com; toastcheng@google.com; chinkaiting@google.com
>> Subject: Re: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
>>
>> On 02/03/2026 10:22, Xu, Baojun wrote:
>>>>
>>>> ________________________________________
>>>> From: Krzysztof Kozlowski <krzk@kernel.org>
>>>> Sent: 02 March 2026 16:58
>>>> To: Xu, Baojun
>>>> Cc: broonie@kernel.org; tiwai@suse.de; andriy.shevchenko@linux.intel.com; 13916275206@139.com; Ding, Shenghao; linux-sound@vger.kernel.org; linux-kernel@vger.kernel.org; lgirdwood@gmail.com; robh@kernel.org; krzk+dt@kernel.org; conor+dt@kernel.org; devicetree@vger.kernel.org; Yi, Ken; Lo, Henry; Chen, Robin; Wang, Will; jim.shil@goertek.com; toastcheng@google.com; chinkaiting@google.com
>>>> Subject: Re: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
>>>>
>>>> On 02/03/2026 09:24, Xu, Baojun wrote:
>>>>>>>>
>>>>>>>>> MODULE_DEVICE_TABLE(i2c, tasdevice_id);
>>>>>>>>> @@ -144,6 +145,7 @@ static const struct of_device_id tasdevice_of_match[] = {
>>>>>>>>> { .compatible = "ti,tas5827" },
>>>>>>>>> { .compatible = "ti,tas5828" },
>>>>>>>>> { .compatible = "ti,tas5830" },
>>>>>>>>> + { .compatible = "ti,tas5832" },
>>>>>>>>
>>>>>>>> So it is fully compatible with tas5830 and most of the changes here are
>>>>>>>> not needed?
>>>>>>>
>>>>>>> Yes, it's fully compatible with tas5827/28/30.
>>>>>>
>>>>>> Then above hunk and many others are not needed.
>>>>>
>>>>> Hi, because those chips have different on the voltage, so the parameters
>>>>> is different, have to use different firmware binary, so we must identify
>>>>> every chip in the driver.
>>>>
>>>> That would explain other ID tables (and should be briefly mentioned in
>>>> the commit msg), but not this one, because here you do not customize the
>>>> binary at all.
>>>>
>>>
>>> Hi, we save the chip_id in the dev_name:
>>> strscpy(tas_priv->dev_name, tasdevice_id[tas_priv->chip_id].name,
>>> sizeof(tas_priv->dev_name));
>>
>> And where do you see the name in above table?
>>
> Hi, in the patch of first email, I has added "tas5832" in array tasdevice_id.
>
> diff --git a/sound/soc/codecs/tas2781-i2c.c b/sound/soc/codecs/tas2781-i2c.c
> index 41b89fcc69c3..9228b3b6383b 100644
> --- a/sound/soc/codecs/tas2781-i2c.c
> +++ b/sound/soc/codecs/tas2781-i2c.c
> @@ -119,6 +119,7 @@ static const struct i2c_device_id tasdevice_id[] = {
> { "tas5827", TAS5827 },
> { "tas5828", TAS5828 },
> { "tas5830", TAS5830 },
> + { "tas5832", TAS5832 },
And was my comment next to this array? No.
You keep bouncing messages without replying to the actual problem. So
let's rephrase it - provide arguments, e.g. logical code flow analysis
coming from human not AI slop, that change I commented under is necessary.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
2026-03-02 9:44 ` andriy.shevchenko
@ 2026-03-02 10:09 ` Krzysztof Kozlowski
2026-03-06 10:08 ` Ding, Shenghao
0 siblings, 1 reply; 19+ messages in thread
From: Krzysztof Kozlowski @ 2026-03-02 10:09 UTC (permalink / raw)
To: andriy.shevchenko@linux.intel.com
Cc: Xu, Baojun, broonie@kernel.org, tiwai@suse.de,
13916275206@139.com, Ding, Shenghao, linux-sound@vger.kernel.org,
linux-kernel@vger.kernel.org, lgirdwood@gmail.com,
robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
devicetree@vger.kernel.org, Yi, Ken, Lo, Henry, Chen, Robin,
Wang, Will, jim.shil@goertek.com, toastcheng@google.com,
chinkaiting@google.com
On 02/03/2026 10:44, andriy.shevchenko@linux.intel.com wrote:
> On Mon, Mar 02, 2026 at 10:27:49AM +0100, Krzysztof Kozlowski wrote:
>> On 02/03/2026 10:22, Xu, Baojun wrote:
>>>> From: Krzysztof Kozlowski <krzk@kernel.org>
>>>> Sent: 02 March 2026 16:58
>>>> On 02/03/2026 09:24, Xu, Baojun wrote:
>
> ...
>
>>>>>>>>> static const struct of_device_id tasdevice_of_match[] = {
>
>>>>>>>>> { .compatible = "ti,tas5827" },
>>>>>>>>> { .compatible = "ti,tas5828" },
>>>>>>>>> { .compatible = "ti,tas5830" },
>>>>>>>>> + { .compatible = "ti,tas5832" },
>>>>>>>>
>>>>>>>> So it is fully compatible with tas5830 and most of the changes here are
>>>>>>>> not needed?
>>>>>>>
>>>>>>> Yes, it's fully compatible with tas5827/28/30.
>>>>>>
>>>>>> Then above hunk and many others are not needed.
>>>>>
>>>>> Hi, because those chips have different on the voltage, so the parameters
>>>>> is different, have to use different firmware binary, so we must identify
>>>>> every chip in the driver.
>>>>
>>>> That would explain other ID tables (and should be briefly mentioned in
>>>> the commit msg), but not this one, because here you do not customize the
>>>> binary at all.
>>>
>>> Hi, we save the chip_id in the dev_name:
>>> strscpy(tas_priv->dev_name, tasdevice_id[tas_priv->chip_id].name,
>>> sizeof(tas_priv->dev_name));
>>
>> And where do you see the name in above table?
>
> I don't know what you are trying to get from them, but I²C enumeration
> on DT platforms works in a way that it takes two tables into account,
> hence, if there is no compatible (with given part number) there will be
> no matching name.
>
> AFAIK it has to have a compatible to make it work in such a case.
> What did I miss?
Show me please then how the OF table is used here at all to get the name.
>
> The code in question is i2c_of_match_device_sysfs() call in
> i2c_of_match_device() which does this magic.
Added entry is not by i2c_of_match_device(), so if you use that as
argument we can conclude - this is completely redundant, so remove it.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 19+ messages in thread
* RE: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
2026-03-02 10:09 ` Krzysztof Kozlowski
@ 2026-03-06 10:08 ` Ding, Shenghao
2026-03-06 10:41 ` Krzysztof Kozlowski
0 siblings, 1 reply; 19+ messages in thread
From: Ding, Shenghao @ 2026-03-06 10:08 UTC (permalink / raw)
To: Krzysztof Kozlowski, andriy.shevchenko@linux.intel.com
Cc: Xu, Baojun, broonie@kernel.org, tiwai@suse.de,
13916275206@139.com, linux-sound@vger.kernel.org,
linux-kernel@vger.kernel.org, lgirdwood@gmail.com,
robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
devicetree@vger.kernel.org, Yi, Ken, Lo, Henry, Chen, Robin,
Wang, Will, jim.shil@goertek.com, toastcheng@google.com,
chinkaiting@google.com
Hi, Krzysztof & Andy,
> -----Original Message-----
> From: Krzysztof Kozlowski <krzk@kernel.org>
> Sent: Monday, March 2, 2026 6:09 PM
> To: andriy.shevchenko@linux.intel.com
> Cc: Xu, Baojun <baojun.xu@ti.com>; broonie@kernel.org; tiwai@suse.de;
> 13916275206@139.com; Ding, Shenghao <shenghao-ding@ti.com>; linux-
> sound@vger.kernel.org; linux-kernel@vger.kernel.org; lgirdwood@gmail.com;
> robh@kernel.org; krzk+dt@kernel.org; conor+dt@kernel.org;
> devicetree@vger.kernel.org; Yi, Ken <k-yi@ti.com>; Lo, Henry
> <henry.lo@ti.com>; Chen, Robin <robinchen@ti.com>; Wang, Will <will-
> wang@ti.com>; jim.shil@goertek.com; toastcheng@google.com;
> chinkaiting@google.com
> Subject: Re: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832
> support
>
...
> > ...
> >
> >>>>>>>>> static const struct of_device_id tasdevice_of_match[] = {
> >
> >>>>>>>>> { .compatible = "ti,tas5827" },
> >>>>>>>>> { .compatible = "ti,tas5828" },
> >>>>>>>>> { .compatible = "ti,tas5830" },
> >>>>>>>>> + { .compatible = "ti,tas5832" },
> >>>>>>>>
...
> >
> > I don't know what you are trying to get from them, but I²C enumeration
> > on DT platforms works in a way that it takes two tables into account,
> > hence, if there is no compatible (with given part number) there will
> > be no matching name.
> >
> > AFAIK it has to have a compatible to make it work in such a case.
> > What did I miss?
>
> Show me please then how the OF table is used here at all to get the name.
This code will also be used for ACPI devices. To ensure consistent bin file
naming between ACPI and DTS devices, the mapping table tasdevice_id[]
has been introduced.
The code retrieves the corresponding name of the chip from tasdevice_id[]
based on its order in tasdevice_of_match[] or tasdevice_acpi_match[].
This information is then concatenated to form the name of the bin file.
>
> >
> > The code in question is i2c_of_match_device_sysfs() call in
> > i2c_of_match_device() which does this magic.
>
> Added entry is not by i2c_of_match_device(), so if you use that as argument we
> can conclude - this is completely redundant, so remove it.
>
>
>
> Best regards,
> Krzysztof
BR
Shenghao
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
2026-03-06 10:08 ` Ding, Shenghao
@ 2026-03-06 10:41 ` Krzysztof Kozlowski
2026-03-17 6:05 ` Ding, Shenghao
0 siblings, 1 reply; 19+ messages in thread
From: Krzysztof Kozlowski @ 2026-03-06 10:41 UTC (permalink / raw)
To: Ding, Shenghao, andriy.shevchenko@linux.intel.com
Cc: Xu, Baojun, broonie@kernel.org, tiwai@suse.de,
13916275206@139.com, linux-sound@vger.kernel.org,
linux-kernel@vger.kernel.org, lgirdwood@gmail.com,
robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
devicetree@vger.kernel.org, Yi, Ken, Lo, Henry, Chen, Robin,
Wang, Will, jim.shil@goertek.com, toastcheng@google.com,
chinkaiting@google.com
On 06/03/2026 11:08, Ding, Shenghao wrote:
> Hi, Krzysztof & Andy,
>
>> -----Original Message-----
>> From: Krzysztof Kozlowski <krzk@kernel.org>
>> Sent: Monday, March 2, 2026 6:09 PM
>> To: andriy.shevchenko@linux.intel.com
>> Cc: Xu, Baojun <baojun.xu@ti.com>; broonie@kernel.org; tiwai@suse.de;
>> 13916275206@139.com; Ding, Shenghao <shenghao-ding@ti.com>; linux-
>> sound@vger.kernel.org; linux-kernel@vger.kernel.org; lgirdwood@gmail.com;
>> robh@kernel.org; krzk+dt@kernel.org; conor+dt@kernel.org;
>> devicetree@vger.kernel.org; Yi, Ken <k-yi@ti.com>; Lo, Henry
>> <henry.lo@ti.com>; Chen, Robin <robinchen@ti.com>; Wang, Will <will-
>> wang@ti.com>; jim.shil@goertek.com; toastcheng@google.com;
>> chinkaiting@google.com
>> Subject: Re: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832
>> support
>>
> ...
>>> ...
>>>
>>>>>>>>>>> static const struct of_device_id tasdevice_of_match[] = {
>>>
>>>>>>>>>>> { .compatible = "ti,tas5827" },
>>>>>>>>>>> { .compatible = "ti,tas5828" },
>>>>>>>>>>> { .compatible = "ti,tas5830" },
>>>>>>>>>>> + { .compatible = "ti,tas5832" },
>>>>>>>>>>
> ...
>>>
>>> I don't know what you are trying to get from them, but I²C enumeration
>>> on DT platforms works in a way that it takes two tables into account,
>>> hence, if there is no compatible (with given part number) there will
>>> be no matching name.
>>>
>>> AFAIK it has to have a compatible to make it work in such a case.
>>> What did I miss?
>>
>> Show me please then how the OF table is used here at all to get the name.
>
> This code will also be used for ACPI devices. To ensure consistent bin file
> naming between ACPI and DTS devices, the mapping table tasdevice_id[]
> has been introduced.
We need to stop discussing with irrelevant arguments, really.
I asked to show me how this is going to be used in DT. No answer to this
part.
Now you claim this OF ID will be used for ACPI devices, but YOU HAVE
already ACPI table there, so that's clearly invalid argument. Do you
understand how patch/email review works? Where the comments appear and
what is being discussed?
> The code retrieves the corresponding name of the chip from tasdevice_id[]
> based on its order in tasdevice_of_match[] or tasdevice_acpi_match[].
Based on the order in table? No, that's crazy buggy solution to tie
order of entries in both tables. And it makes no sense... and I am sure
code does not do it, so again irrelevant argument.
NAK, because all the replies so far are off-topic.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 19+ messages in thread
* RE: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
2026-03-06 10:41 ` Krzysztof Kozlowski
@ 2026-03-17 6:05 ` Ding, Shenghao
2026-03-17 7:06 ` Krzysztof Kozlowski
0 siblings, 1 reply; 19+ messages in thread
From: Ding, Shenghao @ 2026-03-17 6:05 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Xu, Baojun, broonie@kernel.org, tiwai@suse.de,
13916275206@139.com, linux-sound@vger.kernel.org,
linux-kernel@vger.kernel.org, lgirdwood@gmail.com,
robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
devicetree@vger.kernel.org, andriy.shevchenko@linux.intel.com
> >>>
> >>>>>>>>>>> static const struct of_device_id tasdevice_of_match[] = {
> >>>
> >>>>>>>>>>> { .compatible = "ti,tas5827" },
> >>>>>>>>>>> { .compatible = "ti,tas5828" },
> >>>>>>>>>>> { .compatible = "ti,tas5830" },
> >>>>>>>>>>> + { .compatible = "ti,tas5832" },
> >>>>>>>>>>
> > ...
> >>>
> >>> I don't know what you are trying to get from them, but I²C
> >>> enumeration on DT platforms works in a way that it takes two tables
> >>> into account, hence, if there is no compatible (with given part
> >>> number) there will be no matching name.
> >>>
> >>> AFAIK it has to have a compatible to make it work in such a case.
> >>> What did I miss?
> >>
> >> Show me please then how the OF table is used here at all to get the name.
> >
> > This code will also be used for ACPI devices. To ensure consistent bin
> > file naming between ACPI and DTS devices, the mapping table
> > tasdevice_id[] has been introduced.
>
> We need to stop discussing with irrelevant arguments, really.
>
> I asked to show me how this is going to be used in DT. No answer to this part.
>
> Now you claim this OF ID will be used for ACPI devices, but YOU HAVE already
> ACPI table there, so that's clearly invalid argument. Do you understand how
> patch/email review works? Where the comments appear and what is being
> discussed?
>
> > The code retrieves the corresponding name of the chip from
> > tasdevice_id[] based on its order in tasdevice_of_match[] or
> tasdevice_acpi_match[].
>
> Based on the order in table? No, that's crazy buggy solution to tie order of
> entries in both tables. And it makes no sense... and I am sure code does not
> do it, so again irrelevant argument.
It should be noted that the current implementation relies on id_table
(rather than OF_ID) to obtain the chip name and chip ID. The chip ID i
s specifically reserved for handling exceptional cases, for example,
the workaround for the TAS2781’s lower speaker impedance issue.
Since the 58xx family lacks a dedicated register to query the chip ID,
both the supported chip ID and name are stored in id_table.
This approach allows compatibility with both DT-based (Device Tree)
and ACPI-based (Advanced Configuration and Power Interface) device.
if (ACPI_HANDLE(&i2c->dev)) {
acpi_id = acpi_match_device(i2c->dev.driver->acpi_match_table,
&i2c->dev);
if (!acpi_id) {
dev_err(&i2c->dev, "No driver data\n");
ret = -EINVAL;
goto err;
}
tas_priv->chip_id = acpi_id->driver_data;
tas_priv->isacpi = true;
} else {
tas_priv->chip_id = (uintptr_t)i2c_get_match_data(i2c);
tas_priv->isacpi = false;
}
>
> NAK, because all the replies so far are off-topic.
>
> Best regards,
> Krzysztof
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
2026-03-17 6:05 ` Ding, Shenghao
@ 2026-03-17 7:06 ` Krzysztof Kozlowski
2026-03-26 2:24 ` Ding, Shenghao
0 siblings, 1 reply; 19+ messages in thread
From: Krzysztof Kozlowski @ 2026-03-17 7:06 UTC (permalink / raw)
To: Ding, Shenghao
Cc: Xu, Baojun, broonie@kernel.org, tiwai@suse.de,
13916275206@139.com, linux-sound@vger.kernel.org,
linux-kernel@vger.kernel.org, lgirdwood@gmail.com,
robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
devicetree@vger.kernel.org, andriy.shevchenko@linux.intel.com
On 17/03/2026 07:05, Ding, Shenghao wrote:
>>>>>
>>>>>>>>>>>>> static const struct of_device_id tasdevice_of_match[] = {
>>>>>
>>>>>>>>>>>>> { .compatible = "ti,tas5827" },
>>>>>>>>>>>>> { .compatible = "ti,tas5828" },
>>>>>>>>>>>>> { .compatible = "ti,tas5830" },
>>>>>>>>>>>>> + { .compatible = "ti,tas5832" },
>>>>>>>>>>>>
>>> ...
>>>>>
>>>>> I don't know what you are trying to get from them, but I²C
>>>>> enumeration on DT platforms works in a way that it takes two tables
>>>>> into account, hence, if there is no compatible (with given part
>>>>> number) there will be no matching name.
>>>>>
>>>>> AFAIK it has to have a compatible to make it work in such a case.
>>>>> What did I miss?
>>>>
>>>> Show me please then how the OF table is used here at all to get the name.
>>>
>>> This code will also be used for ACPI devices. To ensure consistent bin
>>> file naming between ACPI and DTS devices, the mapping table
>>> tasdevice_id[] has been introduced.
>>
>> We need to stop discussing with irrelevant arguments, really.
>>
>> I asked to show me how this is going to be used in DT. No answer to this part.
>>
>> Now you claim this OF ID will be used for ACPI devices, but YOU HAVE already
>> ACPI table there, so that's clearly invalid argument. Do you understand how
>> patch/email review works? Where the comments appear and what is being
>> discussed?
>>
>>> The code retrieves the corresponding name of the chip from
>>> tasdevice_id[] based on its order in tasdevice_of_match[] or
>> tasdevice_acpi_match[].
>>
>> Based on the order in table? No, that's crazy buggy solution to tie order of
>> entries in both tables. And it makes no sense... and I am sure code does not
>> do it, so again irrelevant argument.
>
> It should be noted that the current implementation relies on id_table
OF ID table is the ID table which we talk here about. Please read again
where do the comments appear, which part is being discussed.
> (rather than OF_ID) to obtain the chip name and chip ID. The chip ID i
> s specifically reserved for handling exceptional cases, for example,
> the workaround for the TAS2781’s lower speaker impedance issue.
>
> Since the 58xx family lacks a dedicated register to query the chip ID,
> both the supported chip ID and name are stored in id_table.
> This approach allows compatibility with both DT-based (Device Tree)
> and ACPI-based (Advanced Configuration and Power Interface) device.
>
> if (ACPI_HANDLE(&i2c->dev)) {
> acpi_id = acpi_match_device(i2c->dev.driver->acpi_match_table,
> &i2c->dev);
> if (!acpi_id) {
> dev_err(&i2c->dev, "No driver data\n");
> ret = -EINVAL;
> goto err;
> }
> tas_priv->chip_id = acpi_id->driver_data;
> tas_priv->isacpi = true;
> } else {
> tas_priv->chip_id = (uintptr_t)i2c_get_match_data(i2c);
> tas_priv->isacpi = false;
> }
I do not see the point you are making. All last replies felt off topic
to me, so just to be sure - do you understand how i2c_get_match_data()
works? That it calls device_get_match_data() which will return what?
What exactly?
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 19+ messages in thread
* RE: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
2026-03-17 7:06 ` Krzysztof Kozlowski
@ 2026-03-26 2:24 ` Ding, Shenghao
0 siblings, 0 replies; 19+ messages in thread
From: Ding, Shenghao @ 2026-03-26 2:24 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Xu, Baojun, broonie@kernel.org, tiwai@suse.de,
13916275206@139.com, linux-sound@vger.kernel.org,
linux-kernel@vger.kernel.org, lgirdwood@gmail.com,
robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
devicetree@vger.kernel.org, andriy.shevchenko@linux.intel.com
Hi Krzk,
>
> > (rather than OF_ID) to obtain the chip name and chip ID. The chip ID i
> > s specifically reserved for handling exceptional cases, for example,
> > the workaround for the TAS2781’s lower speaker impedance issue.
> >
> > Since the 58xx family lacks a dedicated register to query the chip ID,
> > both the supported chip ID and name are stored in id_table.
> > This approach allows compatibility with both DT-based (Device Tree)
> > and ACPI-based (Advanced Configuration and Power Interface) device.
> >
> > if (ACPI_HANDLE(&i2c->dev)) {
> > acpi_id = acpi_match_device(i2c->dev.driver-
> >acpi_match_table,
> > &i2c->dev);
> > if (!acpi_id) {
> > dev_err(&i2c->dev, "No driver data\n");
> > ret = -EINVAL;
> > goto err;
> > }
> > tas_priv->chip_id = acpi_id->driver_data;
> > tas_priv->isacpi = true;
> > } else {
> > tas_priv->chip_id = (uintptr_t)i2c_get_match_data(i2c);
> > tas_priv->isacpi = false;
> > }
>
> I do not see the point you are making. All last replies felt off topic to me, so
> just to be sure - do you understand how i2c_get_match_data() works? That it
> calls device_get_match_data() which will return what?
> What exactly?
In my understanding, may I have following modification, and omit id_table assignment in the i2c_driver structure?
static const struct of_device_id tasdevice_of_match[] = {
{ .compatible = "ti,tas2020", .data = &tasdevice_id[TAS2020] },
{ .compatible = "ti,tas2118", .data = &tasdevice_id[TAS2118] },
{ .compatible = "ti,tas2120", .data = &tasdevice_id[TAS2120] },
{ .compatible = "ti,tas2320", .data = &tasdevice_id[TAS2320] },
{ .compatible = "ti,tas2563", .data = &tasdevice_id[TAS2563] },
{ .compatible = "ti,tas2568", .data = &tasdevice_id[TAS2568] },
{ .compatible = "ti,tas2570", .data = &tasdevice_id[TAS2570] },
{ .compatible = "ti,tas2572", .data = &tasdevice_id[TAS2572] },
{ .compatible = "ti,tas2574", .data = &tasdevice_id[TAS2574] },
{ .compatible = "ti,tas2781", .data = &tasdevice_id[TAS2781] },
{ .compatible = "ti,tas5802", .data = &tasdevice_id[TAS5802] },
{ .compatible = "ti,tas5806m", .data = &tasdevice_id[TAS5806M] },
{ .compatible = "ti,tas5806md", .data = &tasdevice_id[TAS5806MD] },
{ .compatible = "ti,tas5815", .data = &tasdevice_id[TAS5815] },
{ .compatible = "ti,tas5822", .data = &tasdevice_id[TAS5822] },
{ .compatible = "ti,tas5825", .data = &tasdevice_id[TAS5825] },
{ .compatible = "ti,tas5827", .data = &tasdevice_id[TAS5827] },
{ .compatible = "ti,tas5828", .data = &tasdevice_id[TAS5828] },
{ .compatible = "ti,tas5830", .data = &tasdevice_id[TAS5830] },
{},
};
static const struct acpi_device_id tasdevice_acpi_match[] = {
{ "TXNW2020", &tasdevice_id[TAS2020] },
{ "TXNW2118", &tasdevice_id[TAS2118] },
{ "TXNW2120", &tasdevice_id[TAS2120] },
{ "TXNW2320", &tasdevice_id[TAS2320] },
{ "TXNW2563", &tasdevice_id[TAS2563] },
{ "TXNW2568", &tasdevice_id[TAS2568] },
{ "TXNW2570", &tasdevice_id[TAS2570] },
{ "TXNW2572", &tasdevice_id[TAS2572] },
{ "TXNW2574", &tasdevice_id[TAS2574] },
{ "TXNW2781", &tasdevice_id[TAS2781] },
{ "TXNW5802", &tasdevice_id[TAS5802] },
{ "TXNW806M", &tasdevice_id[TAS5806M] },
{ "TXNW806D", &tasdevice_id[TAS5806MD] },
{ "TXNW5815", &tasdevice_id[TAS5815] },
{ "TXNW5822", &tasdevice_id[TAS5822] },
{ "TXNW5825", &tasdevice_id[TAS5825] },
{ "TXNW5827", &tasdevice_id[TAS5827] },
{ "TXNW5828", &tasdevice_id[TAS5828] },
{ "TXNW5830", &tasdevice_id[TAS5830] },
{},
};
>
> Best regards,
> Krzysztof
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2026-03-26 2:24 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-26 7:57 [PATCH v1 1/2] ASoC: dt-bindings: ti,tas2781: Add TAS5832 support Baojun Xu
2026-02-26 7:57 ` [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support Baojun Xu
2026-02-27 10:34 ` Krzysztof Kozlowski
2026-02-27 10:40 ` [EXTERNAL] " Xu, Baojun
2026-02-27 10:46 ` Krzysztof Kozlowski
2026-03-02 8:24 ` Xu, Baojun
2026-03-02 8:58 ` Krzysztof Kozlowski
2026-03-02 9:22 ` Xu, Baojun
2026-03-02 9:27 ` Krzysztof Kozlowski
2026-03-02 9:37 ` Xu, Baojun
2026-03-02 10:07 ` Krzysztof Kozlowski
2026-03-02 9:44 ` andriy.shevchenko
2026-03-02 10:09 ` Krzysztof Kozlowski
2026-03-06 10:08 ` Ding, Shenghao
2026-03-06 10:41 ` Krzysztof Kozlowski
2026-03-17 6:05 ` Ding, Shenghao
2026-03-17 7:06 ` Krzysztof Kozlowski
2026-03-26 2:24 ` Ding, Shenghao
2026-02-27 10:35 ` [PATCH v1 1/2] ASoC: dt-bindings: ti,tas2781: Add TAS5832 support Krzysztof Kozlowski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox