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