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 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel