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