[v2,5/5] ASoC: dt-bindings: Add tas2563 into ti,ta2781.yaml to support dsp mode better
Commit Message
Add tas2563 to better support dsp mode.
Signed-off-by: Shenghao Ding <shenghao-ding@ti.com>
---
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(-)
Comments
On 21/12/2023 11:13, Shenghao Ding wrote:
> Add tas2563 to better support dsp mode.
>
> Signed-off-by: Shenghao Ding <shenghao-ding@ti.com>
>
> ---
> 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
@@ -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 <shenghao-ding@ti.com>
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: