* [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: [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: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: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: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
* 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
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