blob: 9410f13ca97c181973c62fe62d0399fc9e82f05d [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/media/qcom,msm8916-venus.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm MSM8916 Venus video encode and decode accelerators
8
9maintainers:
10 - Stanimir Varbanov <stanimir.varbanov@linaro.org>
11
12description: |
13 The Venus IP is a video encode and decode accelerator present
14 on Qualcomm platforms
15
16allOf:
17 - $ref: qcom,venus-common.yaml#
18
19properties:
20 compatible:
21 const: qcom,msm8916-venus
22
23 power-domains:
24 maxItems: 1
25
26 clocks:
27 maxItems: 3
28
29 clock-names:
30 items:
31 - const: core
32 - const: iface
33 - const: bus
34
35 iommus:
36 maxItems: 1
37
38 video-decoder:
39 type: object
40
41 properties:
42 compatible:
43 const: venus-decoder
44
45 required:
46 - compatible
47
48 additionalProperties: false
49
50 video-encoder:
51 type: object
52
53 properties:
54 compatible:
55 const: venus-encoder
56
57 required:
58 - compatible
59
60 additionalProperties: false
61
62required:
63 - compatible
64 - iommus
65 - video-decoder
66 - video-encoder
67
68unevaluatedProperties: false
69
70examples:
71 - |
72 #include <dt-bindings/interrupt-controller/arm-gic.h>
73 #include <dt-bindings/clock/qcom,gcc-msm8916.h>
74
75 video-codec@1d00000 {
76 compatible = "qcom,msm8916-venus";
77 reg = <0x01d00000 0xff000>;
78 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
79 clocks = <&gcc GCC_VENUS0_VCODEC0_CLK>,
80 <&gcc GCC_VENUS0_AHB_CLK>,
81 <&gcc GCC_VENUS0_AXI_CLK>;
82 clock-names = "core", "iface", "bus";
83 power-domains = <&gcc VENUS_GDSC>;
84 iommus = <&apps_iommu 5>;
85 memory-region = <&venus_mem>;
86
87 video-decoder {
88 compatible = "venus-decoder";
89 };
90
91 video-encoder {
92 compatible = "venus-encoder";
93 };
94 };