2023-12-21 10:15:25

by Shenghao Ding

[permalink] [raw]
Subject: [PATCH v2 5/5] ASoC: dt-bindings: Add tas2563 into ti,ta2781.yaml to support dsp mode better

Add tas2563 to better support dsp mode.

Signed-off-by: Shenghao Ding <[email protected]>

---
Change in v2:
- Add devicetree list and other list of necessary people and lists to CC
- Express Compatibility in the bindings
---
.../devicetree/bindings/sound/ti,tas2781.yaml | 61 +++++++++++++------
1 file changed, 43 insertions(+), 18 deletions(-)

diff --git a/Documentation/devicetree/bindings/sound/ti,tas2781.yaml b/Documentation/devicetree/bindings/sound/ti,tas2781.yaml
index a69e6c223308..76d4357117d5 100644
--- a/Documentation/devicetree/bindings/sound/ti,tas2781.yaml
+++ b/Documentation/devicetree/bindings/sound/ti,tas2781.yaml
@@ -5,36 +5,33 @@
$id: http://devicetree.org/schemas/sound/ti,tas2781.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

-title: Texas Instruments TAS2781 SmartAMP
+title: Texas Instruments TAS2781/TAS2563 SmartAMP

maintainers:
- Shenghao Ding <[email protected]>

description:
- The TAS2781 is a mono, digital input Class-D audio amplifier
- optimized for efficiently driving high peak power into small
- loudspeakers. An integrated on-chip DSP supports Texas Instruments
- Smart Amp speaker protection algorithm. The integrated speaker
- voltage and current sense provides for real time
+ The TAS2781/TAS2563 is a mono, digital input Class-D audio
+ amplifier optimized for efficiently driving high peak power into
+ small loudspeakers. An integrated on-chip DSP supports Texas
+ Instruments Smart Amp speaker protection algorithm. The
+ integrated speaker voltage and current sense provides for real time
monitoring of loudspeaker behavior.

-allOf:
- - $ref: dai-common.yaml#
-
properties:
compatible:
+ description: |
+ ti,tas2781: 24-V Class-D Amplifier with Real Time Integrated Speaker
+ Protection and Audio Processing, 16/20/24/32bit stereo I2S or
+ multichannel TDM.
+
+ ti,tas2563: 6.1-W Boosted Class-D Audio Amplifier With Integrated
+ DSP and IV Sense, 16/20/24/32bit stereo I2S or multichannel TDM.
enum:
- ti,tas2781
+ - ti,tas2563 # fallback compatible

- reg:
- description:
- I2C address, in multiple tas2781s case, all the i2c address
- aggregate as one Audio Device to support multiple audio slots.
- maxItems: 8
- minItems: 1
- items:
- minimum: 0x38
- maximum: 0x3f
+ reg: true

reset-gpios:
maxItems: 1
@@ -49,6 +46,34 @@ required:
- compatible
- reg

+allOf:
+ - $ref: dai-common.yaml#
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - ti,tas2781
+ then:
+ properties:
+ reg:
+ description:
+ I2C address, in multiple AMP case, all the i2c address
+ aggregate as one Audio Device to support multiple audio slots.
+ maxItems: 8
+ minItems: 1
+ items:
+ minimum: 0x38
+ maximum: 0x3f
+ else:
+ properties:
+ reg:
+ maxItems: 4
+ minItems: 1
+ items:
+ minimum: 0x4c
+ maximum: 0x4f
+
additionalProperties: false

examples:
--
2.34.1



2023-12-21 17:29:39

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2 5/5] ASoC: dt-bindings: Add tas2563 into ti,ta2781.yaml to support dsp mode better

On 21/12/2023 11:13, Shenghao Ding wrote:
> Add tas2563 to better support dsp mode.
>
> Signed-off-by: Shenghao Ding <[email protected]>
>
> ---
> Change in v2:
> - Add devicetree list and other list of necessary people and lists to CC
> - Express Compatibility in the bindings

Nothing changed in that matter - no compatibility was expressed.

...

>
> -allOf:
> - - $ref: dai-common.yaml#
> -
> properties:
> compatible:
> + description: |
> + ti,tas2781: 24-V Class-D Amplifier with Real Time Integrated Speaker
> + Protection and Audio Processing, 16/20/24/32bit stereo I2S or
> + multichannel TDM.
> +
> + ti,tas2563: 6.1-W Boosted Class-D Audio Amplifier With Integrated
> + DSP and IV Sense, 16/20/24/32bit stereo I2S or multichannel TDM.
> enum:
> - ti,tas2781
> + - ti,tas2563 # fallback compatible

I don't see any use of fallback. The comment is meaningless. Open
example-schema and see how it is done there.

>
> - reg:
> - description:
> - I2C address, in multiple tas2781s case, all the i2c address
> - aggregate as one Audio Device to support multiple audio slots.
> - maxItems: 8
> - minItems: 1
> - items:
> - minimum: 0x38
> - maximum: 0x3f
> + reg: true

No, why? Keep min/maxItems.

>
> reset-gpios:
> maxItems: 1
> @@ -49,6 +46,34 @@ required:
> - compatible
> - reg
>
> +allOf:
> + - $ref: dai-common.yaml#
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - ti,tas2781
> + then:
> + properties:
> + reg:
> + description:
> + I2C address, in multiple AMP case, all the i2c address
> + aggregate as one Audio Device to support multiple audio slots.

Description applies to second case as well, so keep it in top-level.



Best regards,
Krzysztof