xref: /freebsd/sys/contrib/device-tree/Bindings/media/rockchip,vdec.yaml (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/media/rockchip,vdec.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Rockchip Video Decoder (VDec) Device Tree Bindings
8
9maintainers:
10  - Heiko Stuebner <heiko@sntech.de>
11
12description: |-
13  The Rockchip rk3399 has a stateless Video Decoder that can decodes H.264,
14  HEVC an VP9 streams.
15
16properties:
17  compatible:
18    const: rockchip,rk3399-vdec
19
20  reg:
21    maxItems: 1
22
23  interrupts:
24    maxItems: 1
25
26  clocks:
27    items:
28      - description: The Video Decoder AXI interface clock
29      - description: The Video Decoder AHB interface clock
30      - description: The Video Decoded CABAC clock
31      - description: The Video Decoder core clock
32
33  clock-names:
34    items:
35      - const: axi
36      - const: ahb
37      - const: cabac
38      - const: core
39
40  power-domains:
41    maxItems: 1
42
43  iommus:
44    maxItems: 1
45
46required:
47  - compatible
48  - reg
49  - interrupts
50  - clocks
51  - clock-names
52  - power-domains
53
54additionalProperties: false
55
56examples:
57  - |
58    #include <dt-bindings/interrupt-controller/arm-gic.h>
59    #include <dt-bindings/clock/rk3399-cru.h>
60    #include <dt-bindings/power/rk3399-power.h>
61
62    vdec: video-codec@ff660000 {
63        compatible = "rockchip,rk3399-vdec";
64        reg = <0xff660000 0x400>;
65        interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH 0>;
66        clocks = <&cru ACLK_VDU>, <&cru HCLK_VDU>,
67                 <&cru SCLK_VDU_CA>, <&cru SCLK_VDU_CORE>;
68        clock-names = "axi", "ahb", "cabac", "core";
69        power-domains = <&power RK3399_PD_VDU>;
70        iommus = <&vdec_mmu>;
71    };
72
73...
74