Document the Gen3 devicetree bindings. The new bindings are all handled in the port@1 node, if an endpoint is described as on Gen2 in port@0 the driver will work in Gen2 mode and this is supported on Gen3. The new CSI-2 video sources are only supported on Gen3. Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx> --- .../devicetree/bindings/media/rcar_vin.txt | 116 +++++++++++++++++++-- 1 file changed, 106 insertions(+), 10 deletions(-) diff --git a/Documentation/devicetree/bindings/media/rcar_vin.txt b/Documentation/devicetree/bindings/media/rcar_vin.txt index 6a4e61c..64b03f1 100644 --- a/Documentation/devicetree/bindings/media/rcar_vin.txt +++ b/Documentation/devicetree/bindings/media/rcar_vin.txt @@ -2,8 +2,12 @@ Renesas RCar 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. + +On Gen2 the current blocks are always slaves and support one input channel +which can be either RGB, YUYV or BT656. On Gen3 the current blocks are +always slaves and support multiple input channels which can be either RGB, +YUVU, BT656 or CSI-2. - compatible: Must be one or more of the following - "renesas,vin-r8a7795" for the R8A7795 device @@ -28,7 +32,7 @@ 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: - 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. @@ -36,13 +40,22 @@ The per-board settings: These settings are used to work out video input format and widths into the system. +The per-board settings Gen3: + +- ports + - port@0 - Digital video source (same as port node on Gen2) + - port@1 - CSI-2 video sources + -reg 0 - sub-node describing the endpoint which is CSI20 + -reg 1 - sub-node describing the endpoint which is CSI21 + -reg 2 - sub-node describing the endpoint which is CSI40 + -reg 3 - sub-node describing the endpoint which is CSI41 -Device node example -------------------- +Device node example Gen2 +------------------------ - aliases { - vin0 = &vin0; - }; + aliases { + vin0 = &vin0; + }; vin0: vin@0xe6ef0000 { compatible = "renesas,vin-r8a7790", "renesas,rcar-gen2-vin"; @@ -52,8 +65,8 @@ Device node example status = "disabled"; }; -Board setup example (vin1 composite video input) ------------------------------------------------- +Board setup example Gen2 (vin1 composite video input) +----------------------------------------------------- &i2c2 { status = "ok"; @@ -92,6 +105,89 @@ Board setup example (vin1 composite video input) }; }; +Device node example Gen3 +------------------------ + + aliases { + vin0 = &vin0; + }; + + vin1: video@e6ef1000 { + compatible = "renesas,vin-r8a7796"; + reg = <0 0xe6ef1000 0 0x1000>; + interrupts = <0 189 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 810>; + power-domains = <&sysc R8A7796_PD_ALWAYS_ON>; + status = "disabled"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@1 { + #address-cells = <1>; + #size-cells = <0>; + + reg = <1>; + + vin1csi20: endpoint@0 { + reg = <0>; + remote-endpoint= <&csi20vin1>; + }; + }; + }; + }; + + csi20: csi2@fea80000 { + compatible = "renesas,r8a7796-csi2"; + reg = <0 0xfea80000 0 0x10000>; + interrupts = <0 184 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 714>; + power-domains = <&sysc R8A7796_PD_ALWAYS_ON>; + status = "disabled"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@1 { + #address-cells = <1>; + #size-cells = <0>; + + reg = <1>; + + csi20vin1: endpoint@1 { + reg = <1>; + remote-endpoint = <&vin1csi20>; + }; + }; + }; + }; + +Board setup example Gen3 (CSI-2) +-------------------------------- + + &vin0 { + status = "okay"; + }; + + csi20 { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + csi20_in: endpoint@0 { + clock-lanes = <0>; + data-lanes = <1>; + remote-endpoint = <&adv7482_txb>; + }; + }; + }; + }; [1] video-interfaces.txt common video media interface -- 2.10.2 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html