Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/media/qcom,sc7280-venus.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm SC7280 Venus video encode and decode accelerators
8
9maintainers:
10 - Stanimir Varbanov <stanimir.varbanov@linaro.org>
11
12description: |
13 The Venus Iris2 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,sc7280-venus
22
23 power-domains:
24 minItems: 2
25 maxItems: 3
26
27 power-domain-names:
28 minItems: 2
29 items:
30 - const: venus
31 - const: vcodec0
32 - const: cx
33
34 clocks:
35 maxItems: 5
36
37 clock-names:
38 items:
39 - const: core
40 - const: bus
41 - const: iface
42 - const: vcodec_core
43 - const: vcodec_bus
44
45 iommus:
46 minItems: 1
47 maxItems: 2
48
49 interconnects:
50 maxItems: 2
51
52 interconnect-names:
53 items:
54 - const: cpu-cfg
55 - const: video-mem
56
57 operating-points-v2: true
58 opp-table:
59 type: object
60
61 video-decoder:
62 type: object
63
64 properties:
65 compatible:
66 const: venus-decoder
67
68 required:
69 - compatible
70
71 deprecated: true
72 additionalProperties: false
73
74 video-encoder:
75 type: object
76
77 properties:
78 compatible:
79 const: venus-encoder
80
81 required:
82 - compatible
83
84 deprecated: true
85 additionalProperties: false
86
87required:
88 - compatible
89 - power-domain-names
90 - iommus
91
92unevaluatedProperties: false
93
94examples:
95 - |
96 #include <dt-bindings/interrupt-controller/arm-gic.h>
97 #include <dt-bindings/clock/qcom,videocc-sc7280.h>
98 #include <dt-bindings/interconnect/qcom,sc7280.h>
99 #include <dt-bindings/power/qcom-rpmpd.h>
100
101 venus: video-codec@aa00000 {
102 compatible = "qcom,sc7280-venus";
103 reg = <0x0aa00000 0xd0600>;
104 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
105
106 clocks = <&videocc VIDEO_CC_MVSC_CORE_CLK>,
107 <&videocc VIDEO_CC_MVSC_CTL_AXI_CLK>,
108 <&videocc VIDEO_CC_VENUS_AHB_CLK>,
109 <&videocc VIDEO_CC_MVS0_CORE_CLK>,
110 <&videocc VIDEO_CC_MVS0_AXI_CLK>;
111 clock-names = "core", "bus", "iface",
112 "vcodec_core", "vcodec_bus";
113
114 power-domains = <&videocc MVSC_GDSC>,
115 <&videocc MVS0_GDSC>,
116 <&rpmhpd SC7280_CX>;
117 power-domain-names = "venus", "vcodec0", "cx";
118
119 interconnects = <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_VENUS_CFG 0>,
120 <&mmss_noc MASTER_VIDEO_P0 0 &mc_virt SLAVE_EBI1 0>;
121 interconnect-names = "cpu-cfg", "video-mem";
122
123 iommus = <&apps_smmu 0x2180 0x20>,
124 <&apps_smmu 0x2184 0x20>;
125
126 memory-region = <&video_mem>;
127
128 video-firmware {
129 iommus = <&apps_smmu 0x21a2 0x0>;
130 };
131 };