On Fri, Feb 14, 2025 at 02:29:51AM +0200, Laurent Pinchart wrote: > Hi Tommaso, Prabhakar, > > Thank you for the patch. > > On Mon, Feb 10, 2025 at 12:45:34PM +0100, Tommaso Merciai wrote: > > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > > > > The MIPI CSI-2 block on the Renesas RZ/V2H(P) SoC is similar to the one > > found on the Renesas RZ/G2L SoC, with the following differences: > > - A different D-PHY > > - Additional registers for the MIPI CSI-2 link > > - Only two clocks > > > > Add a new compatible string, `renesas,r9a09g057-csi2`, for the RZ/V2H(P) > > SoC. > > > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@xxxxxxxxxxxxxx> > > --- > > .../bindings/media/renesas,rzg2l-csi2.yaml | 63 ++++++++++++++----- > > 1 file changed, 48 insertions(+), 15 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yaml b/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yaml > > index 7faa12fecd5b..0d07c55a3f35 100644 > > --- a/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yaml > > +++ b/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yaml > > @@ -17,12 +17,15 @@ description: > > > > properties: > > compatible: > > - items: > > - - enum: > > - - renesas,r9a07g043-csi2 # RZ/G2UL > > - - renesas,r9a07g044-csi2 # RZ/G2{L,LC} > > - - renesas,r9a07g054-csi2 # RZ/V2L > > - - const: renesas,rzg2l-csi2 > > + oneOf: > > + - items: > > + - enum: > > + - renesas,r9a07g043-csi2 # RZ/G2UL > > + - renesas,r9a07g044-csi2 # RZ/G2{L,LC} > > + - renesas,r9a07g054-csi2 # RZ/V2L > > + - const: renesas,rzg2l-csi2 > > + > > I'd drop the empty line. > > > + - const: renesas,r9a09g057-csi2 # RZ/V2H(P) > > > > reg: > > maxItems: 1 > > @@ -31,16 +34,24 @@ properties: > > maxItems: 1 > > > > clocks: > > - items: > > - - description: Internal clock for connecting CRU and MIPI > > - - description: CRU Main clock > > - - description: CRU Register access clock > > + oneOf: > > + - items: > > + - description: Internal clock for connecting CRU and MIPI > > + - description: CRU Main clock > > + - description: CRU Register access clock > > + - items: > > + - description: CRU Main clock > > + - description: CRU Register access clock > > > > clock-names: > > - items: > > - - const: system > > - - const: video > > - - const: apb > > + oneOf: > > + - items: > > + - const: system > > + - const: video > > + - const: apb > > + - items: > > + - const: video > > + - const: apb > > I would move the clocks and clock-names definitions to the conditional > below. Otherwise I think a device tree that has two clocks only but > incorrectly uses "system" and "video" instead of "video" and "apb" will > validate. No, that wouldn't be allowed. The preference is to have it like this because it discourages creating more variations. If the names are all defined in if/then schema, then you can just add a new one with any names you want. Though if the variations become such a mess, then defining them in the if/then schemas would probably be better. It would be better if 'clocks' could be reworked to avoid the 'oneOf' though (oneOf == poor error messages). It just needs a 'minItems: 2' added and the descriptions reworded for both cases. Rob