xref: /freebsd/sys/contrib/device-tree/Bindings/media/rockchip-vpu.yaml (revision 354d7675fe12ace9cde344cb79c7ded792802f88)
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:
185956d97fSEmmanuel Vadot    oneOf:
195956d97fSEmmanuel Vadot      - enum:
205956d97fSEmmanuel Vadot          - rockchip,rk3036-vpu
215956d97fSEmmanuel Vadot          - rockchip,rk3066-vpu
22c66ec88fSEmmanuel Vadot          - rockchip,rk3288-vpu
23c66ec88fSEmmanuel Vadot          - rockchip,rk3328-vpu
24c66ec88fSEmmanuel Vadot          - rockchip,rk3399-vpu
25*354d7675SEmmanuel Vadot          - rockchip,px30-vpu
265956d97fSEmmanuel Vadot      - items:
275956d97fSEmmanuel Vadot          - const: rockchip,rk3188-vpu
285956d97fSEmmanuel Vadot          - const: rockchip,rk3066-vpu
295956d97fSEmmanuel Vadot      - items:
305956d97fSEmmanuel Vadot          - const: rockchip,rk3228-vpu
315956d97fSEmmanuel Vadot          - const: rockchip,rk3399-vpu
32c66ec88fSEmmanuel Vadot
33c66ec88fSEmmanuel Vadot  reg:
34c66ec88fSEmmanuel Vadot    maxItems: 1
35c66ec88fSEmmanuel Vadot
36c66ec88fSEmmanuel Vadot  interrupts:
37c66ec88fSEmmanuel Vadot    minItems: 1
38c66ec88fSEmmanuel Vadot    maxItems: 2
39c66ec88fSEmmanuel Vadot
40c66ec88fSEmmanuel Vadot  interrupt-names:
41c66ec88fSEmmanuel Vadot    oneOf:
42c66ec88fSEmmanuel Vadot      - const: vdpu
43c66ec88fSEmmanuel Vadot      - items:
44c66ec88fSEmmanuel Vadot          - const: vepu
45c66ec88fSEmmanuel Vadot          - const: vdpu
46c66ec88fSEmmanuel Vadot
47c66ec88fSEmmanuel Vadot  clocks:
485956d97fSEmmanuel Vadot    oneOf:
495956d97fSEmmanuel Vadot      - maxItems: 2
505956d97fSEmmanuel Vadot      - maxItems: 4
51c66ec88fSEmmanuel Vadot
52c66ec88fSEmmanuel Vadot  clock-names:
535956d97fSEmmanuel Vadot    oneOf:
545956d97fSEmmanuel Vadot      - items:
55c66ec88fSEmmanuel Vadot          - const: aclk
56c66ec88fSEmmanuel Vadot          - const: hclk
575956d97fSEmmanuel Vadot      - items:
585956d97fSEmmanuel Vadot          - const: aclk_vdpu
595956d97fSEmmanuel Vadot          - const: hclk_vdpu
605956d97fSEmmanuel Vadot          - const: aclk_vepu
615956d97fSEmmanuel Vadot          - const: hclk_vepu
62c66ec88fSEmmanuel Vadot
63c66ec88fSEmmanuel Vadot  power-domains:
64c66ec88fSEmmanuel Vadot    maxItems: 1
65c66ec88fSEmmanuel Vadot
66c66ec88fSEmmanuel Vadot  iommus:
67c66ec88fSEmmanuel Vadot    maxItems: 1
68c66ec88fSEmmanuel Vadot
69c66ec88fSEmmanuel Vadotrequired:
70c66ec88fSEmmanuel Vadot  - compatible
71c66ec88fSEmmanuel Vadot  - reg
72c66ec88fSEmmanuel Vadot  - interrupts
73c66ec88fSEmmanuel Vadot  - interrupt-names
74c66ec88fSEmmanuel Vadot  - clocks
75c66ec88fSEmmanuel Vadot  - clock-names
76c66ec88fSEmmanuel Vadot
77c66ec88fSEmmanuel VadotadditionalProperties: false
78c66ec88fSEmmanuel Vadot
79c66ec88fSEmmanuel Vadotexamples:
80c66ec88fSEmmanuel Vadot  - |
81c66ec88fSEmmanuel Vadot        #include <dt-bindings/clock/rk3288-cru.h>
82c66ec88fSEmmanuel Vadot        #include <dt-bindings/interrupt-controller/arm-gic.h>
83c66ec88fSEmmanuel Vadot        #include <dt-bindings/power/rk3288-power.h>
84c66ec88fSEmmanuel Vadot
85c66ec88fSEmmanuel Vadot        vpu: video-codec@ff9a0000 {
86c66ec88fSEmmanuel Vadot                compatible = "rockchip,rk3288-vpu";
87c66ec88fSEmmanuel Vadot                reg = <0xff9a0000 0x800>;
88c66ec88fSEmmanuel Vadot                interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
89c66ec88fSEmmanuel Vadot                             <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
90c66ec88fSEmmanuel Vadot                interrupt-names = "vepu", "vdpu";
91c66ec88fSEmmanuel Vadot                clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
92c66ec88fSEmmanuel Vadot                clock-names = "aclk", "hclk";
93c66ec88fSEmmanuel Vadot                power-domains = <&power RK3288_PD_VIDEO>;
94c66ec88fSEmmanuel Vadot                iommus = <&vpu_mmu>;
95c66ec88fSEmmanuel Vadot        };
96