diff mbox series

[v2,1/3] media: dt-bindings: media: renesas,fcp: Document RZ/{G2,V2}L FCPVD bindings

Message ID 20220831143722.2067457-2-biju.das.jz@bp.renesas.com
State Superseded, archived
Headers show
Series Enable {fcpvd,vspd} on RZ/G2L SoC | expand

Checks

Context Check Description
robh/checkpatch success
robh/patch-applied success
robh/dtbs-check warning build log
robh/dt-meta-schema success

Commit Message

Biju Das Aug. 31, 2022, 2:37 p.m. UTC
Document FCPVD found in RZ/G2L alike SoCs. FCPVD block is similar to
FCP for VSP found on R-Car SoC's . It has 3 clocks compared to 1
clock on fcpv. Introduce new compatibles renesas,r9a07g044-fcpvd
for RZ/G2{L,LC} and renesas,r9a07g054-fcpvd for RZ/V2L to handle this
difference.

The 3 clocks are shared between du, vspd and fcpvd. Update the bindings
to reflect this.

No driver changes are required as generic compatible string
"renesas,fcpv" will be used as a fallback.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v1->v2:
 * Documented RZ/{G2,V2}L FCPVD bindings
 * Introduces new compatibles renesas,r9a07g0{44,54}-fcpvd
 * Added clock-names property
 * described clocks.
---
 .../bindings/media/renesas,fcp.yaml           | 46 +++++++++++++++++--
 1 file changed, 41 insertions(+), 5 deletions(-)

Comments

Krzysztof Kozlowski Aug. 31, 2022, 3:20 p.m. UTC | #1
On 31/08/2022 17:37, Biju Das wrote:
> Document FCPVD found in RZ/G2L alike SoCs. FCPVD block is similar to
> FCP for VSP found on R-Car SoC's . It has 3 clocks compared to 1
> clock on fcpv. Introduce new compatibles renesas,r9a07g044-fcpvd
> for RZ/G2{L,LC} and renesas,r9a07g054-fcpvd for RZ/V2L to handle this
> difference.
> 
> The 3 clocks are shared between du, vspd and fcpvd. Update the bindings
> to reflect this.
> 
> No driver changes are required as generic compatible string
> "renesas,fcpv" will be used as a fallback.
> 
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> ---
> v1->v2:
>  * Documented RZ/{G2,V2}L FCPVD bindings
>  * Introduces new compatibles renesas,r9a07g0{44,54}-fcpvd
>  * Added clock-names property
>  * described clocks.
> ---
>  .../bindings/media/renesas,fcp.yaml           | 46 +++++++++++++++++--
>  1 file changed, 41 insertions(+), 5 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/media/renesas,fcp.yaml b/Documentation/devicetree/bindings/media/renesas,fcp.yaml
> index 43f2fed8cd33..79a55694b2a2 100644
> --- a/Documentation/devicetree/bindings/media/renesas,fcp.yaml
> +++ b/Documentation/devicetree/bindings/media/renesas,fcp.yaml
> @@ -21,15 +21,23 @@ description: |
>  
>  properties:
>    compatible:
> -    enum:
> -      - renesas,fcpv # FCP for VSP
> -      - renesas,fcpf # FCP for FDP
> +    oneOf:
> +      - items:

No items here. You have just one item, so it is not a list.

> +          - enum:
> +              - renesas,fcpv # FCP for VSP
> +              - renesas,fcpf # FCP for FDP
> +
> +      - items:
> +          - enum:
> +              - renesas,r9a07g044-fcpvd # RZ/G2{L,LC}
> +              - renesas,r9a07g054-fcpvd # RZ/V2L
> +          - const: renesas,fcpv   # generic FCP for VSP fallback
>  
>    reg:
>      maxItems: 1
>  
> -  clocks:
> -    maxItems: 1
> +  clocks: true
> +  clock-names: true

Both should have here the widest constraints: minItems:1 and maxItems:3.


