mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 04:05:21 +07:00
f5a98bfe7b
The Allwinner SoCs have a display engine composed of several controllers assembled differently depending on the SoC, the number and type of output they have, and the additional features they provide. A number of those are supported in Linux, with the matching bindings. Now that we have the DT validation in place, let's split into separate file and convert the device tree bindings for those controllers to schemas. Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Maxime Ripard <maxime@cerno.tech> Link: https://patchwork.freedesktop.org/patch/msgid/20200103152801.47254-1-maxime@cerno.tech
115 lines
3.5 KiB
YAML
115 lines
3.5 KiB
YAML
# 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 Device Tree Bindings
|
|
|
|
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,sun50i-a64-display-engine
|
|
- allwinner,sun50i-h6-display-engine
|
|
|
|
allwinner,pipelines:
|
|
allOf:
|
|
- $ref: /schemas/types.yaml#/definitions/phandle-array
|
|
- minItems: 1
|
|
maxItems: 2
|
|
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,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>;
|
|
};
|
|
|
|
...
|