allwinner,sun4i-a10-display-engine.yaml 3.6 KB

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