0001 # SPDX-License-Identifier: GPL-2.0
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/display/allwinner,sun4i-a10-display-engine.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Allwinner A10 Display Engine Pipeline Device Tree Bindings
0008
0009 maintainers:
0010 - Chen-Yu Tsai <wens@csie.org>
0011 - Maxime Ripard <mripard@kernel.org>
0012
0013 description: |
0014 The display engine pipeline (and its entry point, since it can be
0015 either directly the backend or the frontend) is represented as an
0016 extra node.
0017
0018 The Allwinner A10 Display pipeline is composed of several components
0019 that are going to be documented below:
0020
0021 For all connections between components up to the TCONs in the
0022 display pipeline, when there are multiple components of the same
0023 type at the same depth, the local endpoint ID must be the same as
0024 the remote component's index. For example, if the remote endpoint is
0025 Frontend 1, then the local endpoint ID must be 1.
0026
0027 Frontend 0 [0] ------- [0] Backend 0 [0] ------- [0] TCON 0
0028 [1] -- -- [1] [1] -- -- [1]
0029 \ / \ /
0030 X X
0031 / \ / \
0032 [0] -- -- [0] [0] -- -- [0]
0033 Frontend 1 [1] ------- [1] Backend 1 [1] ------- [1] TCON 1
0034
0035 For a two pipeline system such as the one depicted above, the lines
0036 represent the connections between the components, while the numbers
0037 within the square brackets corresponds to the ID of the local endpoint.
0038
0039 The same rule also applies to DE 2.0 mixer-TCON connections:
0040
0041 Mixer 0 [0] ----------- [0] TCON 0
0042 [1] ---- ---- [1]
0043 \ /
0044 X
0045 / \
0046 [0] ---- ---- [0]
0047 Mixer 1 [1] ----------- [1] TCON 1
0048
0049 properties:
0050 compatible:
0051 enum:
0052 - allwinner,sun4i-a10-display-engine
0053 - allwinner,sun5i-a10s-display-engine
0054 - allwinner,sun5i-a13-display-engine
0055 - allwinner,sun6i-a31-display-engine
0056 - allwinner,sun6i-a31s-display-engine
0057 - allwinner,sun7i-a20-display-engine
0058 - allwinner,sun8i-a23-display-engine
0059 - allwinner,sun8i-a33-display-engine
0060 - allwinner,sun8i-a83t-display-engine
0061 - allwinner,sun8i-h3-display-engine
0062 - allwinner,sun8i-r40-display-engine
0063 - allwinner,sun8i-v3s-display-engine
0064 - allwinner,sun9i-a80-display-engine
0065 - allwinner,sun20i-d1-display-engine
0066 - allwinner,sun50i-a64-display-engine
0067 - allwinner,sun50i-h6-display-engine
0068
0069 allwinner,pipelines:
0070 $ref: /schemas/types.yaml#/definitions/phandle-array
0071 minItems: 1
0072 maxItems: 2
0073 items:
0074 maxItems: 1
0075 description: |
0076 Available display engine frontends (DE 1.0) or mixers (DE
0077 2.0/3.0) available.
0078
0079 required:
0080 - compatible
0081 - allwinner,pipelines
0082
0083 additionalProperties: false
0084
0085 if:
0086 properties:
0087 compatible:
0088 contains:
0089 enum:
0090 - allwinner,sun4i-a10-display-engine
0091 - allwinner,sun6i-a31-display-engine
0092 - allwinner,sun6i-a31s-display-engine
0093 - allwinner,sun7i-a20-display-engine
0094 - allwinner,sun8i-a83t-display-engine
0095 - allwinner,sun8i-r40-display-engine
0096 - allwinner,sun9i-a80-display-engine
0097 - allwinner,sun20i-d1-display-engine
0098 - allwinner,sun50i-a64-display-engine
0099
0100 then:
0101 properties:
0102 allwinner,pipelines:
0103 minItems: 2
0104
0105 else:
0106 properties:
0107 allwinner,pipelines:
0108 maxItems: 1
0109
0110 examples:
0111 - |
0112 de: display-engine {
0113 compatible = "allwinner,sun4i-a10-display-engine";
0114 allwinner,pipelines = <&fe0>, <&fe1>;
0115 };
0116
0117 ...