[PATCH RFC 5/8] dt-bindings: display: add Unisoc's mipi dsi&dphy bindings
From: Kevin Tang
Date: Tue Dec 10 2019 - 03:37:07 EST
From: Kevin Tang <kevin.tang@xxxxxxxxxx>
Adds MIPI DSI Master and MIPI DSI-PHY (D-PHY)
support for Unisoc's display subsystem.
Cc: Orson Zhai <orsonzhai@xxxxxxxxx>
Cc: Baolin Wang <baolin.wang@xxxxxxxxxx>
Cc: Chunyan Zhang <zhang.lyra@xxxxxxxxx>
Signed-off-by: Kevin Tang <kevin.tang@xxxxxxxxxx>
---
.../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