On Tue, Dec 10, 2019 at 04:36:32PM +0800, Kevin Tang wrote: > From: Kevin Tang > > Adds MIPI DSI Master and MIPI DSI-PHY (D-PHY) > support for Unisoc's display subsystem. > > Cc: Orson Zhai > Cc: Baolin Wang > Cc: Chunyan Zhang > Signed-off-by: Kevin Tang > --- > .../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>; > + }; > + }; > + }; There's support for the MIPI D-PHY in the Linux PHY framework now, so it would be a good fit for this (and that would mean using the generic PHY bindings too. > 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. Again, a list of the expected clock names and what they represent would be great here. Thanks! Maxime