Re: [PATCH v10 01/30] rcar-vin: add Gen3 devicetree bindings documentation
Hi Niklas, Thank you for the patch. On Monday, 29 January 2018 18:34:06 EET Niklas Söderlund wrote: > Document the devicetree bindings for the CSI-2 inputs available on Gen3. > > There is a need to add a custom property 'renesas,id' and to define > which CSI-2 input is described in which endpoint under the port@1 node. > This information is needed since there are a set of predefined routes > between each VIN and CSI-2 block. This routing table will be kept > inside the driver but in order for it to act on it it must know which > VIN and CSI-2 is which. > > Signed-off-by: Niklas Söderlund> Acked-by: Rob Herring Reviewed-by: Laurent Pinchart > --- > .../devicetree/bindings/media/rcar_vin.txt | 118 +++--- > 1 file changed, 106 insertions(+), 12 deletions(-) > > diff --git a/Documentation/devicetree/bindings/media/rcar_vin.txt > b/Documentation/devicetree/bindings/media/rcar_vin.txt index > c60e6b0a89b67a8c..90d92836284b7f68 100644 > --- a/Documentation/devicetree/bindings/media/rcar_vin.txt > +++ b/Documentation/devicetree/bindings/media/rcar_vin.txt > @@ -2,8 +2,12 @@ Renesas R-Car Video Input driver (rcar_vin) > --- > > The rcar_vin device provides video input capabilities for the Renesas R-Car > -family of devices. The current blocks are always slaves and suppot one > input -channel which can be either RGB, YUYV or BT656. > +family of devices. > + > +Each VIN instance has a single parallel input that supports RGB and YUV > video, +with both external synchronization and BT.656 synchronization for > the latter. +Depending on the instance the VIN input is connected to > external SoC pins, or +on Gen3 platforms to a CSI-2 receiver. > > - compatible: Must be one or more of the following > - "renesas,vin-r8a7743" for the R8A7743 device > @@ -16,6 +20,8 @@ channel which can be either RGB, YUYV or BT656. > - "renesas,vin-r8a7793" for the R8A7793 device > - "renesas,vin-r8a7794" for the R8A7794 device > - "renesas,vin-r8a7795" for the R8A7795 device > + - "renesas,vin-r8a7796" for the R8A7796 device > + - "renesas,vin-r8a77970" for the R8A77970 device > - "renesas,rcar-gen2-vin" for a generic R-Car Gen2 or RZ/G1 compatible > device. > - "renesas,rcar-gen3-vin" for a generic R-Car Gen3 compatible device. > @@ -31,21 +37,38 @@ channel which can be either RGB, YUYV or BT656. > Additionally, an alias named vinX will need to be created to specify > which video input device this is. > > -The per-board settings: > +The per-board settings Gen2 platforms: > - port sub-node describing a single endpoint connected to the vin > as described in video-interfaces.txt[1]. Only the first one will > be considered as each vin interface has one input port. > > - These settings are used to work out video input format and widths > - into the system. > +The per-board settings Gen3 platforms: > > +Gen3 platforms can support both a single connected parallel input source > +from external SoC pins (port0) and/or multiple parallel input sources > +from local SoC CSI-2 receivers (port1) depending on SoC. > > -Device node example > > +- renesas,id - ID number of the VIN, VINx in the documentation. > +- ports > +- port 0 - sub-node describing a single endpoint connected to the VIN > + from external SoC pins described in video-interfaces.txt[1]. > + Describing more then one endpoint in port 0 is invalid. Only VIN > + instances that are connected to external pins should have port 0. > +- port 1 - sub-nodes describing one or more endpoints connected to > + the VIN from local SoC CSI-2 receivers. The endpoint numbers must > + use the following schema. > > - aliases { > -vin0 = > - }; > +- Endpoint 0 - sub-node describing the endpoint connected to CSI20 > +- Endpoint 1 - sub-node describing the endpoint connected to CSI21 > +- Endpoint 2 - sub-node describing the endpoint connected to CSI40 > +- Endpoint 3 - sub-node describing the endpoint connected to CSI41 > + > +Device node example for Gen2 platforms > +-- > + > +aliases { > +vin0 = > +}; > > vin0: vin@e6ef { > compatible = "renesas,vin-r8a7790", > "renesas,rcar-gen2-vin"; @@ -55,8 +78,8 @@ Device node example > status = "disabled"; > }; > > -Board setup example (vin1 composite video input) > - > +Board setup example for Gen2 platforms (vin1 composite video input) > +--- > > { > status = "ok"; > @@ -95,6 +118,77 @@ Board setup example (vin1 composite video input) > }; > }; > > +Device node example for Gen3
[PATCH v10 01/30] rcar-vin: add Gen3 devicetree bindings documentation
Document the devicetree bindings for the CSI-2 inputs available on Gen3. There is a need to add a custom property 'renesas,id' and to define which CSI-2 input is described in which endpoint under the port@1 node. This information is needed since there are a set of predefined routes between each VIN and CSI-2 block. This routing table will be kept inside the driver but in order for it to act on it it must know which VIN and CSI-2 is which. Signed-off-by: Niklas SöderlundAcked-by: Rob Herring --- .../devicetree/bindings/media/rcar_vin.txt | 118 ++--- 1 file changed, 106 insertions(+), 12 deletions(-) diff --git a/Documentation/devicetree/bindings/media/rcar_vin.txt b/Documentation/devicetree/bindings/media/rcar_vin.txt index c60e6b0a89b67a8c..90d92836284b7f68 100644 --- a/Documentation/devicetree/bindings/media/rcar_vin.txt +++ b/Documentation/devicetree/bindings/media/rcar_vin.txt @@ -2,8 +2,12 @@ Renesas R-Car Video Input driver (rcar_vin) --- The rcar_vin device provides video input capabilities for the Renesas R-Car -family of devices. The current blocks are always slaves and suppot one input -channel which can be either RGB, YUYV or BT656. +family of devices. + +Each VIN instance has a single parallel input that supports RGB and YUV video, +with both external synchronization and BT.656 synchronization for the latter. +Depending on the instance the VIN input is connected to external SoC pins, or +on Gen3 platforms to a CSI-2 receiver. - compatible: Must be one or more of the following - "renesas,vin-r8a7743" for the R8A7743 device @@ -16,6 +20,8 @@ channel which can be either RGB, YUYV or BT656. - "renesas,vin-r8a7793" for the R8A7793 device - "renesas,vin-r8a7794" for the R8A7794 device - "renesas,vin-r8a7795" for the R8A7795 device + - "renesas,vin-r8a7796" for the R8A7796 device + - "renesas,vin-r8a77970" for the R8A77970 device - "renesas,rcar-gen2-vin" for a generic R-Car Gen2 or RZ/G1 compatible device. - "renesas,rcar-gen3-vin" for a generic R-Car Gen3 compatible device. @@ -31,21 +37,38 @@ channel which can be either RGB, YUYV or BT656. Additionally, an alias named vinX will need to be created to specify which video input device this is. -The per-board settings: +The per-board settings Gen2 platforms: - port sub-node describing a single endpoint connected to the vin as described in video-interfaces.txt[1]. Only the first one will be considered as each vin interface has one input port. - These settings are used to work out video input format and widths - into the system. +The per-board settings Gen3 platforms: +Gen3 platforms can support both a single connected parallel input source +from external SoC pins (port0) and/or multiple parallel input sources +from local SoC CSI-2 receivers (port1) depending on SoC. -Device node example +- renesas,id - ID number of the VIN, VINx in the documentation. +- ports +- port 0 - sub-node describing a single endpoint connected to the VIN + from external SoC pins described in video-interfaces.txt[1]. + Describing more then one endpoint in port 0 is invalid. Only VIN + instances that are connected to external pins should have port 0. +- port 1 - sub-nodes describing one or more endpoints connected to + the VIN from local SoC CSI-2 receivers. The endpoint numbers must + use the following schema. - aliases { - vin0 = - }; +- Endpoint 0 - sub-node describing the endpoint connected to CSI20 +- Endpoint 1 - sub-node describing the endpoint connected to CSI21 +- Endpoint 2 - sub-node describing the endpoint connected to CSI40 +- Endpoint 3 - sub-node describing the endpoint connected to CSI41 + +Device node example for Gen2 platforms +-- + +aliases { +vin0 = +}; vin0: vin@e6ef { compatible = "renesas,vin-r8a7790", "renesas,rcar-gen2-vin"; @@ -55,8 +78,8 @@ Device node example status = "disabled"; }; -Board setup example (vin1 composite video input) - +Board setup example for Gen2 platforms (vin1 composite video input) +--- { status = "ok"; @@ -95,6 +118,77 @@ Board setup example (vin1 composite video input) }; }; +Device node example for Gen3 platforms +-- +vin0: video@e6ef { +compatible = "renesas,vin-r8a7795"; +reg = <0 0xe6ef 0 0x1000>; +interrupts = ; +clocks = < CPG_MOD 811>; +power-domains = < R8A7795_PD_ALWAYS_ON>; +resets = < 811>; +