# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/aspeed,video-engine.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ASPEED Video Engine

maintainers:
  - Eddie James <eajames@linux.ibm.com>

description:
  The Video Engine (VE) embedded in the ASPEED SOCs can be configured to
  capture and compress video data from digital or analog sources.

properties:
  compatible:
    enum:
      - aspeed,ast2400-video-engine
      - aspeed,ast2500-video-engine
      - aspeed,ast2600-video-engine

  reg:
    maxItems: 1

  clocks:
    maxItems: 2

  clock-names:
    items:
      - const: vclk
      - const: eclk

  resets:
    maxItems: 1

  interrupts:
    maxItems: 1

  memory-region:
    maxItems: 1
    description: |
      Phandle to the reserved memory nodes to be associated with the
      VE. VE will acquires memory space for 3 purposes:
        1. JPEG header
        2. Compressed result
        3. Temporary transformed image data

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

additionalProperties: false

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

    video@1e700000 {
        compatible = "aspeed,ast2600-video-engine";
        reg = <0x1e700000 0x1000>;
        clocks = <&syscon ASPEED_CLK_GATE_VCLK>,
                 <&syscon ASPEED_CLK_GATE_ECLK>;
        clock-names = "vclk", "eclk";
        interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
    };
