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

title: Renesas JPEG Processing Unit

maintainers:
  - Mikhail Ulyanov <mikhail.ulyanov@cogentembedded.com>

description:
  The JPEG processing unit (JPU) incorporates the JPEG codec with an encoding
  and decoding function conforming to the JPEG baseline process, so that the
  JPU can encode image data and decode JPEG data quickly.

properties:
  compatible:
    items:
      - enum:
          - renesas,jpu-r8a7790      # R-Car H2
          - renesas,jpu-r8a7791      # R-Car M2-W
          - renesas,jpu-r8a7792      # R-Car V2H
          - renesas,jpu-r8a7793      # R-Car M2-N
      - const: renesas,rcar-gen2-jpu # R-Car Gen2

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 1

  power-domains:
    maxItems: 1

  resets:
    maxItems: 1

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - power-domains
  - resets

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/power/r8a7790-sysc.h>

    jpeg-codec@fe980000 {
            compatible = "renesas,jpu-r8a7790", "renesas,rcar-gen2-jpu";
            reg = <0xfe980000 0x10300>;
            interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
            clocks = <&cpg CPG_MOD 106>;
            power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
            resets = <&cpg 106>;
    };
