xref: /openbmc/linux/Documentation/devicetree/bindings/display/sprd/sprd,display-subsystem.yaml (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
135400e5aSKevin Tang# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
235400e5aSKevin Tang%YAML 1.2
335400e5aSKevin Tang---
435400e5aSKevin Tang$id: http://devicetree.org/schemas/display/sprd/sprd,display-subsystem.yaml#
535400e5aSKevin Tang$schema: http://devicetree.org/meta-schemas/core.yaml#
635400e5aSKevin Tang
735400e5aSKevin Tangtitle: Unisoc DRM master device
835400e5aSKevin Tang
935400e5aSKevin Tangmaintainers:
1035400e5aSKevin Tang  - Kevin Tang <kevin.tang@unisoc.com>
1135400e5aSKevin Tang
1235400e5aSKevin Tangdescription: |
1335400e5aSKevin Tang  The Unisoc DRM master device is a virtual device needed to list all
1435400e5aSKevin Tang  DPU devices or other display interface nodes that comprise the
1535400e5aSKevin Tang  graphics subsystem.
1635400e5aSKevin Tang
1735400e5aSKevin Tang  Unisoc's display pipeline have several components as below description,
1835400e5aSKevin Tang  multi display controllers and corresponding physical interfaces.
1935400e5aSKevin Tang  For different display scenarios, dpu0 and dpu1 maybe binding to different
2035400e5aSKevin Tang  encoder.
2135400e5aSKevin Tang
2235400e5aSKevin Tang  E.g:
2335400e5aSKevin Tang  dpu0 and dpu1 both binding to DSI for dual mipi-dsi display;
2435400e5aSKevin Tang  dpu0 binding to DSI for primary display, and dpu1 binding to DP for external display;
2535400e5aSKevin Tang
2635400e5aSKevin Tang          +-----------------------------------------+
2735400e5aSKevin Tang          |                                         |
2835400e5aSKevin Tang          |                            +---------+  |
2935400e5aSKevin Tang  +----+  |   +----+    +---------+    |DPHY/CPHY|  |   +------+
3035400e5aSKevin Tang  |    +----->+dpu0+--->+MIPI|DSI +--->+Combo    +----->+Panel0|
3135400e5aSKevin Tang  |AXI |  |   +----+    +---------+    +---------+  |   +------+
3235400e5aSKevin Tang  |    |  |                  ^                      |
3335400e5aSKevin Tang  |    |  |                  |                      |
3435400e5aSKevin Tang  |    |  |      +-----------+                      |
3535400e5aSKevin Tang  |    |  |      |                                  |
3635400e5aSKevin Tang  |APB |  |   +--+-+    +-----------+    +---+      |   +------+
3735400e5aSKevin Tang  |    +----->+dpu1+--->+DisplayPort+--->+PHY+--------->+Panel1|
3835400e5aSKevin Tang  |    |  |   +----+    +-----------+    +---+      |   +------+
3935400e5aSKevin Tang  +----+  |                                         |
4035400e5aSKevin Tang          +-----------------------------------------+
4135400e5aSKevin Tang
4235400e5aSKevin Tangproperties:
4335400e5aSKevin Tang  compatible:
4435400e5aSKevin Tang    const: sprd,display-subsystem
4535400e5aSKevin Tang
4635400e5aSKevin Tang  ports:
4735400e5aSKevin Tang    $ref: /schemas/types.yaml#/definitions/phandle-array
48*39bd2b6aSRob Herring    items:
49*39bd2b6aSRob Herring      maxItems: 1
5035400e5aSKevin Tang    description:
5135400e5aSKevin Tang      Should contain a list of phandles pointing to display interface port
5235400e5aSKevin Tang      of DPU devices.
5335400e5aSKevin Tang
5435400e5aSKevin Tangrequired:
5535400e5aSKevin Tang  - compatible
5635400e5aSKevin Tang  - ports
5735400e5aSKevin Tang
5835400e5aSKevin TangadditionalProperties: false
5935400e5aSKevin Tang
6035400e5aSKevin Tangexamples:
6135400e5aSKevin Tang  - |
6235400e5aSKevin Tang    display-subsystem {
6335400e5aSKevin Tang        compatible = "sprd,display-subsystem";
6435400e5aSKevin Tang        ports = <&dpu_out>;
6535400e5aSKevin Tang    };
66