xref: /linux/Documentation/devicetree/bindings/remoteproc/ingenic,vpu.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
14e399b3bSPaul Cercueil# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
24e399b3bSPaul Cercueil%YAML 1.2
34e399b3bSPaul Cercueil---
4*82f2734dSRob Herring$id: http://devicetree.org/schemas/remoteproc/ingenic,vpu.yaml#
5*82f2734dSRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
64e399b3bSPaul Cercueil
784e85359SKrzysztof Kozlowskititle: Ingenic Video Processing Unit
84e399b3bSPaul Cercueil
94e399b3bSPaul Cercueildescription:
104e399b3bSPaul Cercueil  Inside the Video Processing Unit (VPU) of the recent JZ47xx SoCs from
114e399b3bSPaul Cercueil  Ingenic is a second Xburst MIPS CPU very similar to the main core.
124e399b3bSPaul Cercueil  This document describes the devicetree bindings for this auxiliary
134e399b3bSPaul Cercueil  processor.
144e399b3bSPaul Cercueil
154e399b3bSPaul Cercueilmaintainers:
164e399b3bSPaul Cercueil  - Paul Cercueil <paul@crapouillou.net>
174e399b3bSPaul Cercueil
184e399b3bSPaul Cercueilproperties:
194e399b3bSPaul Cercueil  compatible:
204e399b3bSPaul Cercueil    const: ingenic,jz4770-vpu-rproc
214e399b3bSPaul Cercueil
224e399b3bSPaul Cercueil  reg:
234e399b3bSPaul Cercueil    items:
244e399b3bSPaul Cercueil      - description: aux registers
254e399b3bSPaul Cercueil      - description: tcsm0 registers
264e399b3bSPaul Cercueil      - description: tcsm1 registers
274e399b3bSPaul Cercueil      - description: sram registers
284e399b3bSPaul Cercueil
294e399b3bSPaul Cercueil  reg-names:
304e399b3bSPaul Cercueil    items:
314e399b3bSPaul Cercueil      - const: aux
324e399b3bSPaul Cercueil      - const: tcsm0
334e399b3bSPaul Cercueil      - const: tcsm1
344e399b3bSPaul Cercueil      - const: sram
354e399b3bSPaul Cercueil
364e399b3bSPaul Cercueil  clocks:
374e399b3bSPaul Cercueil    items:
384e399b3bSPaul Cercueil      - description: aux clock
394e399b3bSPaul Cercueil      - description: vpu clock
404e399b3bSPaul Cercueil
414e399b3bSPaul Cercueil  clock-names:
424e399b3bSPaul Cercueil    items:
434e399b3bSPaul Cercueil      - const: aux
444e399b3bSPaul Cercueil      - const: vpu
454e399b3bSPaul Cercueil
464e399b3bSPaul Cercueil  interrupts:
470499220dSRob Herring    maxItems: 1
484e399b3bSPaul Cercueil
494e399b3bSPaul Cercueilrequired:
504e399b3bSPaul Cercueil  - compatible
514e399b3bSPaul Cercueil  - reg
524e399b3bSPaul Cercueil  - reg-names
534e399b3bSPaul Cercueil  - clocks
544e399b3bSPaul Cercueil  - clock-names
554e399b3bSPaul Cercueil  - interrupts
564e399b3bSPaul Cercueil
574e399b3bSPaul CercueiladditionalProperties: false
584e399b3bSPaul Cercueil
594e399b3bSPaul Cercueilexamples:
604e399b3bSPaul Cercueil  - |
61c4a11bf4SPaul Cercueil    #include <dt-bindings/clock/ingenic,jz4770-cgu.h>
624e399b3bSPaul Cercueil
634e399b3bSPaul Cercueil    vpu: video-decoder@132a0000 {
644e399b3bSPaul Cercueil      compatible = "ingenic,jz4770-vpu-rproc";
654e399b3bSPaul Cercueil
664e399b3bSPaul Cercueil      reg = <0x132a0000 0x20>, /* AUX */
674e399b3bSPaul Cercueil            <0x132b0000 0x4000>, /* TCSM0 */
684e399b3bSPaul Cercueil            <0x132c0000 0xc000>, /* TCSM1 */
694e399b3bSPaul Cercueil            <0x132f0000 0x7000>; /* SRAM */
704e399b3bSPaul Cercueil      reg-names = "aux", "tcsm0", "tcsm1", "sram";
714e399b3bSPaul Cercueil
724e399b3bSPaul Cercueil      clocks = <&cgu JZ4770_CLK_AUX>, <&cgu JZ4770_CLK_VPU>;
734e399b3bSPaul Cercueil      clock-names = "aux", "vpu";
744e399b3bSPaul Cercueil
754e399b3bSPaul Cercueil      interrupt-parent = <&cpuintc>;
764e399b3bSPaul Cercueil      interrupts = <3>;
774e399b3bSPaul Cercueil    };
78