# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: "http://devicetree.org/schemas/remoteproc/ingenic,vpu.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: Ingenic Video Processing Unit bindings

description:
  Inside the Video Processing Unit (VPU) of the recent JZ47xx SoCs from
  Ingenic is a second Xburst MIPS CPU very similar to the main core.
  This document describes the devicetree bindings for this auxiliary
  processor.

maintainers:
  - Paul Cercueil <paul@crapouillou.net>

properties:
  compatible:
    const: ingenic,jz4770-vpu-rproc

  reg:
    items:
      - description: aux registers
      - description: tcsm0 registers
      - description: tcsm1 registers
      - description: sram registers

  reg-names:
    items:
      - const: aux
      - const: tcsm0
      - const: tcsm1
      - const: sram

  clocks:
    items:
      - description: aux clock
      - description: vpu clock

  clock-names:
    items:
      - const: aux
      - const: vpu

  interrupts:
    maxItems: 1

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

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/ingenic,jz4770-cgu.h>

    vpu: video-decoder@132a0000 {
      compatible = "ingenic,jz4770-vpu-rproc";

      reg = <0x132a0000 0x20>, /* AUX */
            <0x132b0000 0x4000>, /* TCSM0 */
            <0x132c0000 0xc000>, /* TCSM1 */
            <0x132f0000 0x7000>; /* SRAM */
      reg-names = "aux", "tcsm0", "tcsm1", "sram";

      clocks = <&cgu JZ4770_CLK_AUX>, <&cgu JZ4770_CLK_VPU>;
      clock-names = "aux", "vpu";

      interrupt-parent = <&cpuintc>;
      interrupts = <3>;
    };
