# 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 SM8250 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

allOf:
  - $ref: qcom,venus-common.yaml#

properties:
  compatible:
    const: qcom,sm8250-venus

  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

  interconnects:
    maxItems: 2

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

  operating-points-v2: true
  opp-table:
    type: object

  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

required:
  - compatible
  - power-domain-names
  - interconnects
  - interconnect-names
  - iommus
  - resets
  - reset-names
  - video-decoder
  - video-encoder

unevaluatedProperties: 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,rpmhpd.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 RPMHPD_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";
        };
    };
