xref: /freebsd/sys/contrib/device-tree/Bindings/remoteproc/ingenic,vpu.yaml (revision 5def4c47d4bd90b209b9b4a4ba9faec15846d8fd)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: "http://devicetree.org/schemas/remoteproc/ingenic,vpu.yaml#"
5c66ec88fSEmmanuel Vadot$schema: "http://devicetree.org/meta-schemas/core.yaml#"
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: Ingenic Video Processing Unit bindings
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotdescription:
10c66ec88fSEmmanuel Vadot  Inside the Video Processing Unit (VPU) of the recent JZ47xx SoCs from
11c66ec88fSEmmanuel Vadot  Ingenic is a second Xburst MIPS CPU very similar to the main core.
12c66ec88fSEmmanuel Vadot  This document describes the devicetree bindings for this auxiliary
13c66ec88fSEmmanuel Vadot  processor.
14c66ec88fSEmmanuel Vadot
15c66ec88fSEmmanuel Vadotmaintainers:
16c66ec88fSEmmanuel Vadot  - Paul Cercueil <paul@crapouillou.net>
17c66ec88fSEmmanuel Vadot
18c66ec88fSEmmanuel Vadotproperties:
19c66ec88fSEmmanuel Vadot  compatible:
20c66ec88fSEmmanuel Vadot    const: ingenic,jz4770-vpu-rproc
21c66ec88fSEmmanuel Vadot
22c66ec88fSEmmanuel Vadot  reg:
23c66ec88fSEmmanuel Vadot    items:
24c66ec88fSEmmanuel Vadot      - description: aux registers
25c66ec88fSEmmanuel Vadot      - description: tcsm0 registers
26c66ec88fSEmmanuel Vadot      - description: tcsm1 registers
27c66ec88fSEmmanuel Vadot      - description: sram registers
28c66ec88fSEmmanuel Vadot
29c66ec88fSEmmanuel Vadot  reg-names:
30c66ec88fSEmmanuel Vadot    items:
31c66ec88fSEmmanuel Vadot      - const: aux
32c66ec88fSEmmanuel Vadot      - const: tcsm0
33c66ec88fSEmmanuel Vadot      - const: tcsm1
34c66ec88fSEmmanuel Vadot      - const: sram
35c66ec88fSEmmanuel Vadot
36c66ec88fSEmmanuel Vadot  clocks:
37c66ec88fSEmmanuel Vadot    items:
38c66ec88fSEmmanuel Vadot      - description: aux clock
39c66ec88fSEmmanuel Vadot      - description: vpu clock
40c66ec88fSEmmanuel Vadot
41c66ec88fSEmmanuel Vadot  clock-names:
42c66ec88fSEmmanuel Vadot    items:
43c66ec88fSEmmanuel Vadot      - const: aux
44c66ec88fSEmmanuel Vadot      - const: vpu
45c66ec88fSEmmanuel Vadot
46c66ec88fSEmmanuel Vadot  interrupts:
47*5def4c47SEmmanuel Vadot    maxItems: 1
48c66ec88fSEmmanuel Vadot
49c66ec88fSEmmanuel Vadotrequired:
50c66ec88fSEmmanuel Vadot  - compatible
51c66ec88fSEmmanuel Vadot  - reg
52c66ec88fSEmmanuel Vadot  - reg-names
53c66ec88fSEmmanuel Vadot  - clocks
54c66ec88fSEmmanuel Vadot  - clock-names
55c66ec88fSEmmanuel Vadot  - interrupts
56c66ec88fSEmmanuel Vadot
57c66ec88fSEmmanuel VadotadditionalProperties: false
58c66ec88fSEmmanuel Vadot
59c66ec88fSEmmanuel Vadotexamples:
60c66ec88fSEmmanuel Vadot  - |
61c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/jz4770-cgu.h>
62c66ec88fSEmmanuel Vadot
63c66ec88fSEmmanuel Vadot    vpu: video-decoder@132a0000 {
64c66ec88fSEmmanuel Vadot      compatible = "ingenic,jz4770-vpu-rproc";
65c66ec88fSEmmanuel Vadot
66c66ec88fSEmmanuel Vadot      reg = <0x132a0000 0x20>, /* AUX */
67c66ec88fSEmmanuel Vadot            <0x132b0000 0x4000>, /* TCSM0 */
68c66ec88fSEmmanuel Vadot            <0x132c0000 0xc000>, /* TCSM1 */
69c66ec88fSEmmanuel Vadot            <0x132f0000 0x7000>; /* SRAM */
70c66ec88fSEmmanuel Vadot      reg-names = "aux", "tcsm0", "tcsm1", "sram";
71c66ec88fSEmmanuel Vadot
72c66ec88fSEmmanuel Vadot      clocks = <&cgu JZ4770_CLK_AUX>, <&cgu JZ4770_CLK_VPU>;
73c66ec88fSEmmanuel Vadot      clock-names = "aux", "vpu";
74c66ec88fSEmmanuel Vadot
75c66ec88fSEmmanuel Vadot      interrupt-parent = <&cpuintc>;
76c66ec88fSEmmanuel Vadot      interrupts = <3>;
77c66ec88fSEmmanuel Vadot    };
78