summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/display/allwinner,sun4i-a10-display-frontend.yaml
blob: 3eb1c2bbf4e7f976c195f13dba51a507ae8ec641 (plain)
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/allwinner,sun4i-a10-display-frontend.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner A10 Display Engine Frontend Device Tree Bindings

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

description: |
  The display engine frontend does formats conversion, scaling,
  deinterlacing and color space conversion.

properties:
  compatible:
    enum:
      - allwinner,sun4i-a10-display-frontend
      - allwinner,sun5i-a13-display-frontend
      - allwinner,sun6i-a31-display-frontend
      - allwinner,sun7i-a20-display-frontend
      - allwinner,sun8i-a23-display-frontend
      - allwinner,sun8i-a33-display-frontend
      - allwinner,sun9i-a80-display-frontend

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    items:
      - description: The frontend interface clock
      - description: The frontend module clock
      - description: The frontend DRAM clock

  clock-names:
    items:
      - const: ahb
      - const: mod
      - const: ram

  # FIXME: This should be made required eventually once every SoC will
  # have the MBUS declared.
  interconnects:
    maxItems: 1

  # FIXME: This should be made required eventually once every SoC will
  # have the MBUS declared.
  interconnect-names:
    const: dma-mem

  resets:
    maxItems: 1

  ports:
    type: object
    description: |
      A ports node with endpoint definitions as defined in
      Documentation/devicetree/bindings/media/video-interfaces.txt.

    properties:
      "#address-cells":
        const: 1

      "#size-cells":
        const: 0

      port@0:
        type: object
        description: |
          Input endpoints of the controller.

      port@1:
        type: object
        description: |
          Output endpoints of the controller.

    required:
      - "#address-cells"
      - "#size-cells"
      - port@1

    additionalProperties: false

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names
  - resets
  - ports

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/sun4i-a10-ccu.h>
    #include <dt-bindings/reset/sun4i-a10-ccu.h>

    fe0: display-frontend@1e00000 {
        compatible = "allwinner,sun4i-a10-display-frontend";
        reg = <0x01e00000 0x20000>;
        interrupts = <47>;
        clocks = <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_DE_FE0>,
                 <&ccu CLK_DRAM_DE_FE0>;
        clock-names = "ahb", "mod",
                      "ram";
        resets = <&ccu RST_DE_FE0>;

        ports {
            #address-cells = <1>;
            #size-cells = <0>;

            fe0_out: port@1 {
                #address-cells = <1>;
                #size-cells = <0>;
                reg = <1>;

                fe0_out_be0: endpoint@0 {
                    reg = <0>;
                    remote-endpoint = <&be0_in_fe0>;
                };

                fe0_out_be1: endpoint@1 {
                    reg = <1>;
                    remote-endpoint = <&be1_in_fe0>;
                };
            };
        };
    };


...