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