All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Niklas Söderlund" <niklas.soderlund+renesas@ragnatech.se>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Hans Verkuil <hverkuil@xs4all.nl>
Cc: linux-media@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	tomoharu.fukawa.eb@renesas.com,
	"Sakari Ailus" <sakari.ailus@linux.intel.com>,
	"Geert Uytterhoeven" <geert@linux-m68k.org>,
	"Niklas Söderlund" <niklas.soderlund+renesas@ragnatech.se>,
	"Kieran Bingham" <kieran.bingham@ideasonboard.com>
Subject: [PATCH v4 01/27] rcar-vin: add Gen3 devicetree bindings documentation
Date: Fri, 28 Apr 2017 00:41:37 +0200	[thread overview]
Message-ID: <20170427224203.14611-2-niklas.soderlund+renesas@ragnatech.se> (raw)
In-Reply-To: <20170427224203.14611-1-niklas.soderlund+renesas@ragnatech.se>

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 <niklas.soderlund+renesas@ragnatech.se>
---
 .../devicetree/bindings/media/rcar_vin.txt         | 122 +++++++++++++++++++--
 1 file changed, 112 insertions(+), 10 deletions(-)

diff --git a/Documentation/devicetree/bindings/media/rcar_vin.txt b/Documentation/devicetree/bindings/media/rcar_vin.txt
index 6a4e61cbe0116064..6068c2043bf123b6 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,23 @@ The per-board settings:
    These settings are used to work out video input format and widths
    into the system.
 
+The per-board settings Gen3:
+
+- renesas,id - ID number of the VIN
+- 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 +66,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 +106,94 @@ Board setup example (vin1 composite video input)
         };
 };
 
