xref: /freebsd/sys/contrib/device-tree/Bindings/display/allwinner,sun9i-a80-deu.yaml (revision 7ef62cebc2f965b0f640263e179276928885e33d)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/display/allwinner,sun9i-a80-deu.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7*7ef62cebSEmmanuel Vadottitle: Allwinner A80 Detail Enhancement Unit
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Chen-Yu Tsai <wens@csie.org>
11c66ec88fSEmmanuel Vadot  - Maxime Ripard <mripard@kernel.org>
12c66ec88fSEmmanuel Vadot
13c66ec88fSEmmanuel Vadotdescription: |
14c66ec88fSEmmanuel Vadot  The DEU (Detail Enhancement Unit), found in the Allwinner A80 SoC,
15c66ec88fSEmmanuel Vadot  can sharpen the display content in both luma and chroma channels.
16c66ec88fSEmmanuel Vadot
17c66ec88fSEmmanuel Vadotproperties:
18c66ec88fSEmmanuel Vadot  compatible:
19c66ec88fSEmmanuel Vadot    const: allwinner,sun9i-a80-deu
20c66ec88fSEmmanuel Vadot
21c66ec88fSEmmanuel Vadot  reg:
22c66ec88fSEmmanuel Vadot    maxItems: 1
23c66ec88fSEmmanuel Vadot
24c66ec88fSEmmanuel Vadot  interrupts:
25c66ec88fSEmmanuel Vadot    maxItems: 1
26c66ec88fSEmmanuel Vadot
27c66ec88fSEmmanuel Vadot  clocks:
28c66ec88fSEmmanuel Vadot    items:
29c66ec88fSEmmanuel Vadot      - description: The DEU interface clock
30c66ec88fSEmmanuel Vadot      - description: The DEU module clock
31c66ec88fSEmmanuel Vadot      - description: The DEU DRAM clock
32c66ec88fSEmmanuel Vadot
33c66ec88fSEmmanuel Vadot  clock-names:
34c66ec88fSEmmanuel Vadot    items:
35c66ec88fSEmmanuel Vadot      - const: ahb
36c66ec88fSEmmanuel Vadot      - const: mod
37c66ec88fSEmmanuel Vadot      - const: ram
38c66ec88fSEmmanuel Vadot
39c66ec88fSEmmanuel Vadot  resets:
40c66ec88fSEmmanuel Vadot    maxItems: 1
41c66ec88fSEmmanuel Vadot
42c66ec88fSEmmanuel Vadot  ports:
435def4c47SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
44c66ec88fSEmmanuel Vadot
45c66ec88fSEmmanuel Vadot    properties:
46c66ec88fSEmmanuel Vadot      port@0:
475def4c47SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
48c66ec88fSEmmanuel Vadot        description: |
49c66ec88fSEmmanuel Vadot          Input endpoints of the controller.
50c66ec88fSEmmanuel Vadot
51c66ec88fSEmmanuel Vadot      port@1:
525def4c47SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
53c66ec88fSEmmanuel Vadot        description: |
54c66ec88fSEmmanuel Vadot          Output endpoints of the controller.
55c66ec88fSEmmanuel Vadot
56c66ec88fSEmmanuel Vadot    required:
57c66ec88fSEmmanuel Vadot      - port@0
58c66ec88fSEmmanuel Vadot      - port@1
59c66ec88fSEmmanuel Vadot
60c66ec88fSEmmanuel Vadotrequired:
61c66ec88fSEmmanuel Vadot  - compatible
62c66ec88fSEmmanuel Vadot  - reg
63c66ec88fSEmmanuel Vadot  - interrupts
64c66ec88fSEmmanuel Vadot  - clocks
65c66ec88fSEmmanuel Vadot  - clock-names
66c66ec88fSEmmanuel Vadot  - resets
67c66ec88fSEmmanuel Vadot  - ports
68c66ec88fSEmmanuel Vadot
69c66ec88fSEmmanuel VadotadditionalProperties: false
70c66ec88fSEmmanuel Vadot
71c66ec88fSEmmanuel Vadotexamples:
72c66ec88fSEmmanuel Vadot  - |
73c66ec88fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
74c66ec88fSEmmanuel Vadot
75c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/sun9i-a80-de.h>
76c66ec88fSEmmanuel Vadot    #include <dt-bindings/reset/sun9i-a80-de.h>
77c66ec88fSEmmanuel Vadot
78c66ec88fSEmmanuel Vadot    deu0: deu@3300000 {
79c66ec88fSEmmanuel Vadot        compatible = "allwinner,sun9i-a80-deu";
80c66ec88fSEmmanuel Vadot        reg = <0x03300000 0x40000>;
81c66ec88fSEmmanuel Vadot        interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
82c66ec88fSEmmanuel Vadot        clocks = <&de_clocks CLK_BUS_DEU0>,
83c66ec88fSEmmanuel Vadot                 <&de_clocks CLK_IEP_DEU0>,
84c66ec88fSEmmanuel Vadot                 <&de_clocks CLK_DRAM_DEU0>;
85c66ec88fSEmmanuel Vadot        clock-names = "ahb",
86c66ec88fSEmmanuel Vadot                      "mod",
87c66ec88fSEmmanuel Vadot                      "ram";
88c66ec88fSEmmanuel Vadot        resets = <&de_clocks RST_DEU0>;
89c66ec88fSEmmanuel Vadot
90c66ec88fSEmmanuel Vadot        ports {
91c66ec88fSEmmanuel Vadot            #address-cells = <1>;
92c66ec88fSEmmanuel Vadot            #size-cells = <0>;
93c66ec88fSEmmanuel Vadot
94c66ec88fSEmmanuel Vadot            deu0_in: port@0 {
95c66ec88fSEmmanuel Vadot                reg = <0>;
96c66ec88fSEmmanuel Vadot
97c66ec88fSEmmanuel Vadot                deu0_in_fe0: endpoint {
98c66ec88fSEmmanuel Vadot                    remote-endpoint = <&fe0_out_deu0>;
99c66ec88fSEmmanuel Vadot                };
100c66ec88fSEmmanuel Vadot            };
101c66ec88fSEmmanuel Vadot
102c66ec88fSEmmanuel Vadot            deu0_out: port@1 {
103c66ec88fSEmmanuel Vadot                #address-cells = <1>;
104c66ec88fSEmmanuel Vadot                #size-cells = <0>;
105c66ec88fSEmmanuel Vadot                reg = <1>;
106c66ec88fSEmmanuel Vadot
107c66ec88fSEmmanuel Vadot                deu0_out_be0: endpoint@0 {
108c66ec88fSEmmanuel Vadot                    reg = <0>;
109c66ec88fSEmmanuel Vadot                    remote-endpoint = <&be0_in_deu0>;
110c66ec88fSEmmanuel Vadot                };
111c66ec88fSEmmanuel Vadot
112c66ec88fSEmmanuel Vadot                deu0_out_be1: endpoint@1 {
113c66ec88fSEmmanuel Vadot                    reg = <1>;
114c66ec88fSEmmanuel Vadot                    remote-endpoint = <&be1_in_deu0>;
115c66ec88fSEmmanuel Vadot                };
116c66ec88fSEmmanuel Vadot            };
117c66ec88fSEmmanuel Vadot        };
118c66ec88fSEmmanuel Vadot    };
119c66ec88fSEmmanuel Vadot
120c66ec88fSEmmanuel Vadot...
121