Documentation / devicetree / bindings / display / allwinner,sun4i-a10-display-engine.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/allwinner,sun4i-a10-display-engine.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner A10 Display Engine Pipeline

maintainers:
  - Chen-Yu Tsai <wens@csie.org>
  - Maxime Ripard <mripard@kernel.org>

description: |
  The display engine pipeline (and its entry point, since it can be
  either directly the backend or the frontend) is represented as an
  extra node.
 
  The Allwinner A10 Display pipeline is composed of several components
  that are going to be documented below:
 
  For all connections between components up to the TCONs in the
  display pipeline, when there are multiple components of the same
  type at the same depth, the local endpoint ID must be the same as
  the remote component's index. For example, if the remote endpoint is
  Frontend 1, then the local endpoint ID must be 1.
 
  Frontend 0  [0] ------- [0]  Backend 0  [0] ------- [0]  TCON 0
              [1] --   -- [1]             [1] --   -- [1]
                    \ /                         \ /
                     X                           X
                    / \                         / \
              [0] --   -- [0]             [0] --   -- [0]
  Frontend 1  [1] ------- [1]  Backend 1  [1] ------- [1]  TCON 1
 
  For a two pipeline system such as the one depicted above, the lines
  represent the connections between the components, while the numbers
  within the square brackets corresponds to the ID of the local endpoint.
 
  The same rule also applies to DE 2.0 mixer-TCON connections:
 
  Mixer 0  [0] ----------- [0]  TCON 0
           [1] ----   ---- [1]
                   \ /
                    X
                   / \
           [0] ----   ---- [0]
  Mixer 1  [1] ----------- [1]  TCON 1

properties:
  compatible:
    enum:
      - allwinner,sun4i-a10-display-engine
      - allwinner,sun5i-a10s-display-engine
      - allwinner,sun5i-a13-display-engine
      - allwinner,sun6i-a31-display-engine
      - allwinner,sun6i-a31s-display-engine
      - allwinner,sun7i-a20-display-engine
      - allwinner,sun8i-a23-display-engine
      - allwinner,sun8i-a33-display-engine
      - allwinner,sun8i-a83t-display-engine
      - allwinner,sun8i-h3-display-engine
      - allwinner,sun8i-r40-display-engine
      - allwinner,sun8i-v3s-display-engine
      - allwinner,sun9i-a80-display-engine
      - allwinner,sun20i-d1-display-engine
      - allwinner,sun50i-a64-display-engine
      - allwinner,sun50i-h6-display-engine

  allwinner,pipelines:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    minItems: 1
    maxItems: 2
    items:
      maxItems: 1
    description: |
      Available display engine frontends (DE 1.0) or mixers (DE
      2.0/3.0) available.

required:
  - compatible
  - allwinner,pipelines

additionalProperties: false

if:
  properties:
    compatible:
      contains:
        enum:
          - allwinner,sun4i-a10-display-engine
          - allwinner,sun6i-a31-display-engine
          - allwinner,sun6i-a31s-display-engine
          - allwinner,sun7i-a20-display-engine
          - allwinner,sun8i-a83t-display-engine
          - allwinner,sun8i-r40-display-engine
          - allwinner,sun9i-a80-display-engine
          - allwinner,sun20i-d1-display-engine
          - allwinner,sun50i-a64-display-engine

then:
  properties:
    allwinner,pipelines:
      minItems: 2

else:
  properties:
    allwinner,pipelines:
      maxItems: 1

examples:
  - |
      de: display-engine {
          compatible = "allwinner,sun4i-a10-display-engine";
          allwinner,pipelines = <&fe0>, <&fe1>;
      };
 
...