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

%YAML 1.2
---
$id: "http://devicetree.org/schemas/media/qcom,sm8250-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,sm8250-venus

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  power-domains:
    minItems: 2
    maxItems: 3

  power-domain-names:
    minItems: 2
    items:
      - const: venus
      - const: vcodec0
      - const: mx

  clocks:
    maxItems: 3

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

  iommus:
    maxItems: 1

  memory-region:
    maxItems: 1

  interconnects:
    maxItems: 2

  interconnect-names:
    items:
      - const: cpu-cfg
      - const: video-mem

  resets:
    maxItems: 2

  reset-names:
    items:
      - const: bus
      - const: core

  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
  - power-domain-names
  - clocks
  - clock-names
  - interconnects
  - interconnect-names
  - iommus
  - memory-region
  - resets
  - reset-names
  - video-decoder
  - video-encoder

additionalProperties: false

examples:
  - |
        #include <dt-bindings/interrupt-controller/arm-gic.h>
        #include <dt-bindings/clock/qcom,videocc-sm8250.h>
        #include <dt-bindings/interconnect/qcom,sm8250.h>
        #include <dt-bindings/clock/qcom,gcc-sm8250.h>
        #include <dt-bindings/power/qcom-rpmpd.h>

        venus: video-codec@aa00000 {
            compatible = "qcom,sm8250-venus";
            reg = <0x0aa00000 0xff000>;
            interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
            power-domains = <&videocc MVS0C_GDSC>,
                            <&videocc MVS0_GDSC>,
                            <&rpmhpd SM8250_MX>;
            power-domain-names = "venus", "vcodec0", "mx";

            clocks = <&gcc GCC_VIDEO_AXI0_CLK>,
                     <&videocc VIDEO_CC_MVS0C_CLK>,
                     <&videocc VIDEO_CC_MVS0_CLK>;
            clock-names = "iface", "core", "vcodec0_core";

            interconnects = <&gem_noc MASTER_AMPSS_M0 &config_noc SLAVE_VENUS_CFG>,
                            <&mmss_noc MASTER_VIDEO_P0 &mc_virt SLAVE_EBI_CH0>;
            interconnect-names = "cpu-cfg", "video-mem";

            iommus = <&apps_smmu 0x2100 0x0400>;
            memory-region = <&video_mem>;

            resets = <&gcc GCC_VIDEO_AXI0_CLK_ARES>,
                     <&videocc VIDEO_CC_MVS0C_CLK_ARES>;
            reset-names = "bus", "core";

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

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