[PATCH 1/3] dt-bindings: Update Tegra194 and Tegra234 HDA bindings

Sheetal . posted 2 patches 7 months, 1 week ago
[PATCH 1/3] dt-bindings: Update Tegra194 and Tegra234 HDA bindings
Posted by Sheetal . 7 months, 1 week ago
From: Sheetal <sheetal@nvidia.com>

- Tegra194 and Tegra234 HDA is not compatible with Tegra30, hence update
  them as standalone compatibles. Also, add necessary logic to the binding
  doc as HDA clocks and resets for Tegra194 and Tegra234 are different from
  Tegra30. This fixes below dtbs_check errors:
   - compatible: 'oneOf' conditional failed, one must be fixed:
        ['nvidia,tegra194-hda'] is too short
        'nvidia,tegra30-hda' was expected
        'nvidia,tegra132-hda' was expected
   - compatible: 'oneOf' conditional failed, one must be fixed:
	['nvidia,tegra234-hda'] is too short
	'nvidia,tegra30-hda' was expected
        'nvidia,tegra132-hda' was expected
   - hda@3510000: clock-names:1: 'hda2hdmi' was expected
   - hda@3510000: reset-names:1: 'hda2hdmi' was expected

Signed-off-by: Sheetal <sheetal@nvidia.com>
---
 .../bindings/sound/nvidia,tegra30-hda.yaml    | 83 ++++++++++++++++---
 1 file changed, 72 insertions(+), 11 deletions(-)

diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.yaml b/Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.yaml
index 3ca9affb79a2..703f009862a4 100644
--- a/Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.yaml
+++ b/Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.yaml
@@ -20,11 +20,12 @@ properties:
 
   compatible:
     oneOf:
-      - const: nvidia,tegra30-hda
+      - enum:
+          - nvidia,tegra30-hda
+          - nvidia,tegra194-hda
+          - nvidia,tegra234-hda
       - items:
           - enum:
-              - nvidia,tegra234-hda
-              - nvidia,tegra194-hda
               - nvidia,tegra186-hda
               - nvidia,tegra210-hda
               - nvidia,tegra124-hda
@@ -48,10 +49,7 @@ properties:
 
   clock-names:
     minItems: 2
-    items:
-      - const: hda
-      - const: hda2hdmi
-      - const: hda2codec_2x
+    maxItems: 3
 
   resets:
     minItems: 2
@@ -59,10 +57,7 @@ properties:
 
   reset-names:
     minItems: 2
-    items:
-      - const: hda
-      - const: hda2hdmi
-      - const: hda2codec_2x
+    maxItems: 3
 
   power-domains:
     maxItems: 1
@@ -93,6 +88,72 @@ required:
 
 additionalProperties: false
 
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - nvidia,tegra30-hda
+    then:
+      properties:
+        clocks:
+          minItems: 3
+        clock-names:
+          items:
+            - const: hda
+            - const: hda2hdmi
+            - const: hda2codec_2x
+        resets:
+          minItems: 3
+        reset-names:
+          items:
+            - const: hda
+            - const: hda2hdmi
+            - const: hda2codec_2x
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - nvidia,tegra194-hda
+    then:
+      properties:
+        clocks:
+          minItems: 3
+        clock-names:
+          items:
+            - const: hda
+            - const: hda2hdmi
+            - const: hda2codec_2x
+        resets:
+          maxItems: 2
+        reset-names:
+          items:
+            - const: hda
+            - const: hda2hdmi
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - nvidia,tegra234-hda
+    then:
+      properties:
+        clocks:
+          minItems: 2
+          maxItems: 2
+        clock-names:
+          items:
+            - const: hda
+            - const: hda2codec_2x
+        resets:
+          maxItems: 2
+        reset-names:
+          items:
+            - const: hda
+            - const: hda2codec_2x
+
 examples:
   - |
     #include<dt-bindings/clock/tegra124-car-common.h>
-- 
2.17.1
Re: [PATCH 1/3] dt-bindings: Update Tegra194 and Tegra234 HDA bindings
Posted by Rob Herring (Arm) 7 months ago
On Mon, 12 May 2025 06:42:56 +0000, Sheetal . wrote:
> From: Sheetal <sheetal@nvidia.com>
> 
> - Tegra194 and Tegra234 HDA is not compatible with Tegra30, hence update
>   them as standalone compatibles. Also, add necessary logic to the binding
>   doc as HDA clocks and resets for Tegra194 and Tegra234 are different from
>   Tegra30. This fixes below dtbs_check errors:
>    - compatible: 'oneOf' conditional failed, one must be fixed:
>         ['nvidia,tegra194-hda'] is too short
>         'nvidia,tegra30-hda' was expected
>         'nvidia,tegra132-hda' was expected
>    - compatible: 'oneOf' conditional failed, one must be fixed:
> 	['nvidia,tegra234-hda'] is too short
> 	'nvidia,tegra30-hda' was expected
>         'nvidia,tegra132-hda' was expected
>    - hda@3510000: clock-names:1: 'hda2hdmi' was expected
>    - hda@3510000: reset-names:1: 'hda2hdmi' was expected
> 
> Signed-off-by: Sheetal <sheetal@nvidia.com>
> ---
>  .../bindings/sound/nvidia,tegra30-hda.yaml    | 83 ++++++++++++++++---
>  1 file changed, 72 insertions(+), 11 deletions(-)
> 

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Re: [PATCH 1/3] dt-bindings: Update Tegra194 and Tegra234 HDA bindings
Posted by Rob Herring 7 months ago
On Mon, May 12, 2025 at 06:42:56AM +0000, Sheetal . wrote:
> From: Sheetal <sheetal@nvidia.com>

