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

title: MediaTek JPEG Decoder

maintainers:
  - kyrie wu <kyrie.wu@mediatek.corp-partner.google.com>

description:
  MediaTek JPEG Decoder is the JPEG decode hardware present in MediaTek SoCs

properties:
  compatible:
    const: mediatek,mt8195-jpgdec

  power-domains:
    maxItems: 1

  iommus:
    maxItems: 6
    description:
      Points to the respective IOMMU block with master port as argument, see
      Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml for details.
      Ports are according to the HW.

  dma-ranges:
    maxItems: 1
    description: |
      Describes the physical address space of IOMMU maps to memory.

  "#address-cells":
    const: 2

  "#size-cells":
    const: 2

  ranges: true

# Required child node:
patternProperties:
  "^jpgdec@[0-9a-f]+$":
    type: object
    description:
      The jpeg decoder hardware device node which should be added as subnodes to
      the main jpeg node.

    properties:
      compatible:
        const: mediatek,mt8195-jpgdec-hw

      reg:
        maxItems: 1

      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.

      interrupts:
        maxItems: 1

      clocks:
        maxItems: 1

      clock-names:
        items:
          - const: jpgdec

      power-domains:
        maxItems: 1

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

    additionalProperties: false

required:
  - compatible
  - power-domains
  - iommus
  - dma-ranges
  - ranges

additionalProperties: false

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

    soc {
        #address-cells = <2>;
        #size-cells = <2>;

        jpgdec-master {
            compatible = "mediatek,mt8195-jpgdec";
            power-domains = <&spm MT8195_POWER_DOMAIN_VDEC1>;
            iommus = <&iommu_vpp M4U_PORT_L19_JPGDEC_WDMA0>,
                     <&iommu_vpp M4U_PORT_L19_JPGDEC_BSDMA0>,
                     <&iommu_vpp M4U_PORT_L19_JPGDEC_WDMA1>,
                     <&iommu_vpp M4U_PORT_L19_JPGDEC_BSDMA1>,
                     <&iommu_vpp M4U_PORT_L19_JPGDEC_BUFF_OFFSET1>,
                     <&iommu_vpp M4U_PORT_L19_JPGDEC_BUFF_OFFSET0>;
            dma-ranges = <0x1 0x0 0x0 0x40000000 0x0 0xfff00000>;
            #address-cells = <2>;
            #size-cells = <2>;
            ranges;

            jpgdec@1a040000 {
                compatible = "mediatek,mt8195-jpgdec-hw";
                reg = <0 0x1a040000 0 0x10000>;/* JPGDEC_C0 */
                iommus = <&iommu_vdo M4U_PORT_L19_JPGDEC_WDMA0>,
                         <&iommu_vdo M4U_PORT_L19_JPGDEC_BSDMA0>,
                         <&iommu_vdo M4U_PORT_L19_JPGDEC_WDMA1>,
                         <&iommu_vdo M4U_PORT_L19_JPGDEC_BSDMA1>,
                         <&iommu_vdo M4U_PORT_L19_JPGDEC_BUFF_OFFSET1>,
                         <&iommu_vdo M4U_PORT_L19_JPGDEC_BUFF_OFFSET0>;
                interrupts = <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH 0>;
                clocks = <&vencsys CLK_VENC_JPGDEC>;
                clock-names = "jpgdec";
                power-domains = <&spm MT8195_POWER_DOMAIN_VDEC0>;
            };

            jpgdec@1a050000 {
                compatible = "mediatek,mt8195-jpgdec-hw";
                reg = <0 0x1a050000 0 0x10000>;/* JPGDEC_C1 */
                iommus = <&iommu_vdo M4U_PORT_L19_JPGDEC_WDMA0>,
                         <&iommu_vdo M4U_PORT_L19_JPGDEC_BSDMA0>,
                         <&iommu_vdo M4U_PORT_L19_JPGDEC_WDMA1>,
                         <&iommu_vdo M4U_PORT_L19_JPGDEC_BSDMA1>,
                         <&iommu_vdo M4U_PORT_L19_JPGDEC_BUFF_OFFSET1>,
                         <&iommu_vdo M4U_PORT_L19_JPGDEC_BUFF_OFFSET0>;
                interrupts = <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH 0>;
                clocks = <&vencsys CLK_VENC_JPGDEC_C1>;
                clock-names = "jpgdec";
                power-domains = <&spm MT8195_POWER_DOMAIN_VDEC1>;
            };

            jpgdec@1b040000 {
                compatible = "mediatek,mt8195-jpgdec-hw";
                reg = <0 0x1b040000 0 0x10000>;/* JPGDEC_C2 */
                iommus = <&iommu_vpp M4U_PORT_L20_JPGDEC_WDMA0>,
                         <&iommu_vpp M4U_PORT_L20_JPGDEC_BSDMA0>,
                         <&iommu_vpp M4U_PORT_L20_JPGDEC_WDMA1>,
                         <&iommu_vpp M4U_PORT_L20_JPGDEC_BSDMA1>,
                         <&iommu_vpp M4U_PORT_L20_JPGDEC_BUFF_OFFSET1>,
                         <&iommu_vpp M4U_PORT_L20_JPGDEC_BUFF_OFFSET0>;
                interrupts = <GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH 0>;
                clocks = <&vencsys_core1 CLK_VENC_CORE1_JPGDEC>;
                clock-names = "jpgdec";
                power-domains = <&spm MT8195_POWER_DOMAIN_VDEC2>;
            };
        };
    };
