Re: [Freedreno] [PATCH v3 03/12] dt-bindings: display/msm: sc7180-dpu: Describe SM6350 and SM6375

2023-05-08 Thread Konrad Dybcio



On 7.05.2023 10:14, Krzysztof Kozlowski wrote:
> On 05/05/2023 23:40, Konrad Dybcio wrote:
>> SC7180, SM6350 and SM6375 use a rather similar hw setup for DPU, with
>> the main exception being that the last one requires an additional
>> throttle clock.
>>
>> It is not well understood yet, but failing to toggle it on makes the
>> display hardware stall and not output any frames.
>>
>> Document SM6350 and SM6375 DPU.
>>
>> Signed-off-by: Konrad Dybcio 
>> ---
>>  .../bindings/display/msm/qcom,sc7180-dpu.yaml  | 23 
>> +-
>>  1 file changed, 22 insertions(+), 1 deletion(-)
>>
>> diff --git 
>> a/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml 
>> b/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml
>> index 1fb8321d9ee8..630b11480496 100644
>> --- a/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml
>> +++ b/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml
>> @@ -13,7 +13,10 @@ $ref: /schemas/display/msm/dpu-common.yaml#
>>  
>>  properties:
>>compatible:
>> -const: qcom,sc7180-dpu
>> +enum:
>> +  - qcom,sc7180-dpu
>> +  - qcom,sm6350-dpu
>> +  - qcom,sm6375-dpu
>>  
>>reg:
>>  items:
>> @@ -26,6 +29,7 @@ properties:
>>- const: vbif
>>  
>>clocks:
>> +minItems: 6
>>  items:
>>- description: Display hf axi clock
>>- description: Display ahb clock
>> @@ -33,8 +37,10 @@ properties:
>>- description: Display lut clock
>>- description: Display core clock
>>- description: Display vsync clock
>> +  - description: Display core throttle clock
>>  
>>clock-names:
>> +minItems: 6
>>  items:
>>- const: bus
>>- const: iface
>> @@ -42,6 +48,7 @@ properties:
>>- const: lut
>>- const: core
>>- const: vsync
>> +  - const: throttle
>>  
>>  required:
>>- compatible
>> @@ -52,6 +59,20 @@ required:
>>  
>>  unevaluatedProperties: false
>>  
>> +allOf:
>> +  - if:
>> +  properties:
>> +compatible:
>> +  const: qcom,sm6375-dpu
> 
> And the two other variants? Is the clock valid there or not? If not
> really, then you should have else: with maxItems: 6.
Oh right!

> 
>> +
>> +then:
>> +  properties:
>> +clocks:
>> +  minItems: 7
>> +
>> +clock-names:
>> +  minItems: 7
> 
> If there is going new version - put allOf: before
> unevaluatedProperties:. Otherwise it is fine.
Thanks!

Konrad
> 
>> +
>>  examples:
>>- |
>>  #include 
>>
> 
> Best regards,
> Krzysztof
> 


Re: [Freedreno] [PATCH v3 03/12] dt-bindings: display/msm: sc7180-dpu: Describe SM6350 and SM6375

2023-05-07 Thread Krzysztof Kozlowski
On 05/05/2023 23:40, Konrad Dybcio wrote:
> SC7180, SM6350 and SM6375 use a rather similar hw setup for DPU, with
> the main exception being that the last one requires an additional
> throttle clock.
> 
> It is not well understood yet, but failing to toggle it on makes the
> display hardware stall and not output any frames.
> 
> Document SM6350 and SM6375 DPU.
> 
> Signed-off-by: Konrad Dybcio 
> ---
>  .../bindings/display/msm/qcom,sc7180-dpu.yaml  | 23 
> +-
>  1 file changed, 22 insertions(+), 1 deletion(-)
> 
> diff --git 
> a/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml 
> b/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml
> index 1fb8321d9ee8..630b11480496 100644
> --- a/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml
> +++ b/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml
> @@ -13,7 +13,10 @@ $ref: /schemas/display/msm/dpu-common.yaml#
>  
>  properties:
>compatible:
> -const: qcom,sc7180-dpu
> +enum:
> +  - qcom,sc7180-dpu
> +  - qcom,sm6350-dpu
> +  - qcom,sm6375-dpu
>  
>reg:
>  items:
> @@ -26,6 +29,7 @@ properties:
>- const: vbif
>  
>clocks:
> +minItems: 6
>  items:
>- description: Display hf axi clock
>- description: Display ahb clock
> @@ -33,8 +37,10 @@ properties:
>- description: Display lut clock
>- description: Display core clock
>- description: Display vsync clock
> +  - description: Display core throttle clock
>  
>clock-names:
> +minItems: 6
>  items:
>- const: bus
>- const: iface
> @@ -42,6 +48,7 @@ properties:
>- const: lut
>- const: core
>- const: vsync
> +  - const: throttle
>  
>  required:
>- compatible
> @@ -52,6 +59,20 @@ required:
>  
>  unevaluatedProperties: false
>  
> +allOf:
> +  - if:
> +  properties:
> +compatible:
> +  const: qcom,sm6375-dpu

And the two other variants? Is the clock valid there or not? If not
really, then you should have else: with maxItems: 6.

> +
> +then:
> +  properties:
> +clocks:
> +  minItems: 7
> +
> +clock-names:
> +  minItems: 7

If there is going new version - put allOf: before
unevaluatedProperties:. Otherwise it is fine.

> +
>  examples:
>- |
>  #include 
> 

Best regards,
Krzysztof



[Freedreno] [PATCH v3 03/12] dt-bindings: display/msm: sc7180-dpu: Describe SM6350 and SM6375

2023-05-05 Thread Konrad Dybcio
SC7180, SM6350 and SM6375 use a rather similar hw setup for DPU, with
the main exception being that the last one requires an additional
throttle clock.

It is not well understood yet, but failing to toggle it on makes the
display hardware stall and not output any frames.

Document SM6350 and SM6375 DPU.

Signed-off-by: Konrad Dybcio 
---
 .../bindings/display/msm/qcom,sc7180-dpu.yaml  | 23 +-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml 
b/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml
index 1fb8321d9ee8..630b11480496 100644
--- a/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml
+++ b/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml
@@ -13,7 +13,10 @@ $ref: /schemas/display/msm/dpu-common.yaml#
 
 properties:
   compatible:
-const: qcom,sc7180-dpu
+enum:
+  - qcom,sc7180-dpu
+  - qcom,sm6350-dpu
+  - qcom,sm6375-dpu
 
   reg:
 items:
@@ -26,6 +29,7 @@ properties:
   - const: vbif
 
   clocks:
+minItems: 6
 items:
   - description: Display hf axi clock
   - description: Display ahb clock
@@ -33,8 +37,10 @@ properties:
   - description: Display lut clock
   - description: Display core clock
   - description: Display vsync clock
+  - description: Display core throttle clock
 
   clock-names:
+minItems: 6
 items:
   - const: bus
   - const: iface
@@ -42,6 +48,7 @@ properties:
   - const: lut
   - const: core
   - const: vsync
+  - const: throttle
 
 required:
   - compatible
@@ -52,6 +59,20 @@ required:
 
 unevaluatedProperties: false
 
+allOf:
+  - if:
+  properties:
+compatible:
+  const: qcom,sm6375-dpu
+
+then:
+  properties:
+clocks:
+  minItems: 7
+
+clock-names:
+  minItems: 7
+
 examples:
   - |
 #include 

-- 
2.40.1