xref: /freebsd/sys/contrib/device-tree/Bindings/media/qcom,msm8916-venus.yaml (revision 59c8e88e72633afbc47a4ace0d2170d00d51f7dc)
1# 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    };
95