xref: /freebsd/sys/contrib/device-tree/Bindings/media/rockchip-vpu.yaml (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot
3c66ec88fSEmmanuel Vadot%YAML 1.2
4c66ec88fSEmmanuel Vadot---
5fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/media/rockchip-vpu.yaml#
6fac71e4eSEmmanuel 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
26d5b0e70fSEmmanuel Vadot          - rockchip,rk3568-vpu
27f126890aSEmmanuel Vadot          - rockchip,rk3588-av1-vpu
285956d97fSEmmanuel Vadot      - items:
295956d97fSEmmanuel Vadot          - const: rockchip,rk3188-vpu
305956d97fSEmmanuel Vadot          - const: rockchip,rk3066-vpu
315956d97fSEmmanuel Vadot      - items:
325956d97fSEmmanuel Vadot          - const: rockchip,rk3228-vpu
335956d97fSEmmanuel Vadot          - const: rockchip,rk3399-vpu
34c66ec88fSEmmanuel Vadot
35c66ec88fSEmmanuel Vadot  reg:
36c66ec88fSEmmanuel Vadot    maxItems: 1
37c66ec88fSEmmanuel Vadot
38c66ec88fSEmmanuel Vadot  interrupts:
39c66ec88fSEmmanuel Vadot    minItems: 1
40c66ec88fSEmmanuel Vadot    maxItems: 2
41c66ec88fSEmmanuel Vadot
42c66ec88fSEmmanuel Vadot  interrupt-names:
43c66ec88fSEmmanuel Vadot    oneOf:
44c66ec88fSEmmanuel Vadot      - const: vdpu
45c66ec88fSEmmanuel Vadot      - items:
46c66ec88fSEmmanuel Vadot          - const: vepu
47c66ec88fSEmmanuel Vadot          - const: vdpu
48c66ec88fSEmmanuel Vadot
49c66ec88fSEmmanuel Vadot  clocks:
505956d97fSEmmanuel Vadot    oneOf:
515956d97fSEmmanuel Vadot      - maxItems: 2
525956d97fSEmmanuel Vadot      - maxItems: 4
53c66ec88fSEmmanuel Vadot
54c66ec88fSEmmanuel Vadot  clock-names:
555956d97fSEmmanuel Vadot    oneOf:
565956d97fSEmmanuel Vadot      - items:
57c66ec88fSEmmanuel Vadot          - const: aclk
58c66ec88fSEmmanuel Vadot          - const: hclk
595956d97fSEmmanuel Vadot      - items:
605956d97fSEmmanuel Vadot          - const: aclk_vdpu
615956d97fSEmmanuel Vadot          - const: hclk_vdpu
625956d97fSEmmanuel Vadot          - const: aclk_vepu
635956d97fSEmmanuel Vadot          - const: hclk_vepu
64c66ec88fSEmmanuel Vadot
65c66ec88fSEmmanuel Vadot  power-domains:
66c66ec88fSEmmanuel Vadot    maxItems: 1
67c66ec88fSEmmanuel Vadot
68c66ec88fSEmmanuel Vadot  iommus:
69c66ec88fSEmmanuel Vadot    maxItems: 1
70c66ec88fSEmmanuel Vadot
71*84943d6fSEmmanuel Vadot  resets:
72*84943d6fSEmmanuel Vadot    items:
73*84943d6fSEmmanuel Vadot      - description: AXI reset line
74*84943d6fSEmmanuel Vadot      - description: AXI bus interface unit reset line
75*84943d6fSEmmanuel Vadot      - description: APB reset line
76*84943d6fSEmmanuel Vadot      - description: APB bus interface unit reset line
77*84943d6fSEmmanuel Vadot
78c66ec88fSEmmanuel Vadotrequired:
79c66ec88fSEmmanuel Vadot  - compatible
80c66ec88fSEmmanuel Vadot  - reg
81c66ec88fSEmmanuel Vadot  - interrupts
82c66ec88fSEmmanuel Vadot  - interrupt-names
83c66ec88fSEmmanuel Vadot  - clocks
84c66ec88fSEmmanuel Vadot  - clock-names
85c66ec88fSEmmanuel Vadot
86c66ec88fSEmmanuel VadotadditionalProperties: false
87c66ec88fSEmmanuel Vadot
88c66ec88fSEmmanuel Vadotexamples:
89c66ec88fSEmmanuel Vadot  - |
90c66ec88fSEmmanuel Vadot        #include <dt-bindings/clock/rk3288-cru.h>
91c66ec88fSEmmanuel Vadot        #include <dt-bindings/interrupt-controller/arm-gic.h>
92c66ec88fSEmmanuel Vadot        #include <dt-bindings/power/rk3288-power.h>
93c66ec88fSEmmanuel Vadot
94c66ec88fSEmmanuel Vadot        vpu: video-codec@ff9a0000 {
95c66ec88fSEmmanuel Vadot                compatible = "rockchip,rk3288-vpu";
96c66ec88fSEmmanuel Vadot                reg = <0xff9a0000 0x800>;
97c66ec88fSEmmanuel Vadot                interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
98c66ec88fSEmmanuel Vadot                             <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
99c66ec88fSEmmanuel Vadot                interrupt-names = "vepu", "vdpu";
100c66ec88fSEmmanuel Vadot                clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
101c66ec88fSEmmanuel Vadot                clock-names = "aclk", "hclk";
102c66ec88fSEmmanuel Vadot                power-domains = <&power RK3288_PD_VIDEO>;
103c66ec88fSEmmanuel Vadot                iommus = <&vpu_mmu>;
104c66ec88fSEmmanuel Vadot        };
105