Needs a 'ASoC' subject prefix on both patches.

> 
> - Tegra194 and Tegra234 HDA is not compatible with Tegra30, hence update
>   them as standalone compatibles. Also, add necessary logic to the binding
>   doc as HDA clocks and resets for Tegra194 and Tegra234 are different from
>   Tegra30. This fixes below dtbs_check errors:
>    - compatible: 'oneOf' conditional failed, one must be fixed:
>         ['nvidia,tegra194-hda'] is too short
>         'nvidia,tegra30-hda' was expected
>         'nvidia,tegra132-hda' was expected
>    - compatible: 'oneOf' conditional failed, one must be fixed:
> 	['nvidia,tegra234-hda'] is too short
> 	'nvidia,tegra30-hda' was expected
>         'nvidia,tegra132-hda' was expected
>    - hda@3510000: clock-names:1: 'hda2hdmi' was expected
>    - hda@3510000: reset-names:1: 'hda2hdmi' was expected
> 
> Signed-off-by: Sheetal <sheetal@nvidia.com>
> ---
>  .../bindings/sound/nvidia,tegra30-hda.yaml    | 83 ++++++++++++++++---
>  1 file changed, 72 insertions(+), 11 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.yaml b/Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.yaml
> index 3ca9affb79a2..703f009862a4 100644
> --- a/Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.yaml
> +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.yaml
> @@ -20,11 +20,12 @@ properties:
>  
>    compatible:
>      oneOf:
> -      - const: nvidia,tegra30-hda
> +      - enum:
> +          - nvidia,tegra30-hda
> +          - nvidia,tegra194-hda
> +          - nvidia,tegra234-hda
>        - items:
>            - enum:
> -              - nvidia,tegra234-hda
> -              - nvidia,tegra194-hda
>                - nvidia,tegra186-hda
>                - nvidia,tegra210-hda
>                - nvidia,tegra124-hda
> @@ -48,10 +49,7 @@ properties:
>  
>    clock-names:
>      minItems: 2
> -    items:
> -      - const: hda
> -      - const: hda2hdmi
> -      - const: hda2codec_2x
> +    maxItems: 3
>  
>    resets:
>      minItems: 2
> @@ -59,10 +57,7 @@ properties:
>  
>    reset-names:
>      minItems: 2
> -    items:
> -      - const: hda
> -      - const: hda2hdmi
> -      - const: hda2codec_2x
> +    maxItems: 3
>  
>    power-domains:
>      maxItems: 1
> @@ -93,6 +88,72 @@ required:
>  
>  additionalProperties: false
>  
> +allOf:
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - nvidia,tegra30-hda
> +    then:
> +      properties:
> +        clocks:
> +          minItems: 3
> +        clock-names:
> +          items:
> +            - const: hda
> +            - const: hda2hdmi
> +            - const: hda2codec_2x
> +        resets:
> +          minItems: 3
> +        reset-names:
> +          items:
> +            - const: hda
> +            - const: hda2hdmi
> +            - const: hda2codec_2x
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - nvidia,tegra194-hda
> +    then:
> +      properties:
> +        clocks:
> +          minItems: 3
> +        clock-names:
> +          items:
> +            - const: hda
> +            - const: hda2hdmi
> +            - const: hda2codec_2x
> +        resets:
> +          maxItems: 2
> +        reset-names:
> +          items:
> +            - const: hda
> +            - const: hda2hdmi
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - nvidia,tegra234-hda
> +    then:
> +      properties:
> +        clocks:
> +          minItems: 2
> +          maxItems: 2
> +        clock-names:
> +          items:
> +            - const: hda
> +            - const: hda2codec_2x
> +        resets:
> +          maxItems: 2
> +        reset-names:
> +          items:
> +            - const: hda
> +            - const: hda2codec_2x
> +
>  examples:
>    - |
>      #include<dt-bindings/clock/tegra124-car-common.h>
> -- 
> 2.17.1
>
Re: [PATCH 1/3] dt-bindings: Update Tegra194 and Tegra234 HDA bindings
Posted by Sheetal . 7 months ago

