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

%YAML 1.2
---
$id: "http://devicetree.org/schemas/media/qcom,sc7280-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 Iris2 IP is a video encode and decode accelerator present
  on Qualcomm platforms

properties:
  compatible:
    const: qcom,sc7280-venus

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  power-domains:
    minItems: 2
    maxItems: 3

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

  clocks:
    maxItems: 5

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

  iommus:
    maxItems: 2

  memory-region:
    maxItems: 1

  interconnects:
    maxItems: 2

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

  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
  - iommus
  - memory-region
  - video-decoder
  - video-encoder

additionalProperties: false

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

        venus: video-codec@aa00000 {
                compatible = "qcom,sc7280-venus";
                reg = <0x0aa00000 0xd0600>;
                interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;

                clocks = <&videocc VIDEO_CC_MVSC_CORE_CLK>,
                         <&videocc VIDEO_CC_MVSC_CTL_AXI_CLK>,
                         <&videocc VIDEO_CC_VENUS_AHB_CLK>,
                         <&videocc VIDEO_CC_MVS0_CORE_CLK>,
                         <&videocc VIDEO_CC_MVS0_AXI_CLK>;
                clock-names = "core", "bus", "iface",
                              "vcodec_core", "vcodec_bus";

                power-domains = <&videocc MVSC_GDSC>,
                                <&videocc MVS0_GDSC>,
                                <&rpmhpd SC7280_CX>;
                power-domain-names = "venus", "vcodec0", "cx";

                interconnects = <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_VENUS_CFG 0>,
                                <&mmss_noc MASTER_VIDEO_P0 0 &mc_virt SLAVE_EBI1 0>;
                interconnect-names = "cpu-cfg", "video-mem";

                iommus = <&apps_smmu 0x2180 0x20>,
                         <&apps_smmu 0x2184 0x20>;

                memory-region = <&video_mem>;

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

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

                video-firmware {
                        iommus = <&apps_smmu 0x21a2 0x0>;
                };
        };
