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

title: Raspberry Pi HEVC Decoder

maintainers:
  - John Cox <john.cox@raspberrypi.com>
  - Dom Cobley <dom@raspberrypi.com>
  - Dave Stevenson <dave.stevenson@raspberrypi.com>
  - Raspberry Pi internal review list <kernel-list@raspberrypi.com>

description:
  The Raspberry Pi HEVC decoder is a hardware video decode accelerator block
  found in the BCM2711 and BCM2712 processors used on Raspberry Pi 4 and 5
  boards respectively.

properties:
  compatible:
    items:
      - enum:
          - brcm,bcm2711-hevc-dec
          - brcm,bcm2712-hevc-dec
      - const: raspberrypi,hevc-dec

  reg:
    items:
      - description: The HEVC main register region
      - description: The Interrupt control register region

  reg-names:
    items:
      - const: hevc
      - const: intc

  interrupts:
    maxItems: 1

  clocks:
    items:
      - description: The HEVC block clock

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

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    video-codec@7eb10000 {
        compatible = "brcm,bcm2711-hevc-dec", "raspberrypi,hevc-dec";
        reg = <0x7eb00000 0x10000>, /* HEVC */
              <0x7eb10000 0x1000>;  /* INTC */
        reg-names = "hevc",
                    "intc";

        interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;

        clocks = <&clk 0>;
    };

...
