xref: /freebsd/sys/contrib/device-tree/Bindings/display/sprd/sprd,display-subsystem.yaml (revision d5b0e70f7e04d971691517ce1304d86a1e367e2e)
1e67e8565SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2e67e8565SEmmanuel Vadot%YAML 1.2
3e67e8565SEmmanuel Vadot---
4e67e8565SEmmanuel Vadot$id: http://devicetree.org/schemas/display/sprd/sprd,display-subsystem.yaml#
5e67e8565SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6e67e8565SEmmanuel Vadot
7e67e8565SEmmanuel Vadottitle: Unisoc DRM master device
8e67e8565SEmmanuel Vadot
9e67e8565SEmmanuel Vadotmaintainers:
10e67e8565SEmmanuel Vadot  - Kevin Tang <kevin.tang@unisoc.com>
11e67e8565SEmmanuel Vadot
12e67e8565SEmmanuel Vadotdescription: |
13e67e8565SEmmanuel Vadot  The Unisoc DRM master device is a virtual device needed to list all
14e67e8565SEmmanuel Vadot  DPU devices or other display interface nodes that comprise the
15e67e8565SEmmanuel Vadot  graphics subsystem.
16e67e8565SEmmanuel Vadot
17e67e8565SEmmanuel Vadot  Unisoc's display pipeline have several components as below description,
18e67e8565SEmmanuel Vadot  multi display controllers and corresponding physical interfaces.
19e67e8565SEmmanuel Vadot  For different display scenarios, dpu0 and dpu1 maybe binding to different
20e67e8565SEmmanuel Vadot  encoder.
21e67e8565SEmmanuel Vadot
22e67e8565SEmmanuel Vadot  E.g:
23e67e8565SEmmanuel Vadot  dpu0 and dpu1 both binding to DSI for dual mipi-dsi display;
24e67e8565SEmmanuel Vadot  dpu0 binding to DSI for primary display, and dpu1 binding to DP for external display;
25e67e8565SEmmanuel Vadot
26e67e8565SEmmanuel Vadot          +-----------------------------------------+
27e67e8565SEmmanuel Vadot          |                                         |
28e67e8565SEmmanuel Vadot          |                            +---------+  |
29e67e8565SEmmanuel Vadot  +----+  |   +----+    +---------+    |DPHY/CPHY|  |   +------+
30e67e8565SEmmanuel Vadot  |    +----->+dpu0+--->+MIPI|DSI +--->+Combo    +----->+Panel0|
31e67e8565SEmmanuel Vadot  |AXI |  |   +----+    +---------+    +---------+  |   +------+
32e67e8565SEmmanuel Vadot  |    |  |                  ^                      |
33e67e8565SEmmanuel Vadot  |    |  |                  |                      |
34e67e8565SEmmanuel Vadot  |    |  |      +-----------+                      |
35e67e8565SEmmanuel Vadot  |    |  |      |                                  |
36e67e8565SEmmanuel Vadot  |APB |  |   +--+-+    +-----------+    +---+      |   +------+
37e67e8565SEmmanuel Vadot  |    +----->+dpu1+--->+DisplayPort+--->+PHY+--------->+Panel1|
38e67e8565SEmmanuel Vadot  |    |  |   +----+    +-----------+    +---+      |   +------+
39e67e8565SEmmanuel Vadot  +----+  |                                         |
40e67e8565SEmmanuel Vadot          +-----------------------------------------+
41e67e8565SEmmanuel Vadot
42e67e8565SEmmanuel Vadotproperties:
43e67e8565SEmmanuel Vadot  compatible:
44e67e8565SEmmanuel Vadot    const: sprd,display-subsystem
45e67e8565SEmmanuel Vadot
46e67e8565SEmmanuel Vadot  ports:
47e67e8565SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle-array
48*c9ccf3a3SEmmanuel Vadot    items:
49*c9ccf3a3SEmmanuel Vadot      maxItems: 1
50e67e8565SEmmanuel Vadot    description:
51e67e8565SEmmanuel Vadot      Should contain a list of phandles pointing to display interface port
52e67e8565SEmmanuel Vadot      of DPU devices.
53e67e8565SEmmanuel Vadot
54e67e8565SEmmanuel Vadotrequired:
55e67e8565SEmmanuel Vadot  - compatible
56e67e8565SEmmanuel Vadot  - ports
57e67e8565SEmmanuel Vadot
58e67e8565SEmmanuel VadotadditionalProperties: false
59e67e8565SEmmanuel Vadot
60e67e8565SEmmanuel Vadotexamples:
61e67e8565SEmmanuel Vadot  - |
62e67e8565SEmmanuel Vadot    display-subsystem {
63e67e8565SEmmanuel Vadot        compatible = "sprd,display-subsystem";
64e67e8565SEmmanuel Vadot        ports = <&dpu_out>;
65e67e8565SEmmanuel Vadot    };
66