# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/mediatek,vcodec-encoder.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Mediatek Video Encode Accelerator

maintainers:
  - Yunfei Dong <yunfei.dong@mediatek.com>

description: |+
  Mediatek Video Encode is the video encode hardware present in Mediatek
  SoCs which supports high resolution encoding functionalities.

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - mediatek,mt8173-vcodec-enc-vp8
              - mediatek,mt8173-vcodec-enc
              - mediatek,mt8183-vcodec-enc
              - mediatek,mt8188-vcodec-enc
              - mediatek,mt8192-vcodec-enc
              - mediatek,mt8195-vcodec-enc
      - items:
          - const: mediatek,mt8186-vcodec-enc
          - const: mediatek,mt8183-vcodec-enc
  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    minItems: 1
    maxItems: 5

  clock-names:
    minItems: 1
    maxItems: 5

  iommus:
    minItems: 1
    maxItems: 32
    description: |
      List of the hardware port in respective IOMMU block for current Socs.
      Refer to bindings/iommu/mediatek,iommu.yaml.

  mediatek,vpu:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      Describes point to vpu.

  mediatek,scp:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      Describes point to scp.

  power-domains:
    maxItems: 1

  "#address-cells":
    const: 2

  "#size-cells":
    const: 2

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names
  - iommus

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - mediatek,mt8183-vcodec-enc
              - mediatek,mt8188-vcodec-enc
              - mediatek,mt8192-vcodec-enc
              - mediatek,mt8195-vcodec-enc

    then:
      required:
        - mediatek,scp

  - if:
      properties:
        compatible:
          contains:
            enum:
              - mediatek,mt8173-vcodec-enc-vp8
              - mediatek,mt8173-vcodec-enc

    then:
      required:
        - mediatek,vpu

  - if:
      properties:
        compatible:
          enum:
            - mediatek,mt8173-vcodec-enc-vp8

    then:
      properties:
        clock:
          items:
            minItems: 1
            maxItems: 1
        clock-names:
          items:
            - const: venc_lt_sel
    else:
      properties:
        clock:
          items:
            minItems: 1
            maxItems: 1
        clock-names:
          items:
            - const: venc_sel

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/clock/mt8173-clk.h>
    #include <dt-bindings/memory/mt8173-larb-port.h>
    #include <dt-bindings/interrupt-controller/irq.h>

    vcodec_enc_avc: vcodec@18002000 {
      compatible = "mediatek,mt8173-vcodec-enc";
      reg = <0x18002000 0x1000>;
      interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_LOW>;
      iommus = <&iommu M4U_PORT_VENC_RCPU>,
             <&iommu M4U_PORT_VENC_REC>,
             <&iommu M4U_PORT_VENC_BSDMA>,
             <&iommu M4U_PORT_VENC_SV_COMV>,
             <&iommu M4U_PORT_VENC_RD_COMV>,
             <&iommu M4U_PORT_VENC_CUR_LUMA>,
             <&iommu M4U_PORT_VENC_CUR_CHROMA>,
             <&iommu M4U_PORT_VENC_REF_LUMA>,
             <&iommu M4U_PORT_VENC_REF_CHROMA>,
             <&iommu M4U_PORT_VENC_NBM_RDMA>,
             <&iommu M4U_PORT_VENC_NBM_WDMA>;
      mediatek,vpu = <&vpu>;
      clocks = <&topckgen CLK_TOP_VENC_SEL>;
      clock-names = "venc_sel";
      assigned-clocks = <&topckgen CLK_TOP_VENC_SEL>;
      assigned-clock-parents = <&topckgen CLK_TOP_VCODECPLL>;
    };

    vcodec_enc_vp8: vcodec@19002000 {
      compatible = "mediatek,mt8173-vcodec-enc-vp8";
      reg =  <0x19002000 0x1000>;	/* VENC_LT_SYS */
      interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_LOW>;
      iommus = <&iommu M4U_PORT_VENC_RCPU_SET2>,
             <&iommu M4U_PORT_VENC_REC_FRM_SET2>,
             <&iommu M4U_PORT_VENC_BSDMA_SET2>,
             <&iommu M4U_PORT_VENC_SV_COMA_SET2>,
             <&iommu M4U_PORT_VENC_RD_COMA_SET2>,
             <&iommu M4U_PORT_VENC_CUR_LUMA_SET2>,
             <&iommu M4U_PORT_VENC_CUR_CHROMA_SET2>,
             <&iommu M4U_PORT_VENC_REF_LUMA_SET2>,
             <&iommu M4U_PORT_VENC_REC_CHROMA_SET2>;
      mediatek,vpu = <&vpu>;
      clocks = <&topckgen CLK_TOP_VENC_LT_SEL>;
      clock-names = "venc_lt_sel";
      assigned-clocks = <&topckgen CLK_TOP_VENC_LT_SEL>;
      assigned-clock-parents = <&topckgen CLK_TOP_VCODECPLL_370P5>;
    };