+Device node example Gen3
+------------------------
+
+        vin0: video@e6ef0000 {
+                compatible = "renesas,vin-r8a7795";
+                reg = <0 0xe6ef0000 0 0x1000>;
+                interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
+                clocks = <&cpg CPG_MOD 811>;
+                power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+                status = "disabled";
+
+                renesas,id = <0>;
+
+                ports {
+                        #address-cells = <1>;
+                        #size-cells = <0>;
+
+                        port@1 {
+                                #address-cells = <1>;
+                                #size-cells = <0>;
+
+                                reg = <1>;
+
+                                vin0csi20: endpoint@0 {
+                                        reg = <0>;
+                                        remote-endpoint= <&csi20vin0>;
+                                };
+                                vin0csi21: endpoint@1 {
+                                        reg = <1>;
+                                        remote-endpoint= <&csi21vin0>;
+                                };
+                                vin0csi40: endpoint@2 {
+                                        reg = <2>;
+                                        remote-endpoint= <&csi40vin0>;
+                                };
+                        };
+                };
+        };
+
+        csi20: csi2@fea80000 {
+                compatible = "renesas,r8a7795-csi2", "renesas,rcar-gen3-csi2";
+                reg = <0 0xfea80000 0 0x10000>;
+                interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
+                clocks = <&cpg CPG_MOD 714>;
+                power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+                status = "disabled";
+
+                ports {
+                        #address-cells = <1>;
+                        #size-cells = <0>;
+
+                        port@1 {
+                                #address-cells = <1>;
+                                #size-cells = <0>;
 
+                                reg = <1>;
+
+                                csi20vin0: endpoint@0 {
+                                        remote-endpoint = <&vin0csi20>;
+                                };
+                        };
+                };
+        };
+
+
+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.12.2

  reply	other threads:[~2017-04-27 22:42 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-27 22:41 [PATCH v4 00/27] rcar-vin: Add Gen3 with media controller support Niklas Söderlund
2017-04-27 22:41 ` Niklas Söderlund [this message]
2017-04-27 22:41 ` [PATCH v4 02/27] media: entity: Add has_route entity operation Niklas Söderlund
2017-04-27 22:41 ` [PATCH v4 03/27] media: entity: Add media_entity_has_route() function Niklas Söderlund
2017-04-27 22:41 ` [PATCH v4 04/27] media: entity: Swap pads if route is checked from source to sink Niklas Söderlund
2017-04-27 22:41 ` [PATCH v4 05/27] rcar-vin: move chip information to own struct Niklas Söderlund
2017-04-28  9:10   ` Kieran Bingham
2017-04-27 22:41 ` [PATCH v4 06/27] rcar-vin: move max width and height information to chip information Niklas Söderlund
2017-04-28  9:17   ` Kieran Bingham
2017-04-27 22:41 ` [PATCH v4 07/27] rcar-vin: change name of video device Niklas Söderlund
2017-04-28  9:28   ` Kieran Bingham
2017-04-27 22:41 ` [PATCH v4 08/27] rcar-vin: move functions regarding scaling Niklas Söderlund
2017-04-27 22:41 ` [PATCH v4 09/27] rcar-vin: all Gen2 boards can scale simplify logic Niklas Söderlund
2017-04-27 22:41 ` [PATCH v4 10/27] rcar-vin: do not reset crop and compose when setting format Niklas Söderlund
2017-04-27 22:41 ` [PATCH v4 11/27] rcar-vin: do not allow changing scaling and composing while streaming Niklas Söderlund
2017-04-27 22:41 ` [PATCH v4 12/27] rcar-vin: read subdevice format for crop only when needed Niklas Söderlund
2017-05-04 14:41   ` Sakari Ailus
2017-05-04 14:41     ` Sakari Ailus
2017-04-27 22:41 ` [PATCH v4 13/27] rcar-vin: do not cut height in two for top, bottom or alternate fields Niklas Söderlund
2017-04-27 22:41 ` [PATCH v4 14/27] rcar-vin: move media bus configuration to struct rvin_info Niklas Söderlund
2017-04-27 22:41 ` [PATCH v4 15/27] rcar-vin: enable Gen3 hardware configuration Niklas Söderlund
2017-04-27 22:41 ` [PATCH v4 16/27] rcar-vin: add functions to manipulate Gen3 CHSEL value Niklas Söderlund
2017-05-04 14:45   ` Sakari Ailus
2017-05-04 14:45     ` Sakari Ailus
2017-05-04 15:22     ` Geert Uytterhoeven
2017-04-27 22:41 ` [PATCH v4 17/27] rcar-vin: prepare digital notifier for group notifier Niklas Söderlund
2017-04-27 22:41 ` [PATCH v4 18/27] rcar-vin: add flag to switch to media controller mode Niklas Söderlund
2017-04-27 22:41 ` [PATCH v4 19/27] rcar-vin: use different v4l2 operations in " Niklas Söderlund
2017-05-04 14:59   ` Sakari Ailus
2017-05-04 14:59     ` Sakari Ailus
2017-04-27 22:41 ` [PATCH v4 20/27] rcar-vin: register a media pad if running " Niklas Söderlund
2017-05-04 15:00   ` Sakari Ailus
2017-05-04 15:00     ` Sakari Ailus
2017-04-27 22:41 ` [PATCH v4 21/27] rcar-vin: add group allocator functions Niklas Söderlund
2017-05-04 15:12   ` Sakari Ailus
2017-05-04 15:12     ` Sakari Ailus
2017-05-23  7:46     ` Niklas Söderlund
2017-05-23  7:46       ` Niklas Söderlund
2017-04-27 22:41 ` [PATCH v4 22/27] rcar-vin: add chsel information to rvin_info Niklas Söderlund
2017-04-27 22:41 ` [PATCH v4 23/27] rcar-vin: parse Gen3 OF and setup media graph Niklas Söderlund
2017-05-02 13:02   ` Kieran Bingham
2017-04-27 22:42 ` [PATCH v4 24/27] rcar-vin: add link notify for Gen3 Niklas Söderlund
2017-04-27 22:42 ` [PATCH v4 25/27] rcar-vin: extend {start,stop}_streaming to work with media controller Niklas Söderlund
2017-04-27 22:42 ` [PATCH v4 26/27] rcar-vin: enable support for r8a7795 Niklas Söderlund
2017-04-27 22:42 ` [PATCH v4 27/27] rcar-vin: enable support for r8a7796 Niklas Söderlund

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170427224203.14611-2-niklas.soderlund+renesas@ragnatech.se \
    --to=niklas.soderlund+renesas@ragnatech.se \
    --cc=geert@linux-m68k.org \
    --cc=hverkuil@xs4all.nl \
    --cc=kieran.bingham@ideasonboard.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=tomoharu.fukawa.eb@renesas.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.