From: Kevin Tang <kevin.t...@unisoc.com>

Adds MIPI DSI Master and MIPI DSI-PHY (D-PHY)
support for Unisoc's display subsystem.

Cc: Orson Zhai <orsonz...@gmail.com>
Cc: Baolin Wang <baolin.w...@linaro.org>
Cc: Chunyan Zhang <zhang.l...@gmail.com>
Signed-off-by: Kevin Tang <kevin.t...@unisoc.com>
---
 .../devicetree/bindings/display/sprd/dphy.txt      | 49 ++++++++++++++++
 .../devicetree/bindings/display/sprd/dsi.txt       | 68 ++++++++++++++++++++++
 2 files changed, 117 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/sprd/dphy.txt
 create mode 100644 Documentation/devicetree/bindings/display/sprd/dsi.txt

diff --git a/Documentation/devicetree/bindings/display/sprd/dphy.txt 
b/Documentation/devicetree/bindings/display/sprd/dphy.txt
new file mode 100644
index 0000000..474c2b2
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/sprd/dphy.txt
@@ -0,0 +1,49 @@
+Unisoc MIPI DSI-PHY (D-PHY)
+============================================================================
+
+Required properties:
+  - compatible: value should be "sprd,dsi-phy".
+  - reg: must be the dsi controller base address.
+  - #address-cells, #size-cells: should be set respectively to <1> and <0>
+
+Video interfaces:
+  Device node can contain video interface port nodes according to [1].
+  The following are properties specific to those nodes:
+
+  port node inbound:
+    - reg: (required) must be 0.
+  port node outbound:
+    - reg: (required) must be 1.
+
+  endpoint node connected from DSI controller node (reg = 0):
+    - remote-endpoint: specifies the endpoint in DSI node.
+  endpoint node connected to panel node (reg = 1):
+    - remote-endpoint: specifies the endpoint in panel node.
+
+[1]: Documentation/devicetree/bindings/media/video-interfaces.txt
+
+
+Example:
+
+       dphy: dphy {
+               compatible = "sprd,dsi-phy";
+               reg = <0x0 0x63100000 0x0 0x1000>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               /* input port*/
+               port@1 {
+                       reg = <1>;
+                       dphy_in: endpoint {
+                               remote-endpoint = <&dsi_out>;
+                       };
+               };
+
+               /* output port */
+               port@0 {
+                       reg = <0>;
+                       dphy_out: endpoint {
+                               remote-endpoint = <&panel_in>;
+                       };
+               };
+       };
diff --git a/Documentation/devicetree/bindings/display/sprd/dsi.txt 
b/Documentation/devicetree/bindings/display/sprd/dsi.txt
new file mode 100644
index 0000000..1719ff5
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/sprd/dsi.txt
@@ -0,0 +1,68 @@
+Unisoc MIPI DSI Master
+=============================================================================
+
+Required properties:
+  - compatible: value should be "sprd,dsi-host";
+  - reg: physical base address and length of the registers set for the device
+  - interrupts: should contain DSI interrupt
+  - clocks: list of clock specifiers, must contain an entry for each required
+           entry in clock-names
+  - clock-names: list of clock names sorted in the same order as the clocks
+                 property.
+  - #address-cells, #size-cells: should be set respectively to <1> and <0>
+    according to DSI host bindings (see MIPI DSI bindings [1])
+
+Optional properties:
+  - power-domains: a phandle to DSIM power domain node
+
+Child nodes:
+  Should contain DSI peripheral nodes (see MIPI DSI bindings [1]).
+
+Video interfaces:
+  Device node can contain video interface port nodes according to [2].
+  The following are properties specific to those nodes:
+
+  port node inbound:
+    - reg: (required) must be 0.
+  port node outbound:
+    - reg: (required) must be 1.
+
+  endpoint node connected from DPU node (reg = 0):
+    - remote-endpoint: specifies the endpoint in DPU node.
+  endpoint node connected to D-PHY node (reg = 1):
+    - remote-endpoint: specifies the endpoint in D-PHY node.
+
+[1]: Documentation/devicetree/bindings/display/mipi-dsi-bus.txt
+[2]: Documentation/devicetree/bindings/media/video-interfaces.txt
+
+Example:
+
+SoC specific DT entry:
+
+       dsi: dsi@63100000 {
+               compatible = "sprd,dsi-host";
+               reg = <0 0x63100000 0 0x1000>;
+               interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
+                       <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
+               clock-names = "clk_aon_apb_disp_eb";
+               clocks = <&clk_aon_top_gates 2>;
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@0 {
+                               reg = <0>;
+                               dsi_in: endpoint {
+                                       remote-endpoint = <&dpu_out>;
+                               };
+                       };
+
+                       port@1 {
+                               reg = <1>;
+                               dsi_out: endpoint@1 {
+                                       remote-endpoint = <&dphy_in>;
+                               };
+                       };
+               };
+       };
\ No newline at end of file
-- 
2.7.4

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

Reply via email to