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

Message ID 20231221101346.429-5-shenghao-ding@ti.com
State New
Headers
Series [v2,1/5] ASoC: dt-bindings: remove tas2563 from yaml |

Commit Message

Ding, Shenghao Dec. 21, 2023, 10:13 a.m. UTC
  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

Krzysztof Kozlowski Dec. 21, 2023, 5:29 p.m. UTC | #1
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
  

Patch

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