1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/media/rockchip-vpu.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Hantro G1 VPU codecs implemented on Rockchip SoCs
8
9maintainers:
10  - Ezequiel Garcia <[email protected]>
11
12description:
13  Hantro G1 video encode and decode accelerators present on Rockchip SoCs.
14
15properties:
16  compatible:
17    oneOf:
18      - enum:
19          - rockchip,rk3036-vpu
20          - rockchip,rk3066-vpu
21          - rockchip,rk3288-vpu
22          - rockchip,rk3328-vpu
23          - rockchip,rk3399-vpu
24          - rockchip,px30-vpu
25          - rockchip,rk3568-vpu
26          - rockchip,rk3588-av1-vpu
27      - items:
28          - enum:
29              - rockchip,rk3128-vpu
30              - rockchip,rk3188-vpu
31          - const: rockchip,rk3066-vpu
32      - items:
33          - const: rockchip,rk3228-vpu
34          - const: rockchip,rk3399-vpu
35      - items:
36          - const: rockchip,rk3588-vpu121
37          - const: rockchip,rk3568-vpu
38
39  reg:
40    maxItems: 1
41
42  interrupts:
43    minItems: 1
44    maxItems: 2
45
46  interrupt-names:
47    oneOf:
48      - const: vdpu
49      - items:
50          - const: vepu
51          - const: vdpu
52
53  clocks:
54    oneOf:
55      - maxItems: 2
56      - maxItems: 4
57
58  clock-names:
59    oneOf:
60      - items:
61          - const: aclk
62          - const: hclk
63      - items:
64          - const: aclk_vdpu
65          - const: hclk_vdpu
66          - const: aclk_vepu
67          - const: hclk_vepu
68
69  power-domains:
70    maxItems: 1
71
72  iommus:
73    maxItems: 1
74
75  resets:
76    items:
77      - description: AXI reset line
78      - description: AXI bus interface unit reset line
79      - description: APB reset line
80      - description: APB bus interface unit reset line
81
82required:
83  - compatible
84  - reg
85  - interrupts
86  - interrupt-names
87  - clocks
88  - clock-names
89
90additionalProperties: false
91
92examples:
93  - |
94    #include <dt-bindings/clock/rk3288-cru.h>
95    #include <dt-bindings/interrupt-controller/arm-gic.h>
96    #include <dt-bindings/power/rk3288-power.h>
97
98    video-codec@ff9a0000 {
99        compatible = "rockchip,rk3288-vpu";
100        reg = <0xff9a0000 0x800>;
101        interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
102                     <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
103        interrupt-names = "vepu", "vdpu";
104        clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
105        clock-names = "aclk", "hclk";
106        power-domains = <&power RK3288_PD_VIDEO>;
107        iommus = <&vpu_mmu>;
108    };
109