[v2,1/3] media: dt-bindings: media: renesas,fcp: Document RZ/{G2,V2}L FCPVD bindings
Commit Message
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
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
> -----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
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
@@ -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
- |