# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)

%YAML 1.2
---
$id: "http://devicetree.org/schemas/media/qcom,msm8916-venus.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: Qualcomm Venus video encode and decode accelerators

maintainers:
  - Stanimir Varbanov <stanimir.varbanov@linaro.org>

description: |
  The Venus IP is a video encode and decode accelerator present
  on Qualcomm platforms

properties:
  compatible:
    const: qcom,msm8916-venus

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  power-domains:
    maxItems: 1

  clocks:
    maxItems: 3

  clock-names:
    items:
      - const: core
      - const: iface
      - const: bus

  iommus:
    maxItems: 1

  memory-region:
    maxItems: 1

  video-decoder:
    type: object

    properties:
      compatible:
        const: "venus-decoder"

    required:
      - compatible

    additionalProperties: false

  video-encoder:
    type: object

    properties:
      compatible:
        const: "venus-encoder"

    required:
      - compatible

    additionalProperties: false

  video-firmware:
    type: object
    additionalProperties: false

    description: |
      Firmware subnode is needed when the platform does not
      have TrustZone.

    properties:
      iommus:
        maxItems: 1

    required:
      - iommus

required:
  - compatible
  - reg
  - interrupts
  - power-domains
  - clocks
  - clock-names
  - iommus
  - memory-region
  - video-decoder
  - video-encoder

additionalProperties: false

examples:
  - |
        #include <dt-bindings/interrupt-controller/arm-gic.h>
        #include <dt-bindings/clock/qcom,gcc-msm8916.h>

        video-codec@1d00000 {
                compatible = "qcom,msm8916-venus";
                reg = <0x01d00000 0xff000>;
                interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&gcc GCC_VENUS0_VCODEC0_CLK>,
                        <&gcc GCC_VENUS0_AHB_CLK>,
                        <&gcc GCC_VENUS0_AXI_CLK>;
                clock-names = "core", "iface", "bus";
                power-domains = <&gcc VENUS_GDSC>;
                iommus = <&apps_iommu 5>;
                memory-region = <&venus_mem>;

                video-decoder {
                        compatible = "venus-decoder";
                };

                video-encoder {
                        compatible = "venus-encoder";
                };
        };