On 15-05-2025 03:19, Rob Herring wrote:
> External email: Use caution opening links or attachments
> 
> 
> On Mon, May 12, 2025 at 06:42:56AM +0000, Sheetal . wrote:
>> From: Sheetal <sheetal@nvidia.com>
> 
> Needs a 'ASoC' subject prefix on both patches.

ASoC prefix shouldn't be used here as HDA driver is not under sound/soc.

> 
>>
>> - Tegra194 and Tegra234 HDA is not compatible with Tegra30, hence update
>>    them as standalone compatibles. Also, add necessary logic to the binding
>>    doc as HDA clocks and resets for Tegra194 and Tegra234 are different from
>>    Tegra30. This fixes below dtbs_check errors:
>>     - compatible: 'oneOf' conditional failed, one must be fixed:
>>          ['nvidia,tegra194-hda'] is too short
>>          'nvidia,tegra30-hda' was expected
>>          'nvidia,tegra132-hda' was expected
>>     - compatible: 'oneOf' conditional failed, one must be fixed:
>>        ['nvidia,tegra234-hda'] is too short
>>        'nvidia,tegra30-hda' was expected
>>          'nvidia,tegra132-hda' was expected
>>     - hda@3510000: clock-names:1: 'hda2hdmi' was expected
>>     - hda@3510000: reset-names:1: 'hda2hdmi' was expected
>>
>> Signed-off-by: Sheetal <sheetal@nvidia.com>
>> ---
>>   .../bindings/sound/nvidia,tegra30-hda.yaml    | 83 ++++++++++++++++---
>>   1 file changed, 72 insertions(+), 11 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.yaml b/Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.yaml
>> index 3ca9affb79a2..703f009862a4 100644
>> --- a/Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.yaml
>> +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.yaml
>> @@ -20,11 +20,12 @@ properties:
>>
>>     compatible:
>>       oneOf:
>> -      - const: nvidia,tegra30-hda
>> +      - enum:
>> +          - nvidia,tegra30-hda
>> +          - nvidia,tegra194-hda
>> +          - nvidia,tegra234-hda
>>         - items:
>>             - enum:
>> -              - nvidia,tegra234-hda
>> -              - nvidia,tegra194-hda
>>                 - nvidia,tegra186-hda
>>                 - nvidia,tegra210-hda
>>                 - nvidia,tegra124-hda
>> @@ -48,10 +49,7 @@ properties:
>>
>>     clock-names:
>>       minItems: 2
>> -    items:
>> -      - const: hda
>> -      - const: hda2hdmi
>> -      - const: hda2codec_2x
>> +    maxItems: 3
>>
>>     resets:
>>       minItems: 2
>> @@ -59,10 +57,7 @@ properties:
>>
>>     reset-names:
>>       minItems: 2
>> -    items:
>> -      - const: hda
>> -      - const: hda2hdmi
>> -      - const: hda2codec_2x
>> +    maxItems: 3
>>
>>     power-domains:
>>       maxItems: 1
>> @@ -93,6 +88,72 @@ required:
>>
>>   additionalProperties: false
>>
>> +allOf:
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            enum:
>> +              - nvidia,tegra30-hda
>> +    then:
>> +      properties:
>> +        clocks:
>> +          minItems: 3
>> +        clock-names:
>> +          items:
>> +            - const: hda
>> +            - const: hda2hdmi
>> +            - const: hda2codec_2x
>> +        resets:
>> +          minItems: 3
>> +        reset-names:
>> +          items:
>> +            - const: hda
>> +            - const: hda2hdmi
>> +            - const: hda2codec_2x
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            enum:
>> +              - nvidia,tegra194-hda
>> +    then:
>> +      properties:
>> +        clocks:
>> +          minItems: 3
>> +        clock-names:
>> +          items:
>> +            - const: hda
>> +            - const: hda2hdmi
>> +            - const: hda2codec_2x
>> +        resets:
>> +          maxItems: 2
>> +        reset-names:
>> +          items:
>> +            - const: hda
>> +            - const: hda2hdmi
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            enum:
>> +              - nvidia,tegra234-hda
>> +    then:
>> +      properties:
>> +        clocks:
>> +          minItems: 2
>> +          maxItems: 2
>> +        clock-names:
>> +          items:
>> +            - const: hda
>> +            - const: hda2codec_2x
>> +        resets:
>> +          maxItems: 2
>> +        reset-names:
>> +          items:
>> +            - const: hda
>> +            - const: hda2codec_2x
>> +
>>   examples:
>>     - |
>>       #include<dt-bindings/clock/tegra124-car-common.h>
>> --
>> 2.17.1
>>