Best regards,
Krzysztof
Biju Das Aug. 31, 2022, 3:32 p.m. UTC | #2
> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Sent: 31 August 2022 16:20
> To: Biju Das <biju.das.jz@bp.renesas.com>; Mauro Carvalho Chehab
> <mchehab@kernel.org>; Rob Herring <robh+dt@kernel.org>; Krzysztof
> Kozlowski <krzysztof.kozlowski+dt@linaro.org>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>; linux-
> media@vger.kernel.org; linux-renesas-soc@vger.kernel.org;
> devicetree@vger.kernel.org; Geert Uytterhoeven
> <geert+renesas@glider.be>; Chris Paterson <Chris.Paterson2@renesas.com>;
> Biju Das <biju.das@bp.renesas.com>; Prabhakar Mahadev Lad
> <prabhakar.mahadev-lad.rj@bp.renesas.com>
> Subject: Re: [PATCH v2 1/3] media: dt-bindings: media: renesas,fcp:
> Document RZ/{G2,V2}L FCPVD bindings
> 
> On 31/08/2022 17:37, Biju Das wrote:
> > Document FCPVD found in RZ/G2L alike SoCs. FCPVD block is similar to
> > FCP for VSP found on R-Car SoC's . It has 3 clocks compared to 1 clock
> > on fcpv. Introduce new compatibles renesas,r9a07g044-fcpvd for
> > RZ/G2{L,LC} and renesas,r9a07g054-fcpvd for RZ/V2L to handle this
> > difference.
> >
> > The 3 clocks are shared between du, vspd and fcpvd. Update the
> > bindings to reflect this.
> >
> > No driver changes are required as generic compatible string
> > "renesas,fcpv" will be used as a fallback.
> >
> > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> > ---
> > v1->v2:
> >  * Documented RZ/{G2,V2}L FCPVD bindings
> >  * Introduces new compatibles renesas,r9a07g0{44,54}-fcpvd
> >  * Added clock-names property
> >  * described clocks.
> > ---
> >  .../bindings/media/renesas,fcp.yaml           | 46 +++++++++++++++++-
> -
> >  1 file changed, 41 insertions(+), 5 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/media/renesas,fcp.yaml
> > b/Documentation/devicetree/bindings/media/renesas,fcp.yaml
> > index 43f2fed8cd33..79a55694b2a2 100644
> > --- a/Documentation/devicetree/bindings/media/renesas,fcp.yaml
> > +++ b/Documentation/devicetree/bindings/media/renesas,fcp.yaml
> > @@ -21,15 +21,23 @@ description: |
> >
> >  properties:
> >    compatible:
> > -    enum:
> > -      - renesas,fcpv # FCP for VSP
> > -      - renesas,fcpf # FCP for FDP
> > +    oneOf:
> > +      - items:
> 
> No items here. You have just one item, so it is not a list.

So you mean, it should be like below.
Can you please confirm my understanding is correct?

oneOf:
   - enum:
       - renesas,fcpv # FCP for VSP
       - renesas,fcpf # FCP for FDP
    - items:
        - enum:
            - renesas,r9a07g044-fcpvd # RZ/G2{L,LC}
            - renesas,r9a07g054-fcpvd # RZ/V2L
            - const: renesas,fcpv   # generic FCP for VSP fallback


> > +              - renesas,fcpv # FCP for VSP
> > +              - renesas,fcpf # FCP for FDP
> 
> > +          - enum:
> > +              - renesas,fcpv # FCP for VSP
> > +              - renesas,fcpf # FCP for FDP
> > +
> > +      - items:
> > +          - enum:
> > +              - renesas,r9a07g044-fcpvd # RZ/G2{L,LC}
> > +              - renesas,r9a07g054-fcpvd # RZ/V2L
> > +          - const: renesas,fcpv   # generic FCP for VSP fallback
> >
> >    reg:
> >      maxItems: 1
> >
> > -  clocks:
> > -    maxItems: 1
> > +  clocks: true
> > +  clock-names: true
> 
> Both should have here the widest constraints: minItems:1 and maxItems:3.

