linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: philippe.cornu@st.com (Philippe CORNU)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 5/6] dt-bindings: display: stm32: Add DSI host driver
Date: Mon, 19 Jun 2017 18:28:04 +0200	[thread overview]
Message-ID: <1497889685-27349-6-git-send-email-philippe.cornu@st.com> (raw)
In-Reply-To: <1497889685-27349-1-git-send-email-philippe.cornu@st.com>

This patch adds documentation of device tree bindings for the STM32
DSI host driver based on the Synopsys DW MIPI DSI bridge driver.

Signed-off-by: Philippe CORNU <philippe.cornu@st.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
---
 .../devicetree/bindings/display/st,stm32-ltdc.txt  | 104 ++++++++++++++++++++-
 1 file changed, 103 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/display/st,stm32-ltdc.txt b/Documentation/devicetree/bindings/display/st,stm32-ltdc.txt
index 90a8459..6353d79 100644
--- a/Documentation/devicetree/bindings/display/st,stm32-ltdc.txt
+++ b/Documentation/devicetree/bindings/display/st,stm32-ltdc.txt
@@ -12,8 +12,40 @@
   Required nodes:
     - Video port for RGB output.
 
-Example:
+* STMicroelectronics STM32 DSI specific extensions to Synopsys DesignWare MIPI
+  DSI host controller
 
+The STMicroelectronics STM32 DSI driver uses the Synopsys DesignWare MIPI
+DSI host controller driver. For all mandatory properties & nodes, please refer
+to the related documentation in [5].
+
+Mandatory properties specific to STM32 DSI:
+- #address-cells: Should be <1>.
+- #size-cells: Should be <0>.
+- compatible: "st,stm32-dsi".
+- clock-names:
+  - phy pll reference clock string name, must be "ref".
+- resets: see [5].
+- reset-names: see [5].
+
+Mandatory nodes specific to STM32 DSI:
+- ports: A node containing DSI input & output port nodes with endpoint
+  definitions as documented in [3] & [4].
+  - port at 0: DSI input port node, connected to the ltdc rgb output port.
+  - port at 1: DSI output port node, connected to a panel or a bridge input port.
+- panel or bridge node: A node containing the panel or bridge description as
+  documented in [6].
+  - port: panel or bridge port node, connected to the DSI output port (port at 1).
+
+Note: You can find more documentation in the following references
+[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
+[2] Documentation/devicetree/bindings/reset/reset.txt
+[3] Documentation/devicetree/bindings/media/video-interfaces.txt
+[4] Documentation/devicetree/bindings/graph.txt
+[5] Documentation/devicetree/bindings/display/bridge/dw_mipi_dsi.txt
+[6] Documentation/devicetree/bindings/display/mipi-dsi-bus.txt
+
+Example 1: RGB panel
 / {
 	...
 	soc {
@@ -33,3 +65,73 @@ Example:
 		};
 	};
 };
+
+Example 2: DSI panel
+
+/ {
+	...
+	soc {
+	...
+		ltdc: display-controller at 40016800 {
+			compatible = "st,stm32-ltdc";
+			reg = <0x40016800 0x200>;
+			interrupts = <88>, <89>;
+			resets = <&rcc STM32F4_APB2_RESET(LTDC)>;
+			clocks = <&rcc 1 CLK_LCD>;
+			clock-names = "lcd";
+
+			port {
+				ltdc_out_dsi: endpoint {
+					remote-endpoint = <&dsi_in>;
+				};
+			};
+		};
+
+
+		dsi: dsi at 40016c00 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			compatible = "st,stm32-dsi";
+			reg = <0x40016c00 0x800>;
+			clocks = <&rcc 1 CLK_F469_DSI>, <&clk_hse>;
+			clock-names = "ref", "pclk";
+			resets = <&rcc STM32F4_APB2_RESET(DSI)>;
+			reset-names = "apb";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port at 0 {
+					reg = <0>;
+					dsi_in: endpoint {
+						remote-endpoint = <&ltdc_out_dsi>;
+					};
+				};
+
+				port at 1 {
+					reg = <1>;
+					dsi_out: endpoint {
+						remote-endpoint = <&dsi_in_panel>;
+					};
+				};
+
+			};
+
+			panel-dsi at 0 {
+				reg = <0>; /* dsi virtual channel (0..3) */
+				compatible = ...;
+				enable-gpios = ...;
+
+				port {
+					dsi_in_panel: endpoint {
+						remote-endpoint = <&dsi_out>;
+					};
+				};
+
+			};
+
+		};
+
+	};
+};
-- 
1.9.1

  parent reply	other threads:[~2017-06-19 16:28 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-19 16:27 [PATCH v4 0/6] STM32 DSI HOST Philippe CORNU
2017-06-19 16:28 ` [PATCH v4 1/6] drm/stm: ltdc: Add panel-bridge support Philippe CORNU
2017-06-28  4:43   ` Archit Taneja
2017-06-19 16:28 ` [PATCH v4 2/6] dt-bindings: display: Add Synopsys DW MIPI DSI DRM bridge driver Philippe CORNU
2017-06-23 21:25   ` Rob Herring
2017-06-26 16:27     ` Philippe CORNU
2017-06-19 16:28 ` [PATCH v4 3/6] drm/bridge/synopsys: Add MIPI DSI host controller bridge Philippe CORNU
2017-06-28  6:44   ` Archit Taneja
2017-06-28  9:05     ` Andrzej Hajda
2017-07-03  6:21       ` Archit Taneja
2017-06-29 14:43     ` Philippe CORNU
2017-07-03  6:31       ` Archit Taneja
2017-07-03  9:03         ` Philippe CORNU
2017-06-19 16:28 ` [PATCH v4 4/6] dt-bindings: display: stm32: remove st-display-subsystem parent node requirement Philippe CORNU
2017-06-19 16:28 ` Philippe CORNU [this message]
2017-06-23 21:28   ` [PATCH v4 5/6] dt-bindings: display: stm32: Add DSI host driver Rob Herring
2017-06-19 16:28 ` [PATCH v4 6/6] drm/stm: Add STM32 " Philippe CORNU
2017-06-28  6:48   ` 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=1497889685-27349-6-git-send-email-philippe.cornu@st.com \
    --to=philippe.cornu@st.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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).