devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Archit Taneja <architt@codeaurora.org>
To: robh@kernel.org
Cc: devicetree@vger.kernel.org, boris.brezillon@free-electrons.com,
	linux-arm-msm@vger.kernel.org, briannorris@chromium.org,
	philippe.cornu@st.com, dri-devel@lists.freedesktop.org,
	tomi.valkeinen@ti.com, thierry.reding@gmail.com,
	laurent.pinchart@ideasonboard.com,
	maxime.ripard@free-electrons.com
Subject: [PATCH v3 2/2] dt-bindings: mipi-dsi: Add dual-channel DSI related info
Date: Mon,  9 Jul 2018 14:37:51 +0530	[thread overview]
Message-ID: <20180709090751.10221-3-architt@codeaurora.org> (raw)
In-Reply-To: <20180709090751.10221-1-architt@codeaurora.org>

Add binding info for peripherals that support dual-channel DSI. Add
corresponding optional bindings for DSI host controllers that may
be configured in this mode. Add an example of an I2C controlled
device operating in dual-channel DSI mode.

Reviewed-by: Philippe Cornu <philippe.cornu@st.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Archit Taneja <architt@codeaurora.org>
---
 .../devicetree/bindings/display/mipi-dsi-bus.txt   | 80 ++++++++++++++++++++++
 1 file changed, 80 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt b/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt
index b7c5bf47403c..a336599f6c03 100644
--- a/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt
+++ b/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt
@@ -29,6 +29,13 @@ Required properties:
 - #size-cells: Should be 0. There are cases where it makes sense to use a
   different value here. See below.
 
+Optional properties:
+- clock-master: boolean. Should be enabled if the host is being used in
+  conjunction with another DSI host to drive the same peripheral. Hardware
+  supporting such a configuration generally requires the data on both the busses
+  to be driven by the same clock. Only the DSI host instance controlling this
+  clock should contain this property.
+
 DSI peripheral
 ==============
 
@@ -62,6 +69,16 @@ primary control bus, but are also connected to a DSI bus (mostly for the data
 path). Connections between such peripherals and a DSI host can be represented
 using the graph bindings [1], [2].
 
+Peripherals that support dual channel DSI
+-----------------------------------------
+
+Peripherals with higher bandwidth requirements can be connected to 2 DSI
+busses. Each DSI bus/channel drives some portion of the pixel data (generally
+left/right half of each line of the display, or even/odd lines of the display).
+The graph bindings should be used to represent the multiple DSI busses that are
+connected to this peripheral. Each DSI host's output endpoint can be linked to
+an input endpoint of the DSI peripheral.
+
 [1] Documentation/devicetree/bindings/graph.txt
 [2] Documentation/devicetree/bindings/media/video-interfaces.txt
 
@@ -71,6 +88,8 @@ Examples
   with different virtual channel configurations.
 - (4) is an example of a peripheral on a I2C control bus connected to a
   DSI host using of-graph bindings.
+- (5) is an example of 2 DSI hosts driving a dual-channel DSI peripheral,
+  which uses I2C as its primary control bus.
 
 1)
 	dsi-host {
@@ -153,3 +172,64 @@ Examples
 			};
 		};
 	};
+
+5)
+	i2c-host {
+		dsi-bridge@35 {
+			compatible = "...";
+			reg = <0x35>;
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port@0 {
+					reg = <0>;
+					dsi0_in: endpoint {
+						remote-endpoint = <&dsi0_out>;
+					};
+				};
+
+				port@1 {
+					reg = <1>;
+					dsi1_in: endpoint {
+						remote-endpoint = <&dsi1_out>;
+					};
+				};
+			};
+		};
+	};
+
+	dsi0-host {
+		...
+
+		/*
+		 * this DSI instance drives the clock for both the host
+		 * controllers
+		 */
+		clock-master;
+
+		ports {
+			...
+
+			port {
+				dsi0_out: endpoint {
+					remote-endpoint = <&dsi0_in>;
+				};
+			};
+		};
+	};
+
+	dsi1-host {
+		...
+
+		ports {
+			...
+
+			port {
+				dsi1_out: endpoint {
+					remote-endpoint = <&dsi1_in>;
+				};
+			};
+		};
+	};
-- 
2.16.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  parent reply	other threads:[~2018-07-09  9:07 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-05 10:33 [RFC 0/2] dt-bindings: mipi-dsi: dual-channel DSI bindings Archit Taneja
2017-12-05 10:33 ` [RFC 1/2] dt-bindings: mipi-dsi: Add info about peripherals with non-DSI control bus Archit Taneja
2017-12-06 21:39   ` Rob Herring
2017-12-07 15:12     ` Archit Taneja
     [not found] ` <20171205103356.9917-1-architt-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-12-05 10:33   ` [RFC 2/2] dt-bindings: mipi-dsi: Add dual-channel DSI related info Archit Taneja
     [not found]     ` <20171205103356.9917-3-architt-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-12-06 21:42       ` Rob Herring
2018-01-18  4:53   ` [RFC v2 0/2] dt-bindings: mipi-dsi: dual-channel DSI bindings Archit Taneja
     [not found]     ` <20180118045355.8858-1-architt-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-01-18  4:53       ` [RFC v2 1/2] dt-bindings: mipi-dsi: Add info about peripherals with non-DSI control bus Archit Taneja
2018-01-18 14:55         ` Boris Brezillon
2018-01-19 10:22         ` Philippe CORNU
2018-01-29 18:51         ` Rob Herring
2018-01-29 20:09         ` Sean Paul
2018-01-18  4:53       ` [RFC v2 2/2] dt-bindings: mipi-dsi: Add dual-channel DSI related info Archit Taneja
2018-01-19 10:41         ` Philippe CORNU
2018-01-29 20:13         ` Sean Paul
2018-06-04 12:17         ` Heiko Stuebner
2018-06-06  5:59           ` Archit Taneja
2018-06-06  8:30             ` Heiko Stübner
2018-06-06 10:21               ` Archit Taneja
2018-06-06 10:46                 ` Heiko Stübner
2018-06-06 16:07                   ` Archit Taneja
2018-06-06 23:08                     ` Heiko Stuebner
2018-06-07 10:39                       ` Andrzej Hajda
2018-06-07 13:25                         ` Heiko Stübner
2018-06-07 21:10                           ` Brian Norris
2018-06-07 22:50                             ` Heiko Stuebner
2018-06-08  8:47                               ` Andrzej Hajda
2018-06-11 13:47                                 ` Heiko Stuebner
2018-07-09  9:07 ` [PATCH v3 0/2] dt-bindings: mipi-dsi: dual-channel DSI bindings Archit Taneja
2018-07-09  9:07   ` [PATCH v3 1/2] dt-bindings: mipi-dsi: Add info about peripherals with non-DSI control bus Archit Taneja
2018-07-25 11:29     ` Archit Taneja
2018-07-09  9:07   ` Archit Taneja [this message]
2018-07-11 15:48     ` [PATCH v3 2/2] dt-bindings: mipi-dsi: Add dual-channel DSI related info Rob Herring
2018-07-25 11:29       ` Archit Taneja

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=20180709090751.10221-3-architt@codeaurora.org \
    --to=architt@codeaurora.org \
    --cc=boris.brezillon@free-electrons.com \
    --cc=briannorris@chromium.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=maxime.ripard@free-electrons.com \
    --cc=philippe.cornu@st.com \
    --cc=robh@kernel.org \
    --cc=thierry.reding@gmail.com \
    --cc=tomi.valkeinen@ti.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).