It is taken care in conditional schema right?

It is same as [1], where wider people including you added Rb tag. 

[1] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?h=next-20220831&id=17b5179ef6cd6430945c1da4174ceaf43c93cf1e

Cheers,
Biju
Krzysztof Kozlowski Aug. 31, 2022, 3:38 p.m. UTC | #3
On 31/08/2022 18:32, Biju Das wrote:
>>>  properties:
>>>    compatible:
>>> -    enum:
>>> -      - renesas,fcpv # FCP for VSP
>>> -      - renesas,fcpf # FCP for FDP
>>> +    oneOf:
>>> +      - items:
>>
>> No items here. You have just one item, so it is not a list.
> 
> So you mean, it should be like below.
> Can you please confirm my understanding is correct?
> 
> oneOf:
>    - enum:
>        - renesas,fcpv # FCP for VSP
>        - renesas,fcpf # FCP for FDP
>     - items:
>         - enum:
>             - renesas,r9a07g044-fcpvd # RZ/G2{L,LC}
>             - renesas,r9a07g054-fcpvd # RZ/V2L
>             - const: renesas,fcpv   # generic FCP for VSP fallback

Yes

> 
> 
>>> +              - renesas,fcpv # FCP for VSP
>>> +              - renesas,fcpf # FCP for FDP
>>
>>> +          - enum:
>>> +              - renesas,fcpv # FCP for VSP
>>> +              - renesas,fcpf # FCP for FDP
>>> +
>>> +      - items:
>>> +          - enum:
>>> +              - renesas,r9a07g044-fcpvd # RZ/G2{L,LC}
>>> +              - renesas,r9a07g054-fcpvd # RZ/V2L
>>> +          - const: renesas,fcpv   # generic FCP for VSP fallback
>>>
>>>    reg:
>>>      maxItems: 1
>>>
>>> -  clocks:
>>> -    maxItems: 1
>>> +  clocks: true
>>> +  clock-names: true
>>
>> Both should have here the widest constraints: minItems:1 and maxItems:3.
> 
> It is taken care in conditional schema right?
> 
> It is same as [1], where wider people including you added Rb tag. 

Yeah, it's fine.

Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/media/renesas,fcp.yaml b/Documentation/devicetree/bindings/media/renesas,fcp.yaml
index 43f2fed8cd33..79a55694b2a2 100644
--- a/Documentation/devicetree/bindings/media/renesas,fcp.yaml
+++ b/Documentation/devicetree/bindings/media/renesas,fcp.yaml
@@ -21,15 +21,23 @@  description: |
 
 properties:
   compatible:
-    enum:
-      - renesas,fcpv # FCP for VSP
-      - renesas,fcpf # FCP for FDP
+    oneOf:
+      - items:
+          - enum:
+              - renesas,fcpv # FCP for VSP
+              - renesas,fcpf # FCP for FDP
+
+      - items:
+          - enum:
+              - renesas,r9a07g044-fcpvd # RZ/G2{L,LC}
+              - renesas,r9a07g054-fcpvd # RZ/V2L
+          - const: renesas,fcpv   # generic FCP for VSP fallback
 
   reg:
     maxItems: 1
 
-  clocks:
-    maxItems: 1
+  clocks: true
+  clock-names: true
 
   iommus:
     maxItems: 1
@@ -49,6 +57,34 @@  required:
 
 additionalProperties: false
 
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - renesas,r9a07g044-fcpvd
+              - renesas,r9a07g054-fcpvd
+    then:
+      properties:
+        clocks:
+          items:
+            - description: Main clock
+            - description: Register access clock
+            - description: Video clock
+        clock-names:
+          items:
+            - const: aclk
+            - const: pclk
+            - const: vclk
+      required:
+        - clock-names
+    else:
+      properties:
+        clocks:
+          maxItems: 1
+        clock-names: false
+
 examples:
   # R8A7795 (R-Car H3) FCP for VSP-D1
   - |