# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/allwinner,sun9i-a80-deu.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner A80 Detail Enhancement Unit Device Tree Bindings

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

description: |
  The DEU (Detail Enhancement Unit), found in the Allwinner A80 SoC,
  can sharpen the display content in both luma and chroma channels.

properties:
  compatible:
    const: allwinner,sun9i-a80-deu

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

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

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

  resets:
    maxItems: 1

  ports:
    $ref: /schemas/graph.yaml#/properties/ports

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/properties/port
        description: |
          Input endpoints of the controller.

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description: |
          Output endpoints of the controller.

    required:
      - port@0
      - port@1

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

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    #include <dt-bindings/clock/sun9i-a80-de.h>
    #include <dt-bindings/reset/sun9i-a80-de.h>

    deu0: deu@3300000 {
        compatible = "allwinner,sun9i-a80-deu";
        reg = <0x03300000 0x40000>;
        interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&de_clocks CLK_BUS_DEU0>,
                 <&de_clocks CLK_IEP_DEU0>,
                 <&de_clocks CLK_DRAM_DEU0>;
        clock-names = "ahb",
                      "mod",
                      "ram";
        resets = <&de_clocks RST_DEU0>;

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

            deu0_in: port@0 {
                reg = <0>;

                deu0_in_fe0: endpoint {
                    remote-endpoint = <&fe0_out_deu0>;
                };
            };

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

                deu0_out_be0: endpoint@0 {
                    reg = <0>;
                    remote-endpoint = <&be0_in_deu0>;
                };

                deu0_out_be1: endpoint@1 {
                    reg = <1>;
                    remote-endpoint = <&be1_in_deu0>;
                };
            };
        };
    };

...
