xref: /freebsd/sys/contrib/device-tree/Bindings/media/rockchip-vpu.yaml (revision 5956d97f4b3204318ceb6aa9c77bd0bc6ea87a41)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot
3c66ec88fSEmmanuel Vadot%YAML 1.2
4c66ec88fSEmmanuel Vadot---
5c66ec88fSEmmanuel Vadot$id: "http://devicetree.org/schemas/media/rockchip-vpu.yaml#"
6c66ec88fSEmmanuel Vadot$schema: "http://devicetree.org/meta-schemas/core.yaml#"
7c66ec88fSEmmanuel Vadot
8c66ec88fSEmmanuel Vadottitle: Hantro G1 VPU codecs implemented on Rockchip SoCs
9c66ec88fSEmmanuel Vadot
10c66ec88fSEmmanuel Vadotmaintainers:
11c66ec88fSEmmanuel Vadot  - Ezequiel Garcia <ezequiel@collabora.com>
12c66ec88fSEmmanuel Vadot
13c66ec88fSEmmanuel Vadotdescription:
14c66ec88fSEmmanuel Vadot  Hantro G1 video encode and decode accelerators present on Rockchip SoCs.
15c66ec88fSEmmanuel Vadot
16c66ec88fSEmmanuel Vadotproperties:
17c66ec88fSEmmanuel Vadot  compatible:
18*5956d97fSEmmanuel Vadot    oneOf:
19*5956d97fSEmmanuel Vadot      - enum:
20*5956d97fSEmmanuel Vadot          - rockchip,rk3036-vpu
21*5956d97fSEmmanuel Vadot          - rockchip,rk3066-vpu
22c66ec88fSEmmanuel Vadot          - rockchip,rk3288-vpu
23c66ec88fSEmmanuel Vadot          - rockchip,rk3328-vpu
24c66ec88fSEmmanuel Vadot          - rockchip,rk3399-vpu
25*5956d97fSEmmanuel Vadot      - items:
26*5956d97fSEmmanuel Vadot          - const: rockchip,rk3188-vpu
27*5956d97fSEmmanuel Vadot          - const: rockchip,rk3066-vpu
28*5956d97fSEmmanuel Vadot      - items:
29*5956d97fSEmmanuel Vadot          - const: rockchip,rk3228-vpu
30*5956d97fSEmmanuel Vadot          - const: rockchip,rk3399-vpu
31c66ec88fSEmmanuel Vadot
32c66ec88fSEmmanuel Vadot  reg:
33c66ec88fSEmmanuel Vadot    maxItems: 1
34c66ec88fSEmmanuel Vadot
35c66ec88fSEmmanuel Vadot  interrupts:
36c66ec88fSEmmanuel Vadot    minItems: 1
37c66ec88fSEmmanuel Vadot    maxItems: 2
38c66ec88fSEmmanuel Vadot
39c66ec88fSEmmanuel Vadot  interrupt-names:
40c66ec88fSEmmanuel Vadot    oneOf:
41c66ec88fSEmmanuel Vadot      - const: vdpu
42c66ec88fSEmmanuel Vadot      - items:
43c66ec88fSEmmanuel Vadot          - const: vepu
44c66ec88fSEmmanuel Vadot          - const: vdpu
45c66ec88fSEmmanuel Vadot
46c66ec88fSEmmanuel Vadot  clocks:
47*5956d97fSEmmanuel Vadot    oneOf:
48*5956d97fSEmmanuel Vadot      - maxItems: 2
49*5956d97fSEmmanuel Vadot      - maxItems: 4
50c66ec88fSEmmanuel Vadot
51c66ec88fSEmmanuel Vadot  clock-names:
52*5956d97fSEmmanuel Vadot    oneOf:
53*5956d97fSEmmanuel Vadot      - items:
54c66ec88fSEmmanuel Vadot          - const: aclk
55c66ec88fSEmmanuel Vadot          - const: hclk
56*5956d97fSEmmanuel Vadot      - items:
57*5956d97fSEmmanuel Vadot          - const: aclk_vdpu
58*5956d97fSEmmanuel Vadot          - const: hclk_vdpu
59*5956d97fSEmmanuel Vadot          - const: aclk_vepu
60*5956d97fSEmmanuel Vadot          - const: hclk_vepu
61c66ec88fSEmmanuel Vadot
62c66ec88fSEmmanuel Vadot  power-domains:
63c66ec88fSEmmanuel Vadot    maxItems: 1
64c66ec88fSEmmanuel Vadot
65c66ec88fSEmmanuel Vadot  iommus:
66c66ec88fSEmmanuel Vadot    maxItems: 1
67c66ec88fSEmmanuel Vadot
68c66ec88fSEmmanuel Vadotrequired:
69c66ec88fSEmmanuel Vadot  - compatible
70c66ec88fSEmmanuel Vadot  - reg
71c66ec88fSEmmanuel Vadot  - interrupts
72c66ec88fSEmmanuel Vadot  - interrupt-names
73c66ec88fSEmmanuel Vadot  - clocks
74c66ec88fSEmmanuel Vadot  - clock-names
75c66ec88fSEmmanuel Vadot
76c66ec88fSEmmanuel VadotadditionalProperties: false
77c66ec88fSEmmanuel Vadot
78c66ec88fSEmmanuel Vadotexamples:
79c66ec88fSEmmanuel Vadot  - |
80c66ec88fSEmmanuel Vadot        #include <dt-bindings/clock/rk3288-cru.h>
81c66ec88fSEmmanuel Vadot        #include <dt-bindings/interrupt-controller/arm-gic.h>
82c66ec88fSEmmanuel Vadot        #include <dt-bindings/power/rk3288-power.h>
83c66ec88fSEmmanuel Vadot
84c66ec88fSEmmanuel Vadot        vpu: video-codec@ff9a0000 {
85c66ec88fSEmmanuel Vadot                compatible = "rockchip,rk3288-vpu";
86c66ec88fSEmmanuel Vadot                reg = <0xff9a0000 0x800>;
87c66ec88fSEmmanuel Vadot                interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
88c66ec88fSEmmanuel Vadot                             <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
89c66ec88fSEmmanuel Vadot                interrupt-names = "vepu", "vdpu";
90c66ec88fSEmmanuel Vadot                clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
91c66ec88fSEmmanuel Vadot                clock-names = "aclk", "hclk";
92c66ec88fSEmmanuel Vadot                power-domains = <&power RK3288_PD_VIDEO>;
93c66ec88fSEmmanuel Vadot                iommus = <&vpu_mmu>;
94c66ec88fSEmmanuel Vadot        };
95