Skip to content

Commit e6cbbd0

Browse files
author
André Apitzsch
committed
media: dt-bindings: media: venus: Add msm8939 dt schema
Add a schema description for the Venus video decoder/encoder IP in MSM8939. Signed-off-by: André Apitzsch <git@apitzsch.eu>
1 parent 977f2f5 commit e6cbbd0

File tree

1 file changed

+126
-0
lines changed

1 file changed

+126
-0
lines changed
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/media/qcom,msm8939-venus.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm MSM8939 Venus video encode and decode accelerators
8+
9+
maintainers:
10+
- Stanimir Varbanov <stanimir.varbanov@linaro.org>
11+
12+
description: |
13+
The Venus IP is a video encode and decode accelerator present
14+
on Qualcomm platforms
15+
16+
allOf:
17+
- $ref: qcom,venus-common.yaml#
18+
19+
properties:
20+
compatible:
21+
const: qcom,msm8939-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+
clocks:
46+
maxItems: 1
47+
48+
clock-names:
49+
items:
50+
- const: core
51+
52+
power-domains:
53+
maxItems: 1
54+
55+
required:
56+
- compatible
57+
- clocks
58+
- clock-names
59+
- power-domains
60+
61+
additionalProperties: false
62+
63+
video-encoder:
64+
type: object
65+
66+
properties:
67+
compatible:
68+
const: venus-encoder
69+
70+
clocks:
71+
maxItems: 1
72+
73+
clock-names:
74+
items:
75+
- const: core
76+
77+
power-domains:
78+
maxItems: 1
79+
80+
required:
81+
- compatible
82+
- clocks
83+
- clock-names
84+
- power-domains
85+
86+
additionalProperties: false
87+
88+
required:
89+
- compatible
90+
- iommus
91+
- video-decoder
92+
- video-encoder
93+
94+
unevaluatedProperties: false
95+
96+
examples:
97+
- |
98+
#include <dt-bindings/interrupt-controller/arm-gic.h>
99+
#include <dt-bindings/clock/qcom,gcc-msm8939.h>
100+
101+
video-codec@1d00000 {
102+
compatible = "qcom,msm8939-venus";
103+
reg = <0x01d00000 0xff000>;
104+
interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
105+
clocks = <&gcc GCC_VENUS0_VCODEC0_CLK>,
106+
<&gcc GCC_VENUS0_AHB_CLK>,
107+
<&gcc GCC_VENUS0_AXI_CLK>;
108+
clock-names = "core", "iface", "bus";
109+
power-domains = <&gcc VENUS_GDSC>;
110+
iommus = <&apps_iommu 5>;
111+
memory-region = <&venus_mem>;
112+
113+
video-decoder {
114+
compatible = "venus-decoder";
115+
clocks = <&gcc GCC_VENUS0_CORE0_VCODEC0_CLK>;
116+
clock-names = "core";
117+
power-domains = <&gcc VENUS_CORE0_GDSC>;
118+
};
119+
120+
video-encoder {
121+
compatible = "venus-encoder";
122+
clocks = <&gcc GCC_VENUS0_CORE1_VCODEC0_CLK>;
123+
clock-names = "core";
124+
power-domains = <&gcc VENUS_CORE1_GDSC>;
125+
};
126+
};

0 commit comments

Comments
 (0)