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