1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun%YAML 1.2 3*4882a593Smuzhiyun--- 4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/display/allwinner,sun4i-a10-display-engine.yaml# 5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml# 6*4882a593Smuzhiyun 7*4882a593Smuzhiyuntitle: Allwinner A10 Display Engine Pipeline Device Tree Bindings 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunmaintainers: 10*4882a593Smuzhiyun - Chen-Yu Tsai <wens@csie.org> 11*4882a593Smuzhiyun - Maxime Ripard <mripard@kernel.org> 12*4882a593Smuzhiyun 13*4882a593Smuzhiyundescription: | 14*4882a593Smuzhiyun The display engine pipeline (and its entry point, since it can be 15*4882a593Smuzhiyun either directly the backend or the frontend) is represented as an 16*4882a593Smuzhiyun extra node. 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun The Allwinner A10 Display pipeline is composed of several components 19*4882a593Smuzhiyun that are going to be documented below: 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun For all connections between components up to the TCONs in the 22*4882a593Smuzhiyun display pipeline, when there are multiple components of the same 23*4882a593Smuzhiyun type at the same depth, the local endpoint ID must be the same as 24*4882a593Smuzhiyun the remote component's index. For example, if the remote endpoint is 25*4882a593Smuzhiyun Frontend 1, then the local endpoint ID must be 1. 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun Frontend 0 [0] ------- [0] Backend 0 [0] ------- [0] TCON 0 28*4882a593Smuzhiyun [1] -- -- [1] [1] -- -- [1] 29*4882a593Smuzhiyun \ / \ / 30*4882a593Smuzhiyun X X 31*4882a593Smuzhiyun / \ / \ 32*4882a593Smuzhiyun [0] -- -- [0] [0] -- -- [0] 33*4882a593Smuzhiyun Frontend 1 [1] ------- [1] Backend 1 [1] ------- [1] TCON 1 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun For a two pipeline system such as the one depicted above, the lines 36*4882a593Smuzhiyun represent the connections between the components, while the numbers 37*4882a593Smuzhiyun within the square brackets corresponds to the ID of the local endpoint. 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun The same rule also applies to DE 2.0 mixer-TCON connections: 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun Mixer 0 [0] ----------- [0] TCON 0 42*4882a593Smuzhiyun [1] ---- ---- [1] 43*4882a593Smuzhiyun \ / 44*4882a593Smuzhiyun X 45*4882a593Smuzhiyun / \ 46*4882a593Smuzhiyun [0] ---- ---- [0] 47*4882a593Smuzhiyun Mixer 1 [1] ----------- [1] TCON 1 48*4882a593Smuzhiyun 49*4882a593Smuzhiyunproperties: 50*4882a593Smuzhiyun compatible: 51*4882a593Smuzhiyun enum: 52*4882a593Smuzhiyun - allwinner,sun4i-a10-display-engine 53*4882a593Smuzhiyun - allwinner,sun5i-a10s-display-engine 54*4882a593Smuzhiyun - allwinner,sun5i-a13-display-engine 55*4882a593Smuzhiyun - allwinner,sun6i-a31-display-engine 56*4882a593Smuzhiyun - allwinner,sun6i-a31s-display-engine 57*4882a593Smuzhiyun - allwinner,sun7i-a20-display-engine 58*4882a593Smuzhiyun - allwinner,sun8i-a23-display-engine 59*4882a593Smuzhiyun - allwinner,sun8i-a33-display-engine 60*4882a593Smuzhiyun - allwinner,sun8i-a83t-display-engine 61*4882a593Smuzhiyun - allwinner,sun8i-h3-display-engine 62*4882a593Smuzhiyun - allwinner,sun8i-r40-display-engine 63*4882a593Smuzhiyun - allwinner,sun8i-v3s-display-engine 64*4882a593Smuzhiyun - allwinner,sun9i-a80-display-engine 65*4882a593Smuzhiyun - allwinner,sun50i-a64-display-engine 66*4882a593Smuzhiyun - allwinner,sun50i-h6-display-engine 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun allwinner,pipelines: 69*4882a593Smuzhiyun $ref: /schemas/types.yaml#/definitions/phandle-array 70*4882a593Smuzhiyun minItems: 1 71*4882a593Smuzhiyun maxItems: 2 72*4882a593Smuzhiyun description: | 73*4882a593Smuzhiyun Available display engine frontends (DE 1.0) or mixers (DE 74*4882a593Smuzhiyun 2.0/3.0) available. 75*4882a593Smuzhiyun 76*4882a593Smuzhiyunrequired: 77*4882a593Smuzhiyun - compatible 78*4882a593Smuzhiyun - allwinner,pipelines 79*4882a593Smuzhiyun 80*4882a593SmuzhiyunadditionalProperties: false 81*4882a593Smuzhiyun 82*4882a593Smuzhiyunif: 83*4882a593Smuzhiyun properties: 84*4882a593Smuzhiyun compatible: 85*4882a593Smuzhiyun contains: 86*4882a593Smuzhiyun enum: 87*4882a593Smuzhiyun - allwinner,sun4i-a10-display-engine 88*4882a593Smuzhiyun - allwinner,sun6i-a31-display-engine 89*4882a593Smuzhiyun - allwinner,sun6i-a31s-display-engine 90*4882a593Smuzhiyun - allwinner,sun7i-a20-display-engine 91*4882a593Smuzhiyun - allwinner,sun8i-a83t-display-engine 92*4882a593Smuzhiyun - allwinner,sun8i-r40-display-engine 93*4882a593Smuzhiyun - allwinner,sun9i-a80-display-engine 94*4882a593Smuzhiyun - allwinner,sun50i-a64-display-engine 95*4882a593Smuzhiyun 96*4882a593Smuzhiyunthen: 97*4882a593Smuzhiyun properties: 98*4882a593Smuzhiyun allwinner,pipelines: 99*4882a593Smuzhiyun minItems: 2 100*4882a593Smuzhiyun 101*4882a593Smuzhiyunelse: 102*4882a593Smuzhiyun properties: 103*4882a593Smuzhiyun allwinner,pipelines: 104*4882a593Smuzhiyun maxItems: 1 105*4882a593Smuzhiyun 106*4882a593Smuzhiyunexamples: 107*4882a593Smuzhiyun - | 108*4882a593Smuzhiyun de: display-engine { 109*4882a593Smuzhiyun compatible = "allwinner,sun4i-a10-display-engine"; 110*4882a593Smuzhiyun allwinner,pipelines = <&fe0>, <&fe1>; 111*4882a593Smuzhiyun }; 112*4882a593Smuzhiyun 113*4882a593Smuzhiyun... 114