Hi Rob, Thank you for the patch. On Tue, Mar 16, 2021 at 01:51:00PM -0600, Rob Herring wrote: > The example in video-interfaces.yaml managed to use a bunch of undocumented > bindings. Update the example to use real bindings (and ones with a schema). > > Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> > Cc: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Cc: linux-media@xxxxxxxxxxxxxxx > Signed-off-by: Rob Herring <robh@xxxxxxxxxx> > --- > .../bindings/media/video-interfaces.yaml | 75 ++++++++----------- > 1 file changed, 33 insertions(+), 42 deletions(-) > > diff --git a/Documentation/devicetree/bindings/media/video-interfaces.yaml b/Documentation/devicetree/bindings/media/video-interfaces.yaml > index 0a7a73fd59f2..f30b9b91717b 100644 > --- a/Documentation/devicetree/bindings/media/video-interfaces.yaml > +++ b/Documentation/devicetree/bindings/media/video-interfaces.yaml > @@ -227,17 +227,12 @@ examples: > # only one of the following data pipelines can be active: > # ov772x -> ceu0 or imx074 -> csi2 -> ceu0. > - | > + #include <dt-bindings/clock/r8a7796-cpg-mssr.h> > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + #include <dt-bindings/power/r8a7796-sysc.h> > + > ceu@fe910000 { > - compatible = "renesas,sh-mobile-ceu"; > reg = <0xfe910000 0xa0>; > - interrupts = <0x880>; > - > - mclk: master_clock { > - compatible = "renesas,ceu-clock"; > - #clock-cells = <1>; > - clock-frequency = <50000000>; /* Max clock frequency */ > - clock-output-names = "mclk"; > - }; > > port { > #address-cells = <1>; > @@ -271,18 +266,14 @@ examples: > #size-cells = <0>; > > camera@21 { > - compatible = "ovti,ov772x"; > + compatible = "ovti,ov7720"; > reg = <0x21>; > - vddio-supply = <®ulator1>; > - vddcore-supply = <®ulator2>; > - > - clock-frequency = <20000000>; > clocks = <&mclk 0>; > - clock-names = "xclk"; > > port { > /* With 1 endpoint per port no need for addresses. */ > ov772x_1_1: endpoint { > + bus-type = <5>; > bus-width = <8>; > remote-endpoint = <&ceu0_1>; > hsync-active = <1>; > @@ -295,48 +286,48 @@ examples: > }; > > camera@1a { > - compatible = "sony,imx074"; > + compatible = "sony,imx334"; > reg = <0x1a>; > - vddio-supply = <®ulator1>; > - vddcore-supply = <®ulator2>; > > - clock-frequency = <30000000>; /* Shared clock with ov772x_1 */ > clocks = <&mclk 0>; > - clock-names = "sysclk"; /* Assuming this is the > - name in the datasheet */ > + > port { > - imx074_1: endpoint { > + imx334_1: endpoint { > clock-lanes = <0>; > data-lanes = <1 2>; > + link-frequencies = /bits/ 64 <891000000>; > remote-endpoint = <&csi2_1>; > }; > }; > }; > }; > > - csi2: csi2@ffc90000 { > - compatible = "renesas,sh-mobile-csi2"; > - reg = <0xffc90000 0x1000>; > - interrupts = <0x17a0>; > - #address-cells = <1>; > - #size-cells = <0>; > + csi2@fea80000 { > + compatible = "renesas,r8a7796-csi2"; That's certainly better, but the r8a7796 doesn't have a CEU :-) It has a VIN. Maybe we could copy the last example from renesas,vin.yaml to replace the CEU ? > + reg = <0xfea80000 0x10000>; > + interrupts = <0 184 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cpg CPG_MOD 714>; > + power-domains = <&sysc R8A7796_PD_ALWAYS_ON>; > + resets = <&cpg 714>; > > - port@1 { > - compatible = "renesas,csi2c"; /* One of CSI2I and CSI2C. */ > - reg = <1>; /* CSI-2 PHY #1 of 2: PHY_S, > - PHY_M has port address 0, > - is unused. */ > - csi2_1: endpoint { > - clock-lanes = <0>; > - data-lanes = <2 1>; > - remote-endpoint = <&imx074_1>; > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + csi2_1: endpoint { > + clock-lanes = <0>; > + data-lanes = <2 1>; > + remote-endpoint = <&imx334_1>; > + }; > }; > - }; > - port@2 { > - reg = <2>; /* port 2: link to the CEU */ > + port@1 { > + reg = <1>; > > - csi2_2: endpoint { > - remote-endpoint = <&ceu0_0>; > + csi2_2: endpoint { > + remote-endpoint = <&ceu0_0>; > + }; > }; > }; > }; -- Regards, Laurent Pinchart