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