1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/display/allwinner,sun4i-a10-display-frontend.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Allwinner A10 Display Engine Frontend Device Tree Bindings
8
9maintainers:
10  - Chen-Yu Tsai <wens@csie.org>
11  - Maxime Ripard <mripard@kernel.org>
12
13description: |
14  The display engine frontend does formats conversion, scaling,
15  deinterlacing and color space conversion.
16
17properties:
18  compatible:
19    enum:
20      - allwinner,sun4i-a10-display-frontend
21      - allwinner,sun5i-a13-display-frontend
22      - allwinner,sun6i-a31-display-frontend
23      - allwinner,sun7i-a20-display-frontend
24      - allwinner,sun8i-a23-display-frontend
25      - allwinner,sun8i-a33-display-frontend
26      - allwinner,sun9i-a80-display-frontend
27
28  reg:
29    maxItems: 1
30
31  interrupts:
32    maxItems: 1
33
34  clocks:
35    items:
36      - description: The frontend interface clock
37      - description: The frontend module clock
38      - description: The frontend DRAM clock
39
40  clock-names:
41    items:
42      - const: ahb
43      - const: mod
44      - const: ram
45
46  # FIXME: This should be made required eventually once every SoC will
47  # have the MBUS declared.
48  interconnects:
49    maxItems: 1
50
51  # FIXME: This should be made required eventually once every SoC will
52  # have the MBUS declared.
53  interconnect-names:
54    const: dma-mem
55
56  resets:
57    maxItems: 1
58
59  ports:
60    type: object
61    description: |
62      A ports node with endpoint definitions as defined in
63      Documentation/devicetree/bindings/media/video-interfaces.txt.
64
65    properties:
66      "#address-cells":
67        const: 1
68
69      "#size-cells":
70        const: 0
71
72      port@0:
73        type: object
74        description: |
75          Input endpoints of the controller.
76
77      port@1:
78        type: object
79        description: |
80          Output endpoints of the controller.
81
82    required:
83      - "#address-cells"
84      - "#size-cells"
85      - port@1
86
87    additionalProperties: false
88
89required:
90  - compatible
91  - reg
92  - interrupts
93  - clocks
94  - clock-names
95  - resets
96  - ports
97
98additionalProperties: false
99
100examples:
101  - |
102    #include <dt-bindings/clock/sun4i-a10-ccu.h>
103    #include <dt-bindings/reset/sun4i-a10-ccu.h>
104
105    fe0: display-frontend@1e00000 {
106        compatible = "allwinner,sun4i-a10-display-frontend";
107        reg = <0x01e00000 0x20000>;
108        interrupts = <47>;
109        clocks = <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_DE_FE0>,
110                 <&ccu CLK_DRAM_DE_FE0>;
111        clock-names = "ahb", "mod",
112                      "ram";
113        resets = <&ccu RST_DE_FE0>;
114
115        ports {
116            #address-cells = <1>;
117            #size-cells = <0>;
118
119            fe0_out: port@1 {
120                #address-cells = <1>;
121                #size-cells = <0>;
122                reg = <1>;
123
124                fe0_out_be0: endpoint@0 {
125                    reg = <0>;
126                    remote-endpoint = <&be0_in_fe0>;
127                };
128
129                fe0_out_be1: endpoint@1 {
130                    reg = <1>;
131                    remote-endpoint = <&be1_in_fe0>;
132                };
133            };
134        };
135    };
136
137
138...
139