# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/allwinner,sun8i-a83t-de2-mixer.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner Display Engine 2.0 Mixer Device Tree Bindings

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

properties:
  compatible:
    enum:
      - allwinner,sun8i-a83t-de2-mixer-0
      - allwinner,sun8i-a83t-de2-mixer-1
      - allwinner,sun8i-h3-de2-mixer-0
      - allwinner,sun8i-r40-de2-mixer-0
      - allwinner,sun8i-r40-de2-mixer-1
      - allwinner,sun8i-v3s-de2-mixer
      - allwinner,sun20i-d1-de2-mixer-0
      - allwinner,sun20i-d1-de2-mixer-1
      - allwinner,sun50i-a64-de2-mixer-0
      - allwinner,sun50i-a64-de2-mixer-1
      - allwinner,sun50i-h6-de3-mixer-0

  reg:
    maxItems: 1

  clocks:
    items:
      - description: The mixer interface clock
      - description: The mixer module clock

  clock-names:
    items:
      - const: bus
      - const: mod

  iommus:
    maxItems: 1

  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@1

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

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/sun8i-de2.h>
    #include <dt-bindings/reset/sun8i-de2.h>

    mixer0: mixer@1100000 {
        compatible = "allwinner,sun8i-a83t-de2-mixer-0";
        reg = <0x01100000 0x100000>;
        clocks = <&display_clocks CLK_BUS_MIXER0>,
                 <&display_clocks CLK_MIXER0>;
        clock-names = "bus",
                      "mod";
        resets = <&display_clocks RST_MIXER0>;

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

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

                mixer0_out_tcon0: endpoint@0 {
                    reg = <0>;
                    remote-endpoint = <&tcon0_in_mixer0>;
                };

                mixer0_out_tcon1: endpoint@1 {
                    reg = <1>;
                    remote-endpoint = <&tcon1_in_mixer0>;
                };
            };
        };
    };

...
