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
3%YAML 1.2
4---
5$id: "http://devicetree.org/schemas/media/qcom,sdm845-venus.yaml#"
6$schema: "http://devicetree.org/meta-schemas/core.yaml#"
7
8title: Qualcomm Venus video encode and decode accelerators
9
10maintainers:
11 - Stanimir Varbanov <stanimir.varbanov@linaro.org>
12
13description: |
14 The Venus IP is a video encode and decode accelerator present
15 on Qualcomm platforms
16
17properties:
18 compatible:
19 const: qcom,sdm845-venus
20
21 reg:
22 maxItems: 1
23
24 interrupts:
25 maxItems: 1
26
27 power-domains:
28 maxItems: 1
29
30 clocks:
31 maxItems: 3
32
33 clock-names:
34 items:
35 - const: core
36 - const: iface
37 - const: bus
38
39 iommus:
40 maxItems: 2
41
42 memory-region:
43 maxItems: 1
44
45 video-core0:
46 type: object
47
48 properties:
49 compatible:
50 const: venus-decoder
51
52 clocks:
53 maxItems: 2
54
55 clock-names:
56 items:
57 - const: core
58 - const: bus
59
60 power-domains:
61 maxItems: 1
62
63 required:
64 - compatible
65 - clocks
66 - clock-names
67 - power-domains
68
69 additionalProperties: false
70
71 video-core1:
72 type: object
73
74 properties:
75 compatible:
76 const: venus-encoder
77
78 clocks:
79 maxItems: 2
80
81 clock-names:
82 items:
83 - const: core
84 - const: bus
85
86 power-domains:
87 maxItems: 1
88
89 required:
90 - compatible
91 - clocks
92 - clock-names
93 - power-domains
94
95 additionalProperties: false
96
97 video-firmware:
98 type: object
99 additionalProperties: false
100
101 description: |
102 Firmware subnode is needed when the platform does not
103 have TrustZone.
104
105 properties:
106 iommus:
107 maxItems: 1
108
109 required:
110 - iommus
111
112required:
113 - compatible
114 - reg
115 - interrupts
116 - power-domains
117 - clocks
118 - clock-names
119 - iommus
120 - memory-region
121 - video-core0
122 - video-core1
123
124additionalProperties: false
125
126examples:
127 - |
128 #include <dt-bindings/interrupt-controller/arm-gic.h>
129 #include <dt-bindings/clock/qcom,videocc-sdm845.h>
130
131 video-codec@aa00000 {
132 compatible = "qcom,sdm845-venus";
133 reg = <0x0aa00000 0xff000>;
134 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
135 clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>,
136 <&videocc VIDEO_CC_VENUS_AHB_CLK>,
137 <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>;
138 clock-names = "core", "iface", "bus";
139 power-domains = <&videocc VENUS_GDSC>;
140 iommus = <&apps_smmu 0x10a0 0x8>,
141 <&apps_smmu 0x10b0 0x0>;
142 memory-region = <&venus_mem>;
143
144 video-core0 {
145 compatible = "venus-decoder";
146 clocks = <&videocc VIDEO_CC_VCODEC0_CORE_CLK>,
147 <&videocc VIDEO_CC_VCODEC0_AXI_CLK>;
148 clock-names = "core", "bus";
149 power-domains = <&videocc VCODEC0_GDSC>;
150 };
151
152 video-core1 {
153 compatible = "venus-encoder";
154 clocks = <&videocc VIDEO_CC_VCODEC1_CORE_CLK>,
155 <&videocc VIDEO_CC_VCODEC1_AXI_CLK>;
156 clock-names = "core", "bus";
157 power-domains = <&videocc VCODEC1_GDSC>;
158 };
159 };