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    oneOf:
19      - const: rockchip,rk3399-vdec
20      - items:
21          - const: rockchip,rk3228-vdec
22          - const: rockchip,rk3399-vdec
23
24  reg:
25    maxItems: 1
26
27  interrupts:
28    maxItems: 1
29
30  clocks:
31    items:
32      - description: The Video Decoder AXI interface clock
33      - description: The Video Decoder AHB interface clock
34      - description: The Video Decoded CABAC clock
35      - description: The Video Decoder core clock
36
37  clock-names:
38    items:
39      - const: axi
40      - const: ahb
41      - const: cabac
42      - const: core
43
44  assigned-clocks: true
45
46  assigned-clock-rates: true
47
48  power-domains:
49    maxItems: 1
50
51  iommus:
52    maxItems: 1
53
54required:
55  - compatible
56  - reg
57  - interrupts
58  - clocks
59  - clock-names
60  - power-domains
61
62additionalProperties: false
63
64examples:
65  - |
66    #include <dt-bindings/interrupt-controller/arm-gic.h>
67    #include <dt-bindings/clock/rk3399-cru.h>
68    #include <dt-bindings/power/rk3399-power.h>
69
70    vdec: video-codec@ff660000 {
71        compatible = "rockchip,rk3399-vdec";
72        reg = <0xff660000 0x400>;
73        interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH 0>;
74        clocks = <&cru ACLK_VDU>, <&cru HCLK_VDU>,
75                 <&cru SCLK_VDU_CA>, <&cru SCLK_VDU_CORE>;
76        clock-names = "axi", "ahb", "cabac", "core";
77        power-domains = <&power RK3399_PD_VDU>;
78        iommus = <&vdec_mmu>;
79    };
80
81...
82