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

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

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  power-domains:
    minItems: 3
    maxItems: 4

  power-domain-names:
    minItems: 3
    items:
      - const: venus
      - const: vcodec0
      - const: vcodec1
      - const: cx

  clocks:
    maxItems: 7

  clock-names:
    items:
      - const: core
      - const: iface
      - const: bus
      - const: vcodec0_core
      - const: vcodec0_bus
      - const: vcodec1_core
      - const: vcodec1_bus

  iommus:
    maxItems: 2

  memory-region:
    maxItems: 1

  video-core0:
    type: object

    properties:
      compatible:
        const: venus-decoder

    required:
      - compatible

    additionalProperties: false

  video-core1:
    type: object

    properties:
      compatible:
        const: venus-encoder

    required:
      - compatible

    additionalProperties: false

  video-firmware:
    type: object

    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-core0
  - video-core1

additionalProperties: false

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

        video-codec@aa00000 {
                compatible = "qcom,sdm845-venus-v2";
                reg = <0x0aa00000 0xff000>;
                interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>,
                         <&videocc VIDEO_CC_VENUS_AHB_CLK>,
                         <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>,
                         <&videocc VIDEO_CC_VCODEC0_CORE_CLK>,
                         <&videocc VIDEO_CC_VCODEC0_AXI_CLK>,
                         <&videocc VIDEO_CC_VCODEC1_CORE_CLK>,
                         <&videocc VIDEO_CC_VCODEC1_AXI_CLK>;
                clock-names = "core", "iface", "bus",
                              "vcodec0_core", "vcodec0_bus",
                              "vcodec1_core", "vcodec1_bus";
                power-domains = <&videocc VENUS_GDSC>,
                                <&videocc VCODEC0_GDSC>,
                                <&videocc VCODEC1_GDSC>;
                power-domain-names = "venus", "vcodec0", "vcodec1";
                iommus = <&apps_smmu 0x10a0 0x8>,
                         <&apps_smmu 0x10b0 0x0>;
                memory-region = <&venus_mem>;

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

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