1545d984cSDikshita Agarwal# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2545d984cSDikshita Agarwal%YAML 1.2
3545d984cSDikshita Agarwal---
4af2270e0SKrzysztof Kozlowski$id: http://devicetree.org/schemas/media/qcom,sc7180-venus.yaml#
5af2270e0SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6545d984cSDikshita Agarwal
7af2270e0SKrzysztof Kozlowskititle: Qualcomm SC7180 Venus video encode and decode accelerators
8545d984cSDikshita Agarwal
9545d984cSDikshita Agarwalmaintainers:
10545d984cSDikshita Agarwal  - Stanimir Varbanov <stanimir.varbanov@linaro.org>
11545d984cSDikshita Agarwal
12545d984cSDikshita Agarwaldescription: |
13545d984cSDikshita Agarwal  The Venus IP is a video encode and decode accelerator present
14545d984cSDikshita Agarwal  on Qualcomm platforms
15545d984cSDikshita Agarwal
16f8cc21d4SKrzysztof KozlowskiallOf:
17f8cc21d4SKrzysztof Kozlowski  - $ref: qcom,venus-common.yaml#
18f8cc21d4SKrzysztof Kozlowski
19545d984cSDikshita Agarwalproperties:
20545d984cSDikshita Agarwal  compatible:
21545d984cSDikshita Agarwal    const: qcom,sc7180-venus
22545d984cSDikshita Agarwal
23545d984cSDikshita Agarwal  power-domains:
245b380f24SRajendra Nayak    minItems: 2
255b380f24SRajendra Nayak    maxItems: 3
26545d984cSDikshita Agarwal
27545d984cSDikshita Agarwal  power-domain-names:
285b380f24SRajendra Nayak    minItems: 2
29545d984cSDikshita Agarwal    items:
30545d984cSDikshita Agarwal      - const: venus
31545d984cSDikshita Agarwal      - const: vcodec0
325b380f24SRajendra Nayak      - const: cx
33545d984cSDikshita Agarwal
34545d984cSDikshita Agarwal  clocks:
35545d984cSDikshita Agarwal    maxItems: 5
36545d984cSDikshita Agarwal
37545d984cSDikshita Agarwal  clock-names:
38545d984cSDikshita Agarwal    items:
39545d984cSDikshita Agarwal      - const: core
40545d984cSDikshita Agarwal      - const: iface
41545d984cSDikshita Agarwal      - const: bus
42545d984cSDikshita Agarwal      - const: vcodec0_core
43545d984cSDikshita Agarwal      - const: vcodec0_bus
44545d984cSDikshita Agarwal
45545d984cSDikshita Agarwal  iommus:
46545d984cSDikshita Agarwal    maxItems: 1
47545d984cSDikshita Agarwal
48545d984cSDikshita Agarwal  memory-region:
49545d984cSDikshita Agarwal    maxItems: 1
50545d984cSDikshita Agarwal
51545d984cSDikshita Agarwal  interconnects:
52545d984cSDikshita Agarwal    maxItems: 2
53545d984cSDikshita Agarwal
54545d984cSDikshita Agarwal  interconnect-names:
55545d984cSDikshita Agarwal    items:
56545d984cSDikshita Agarwal      - const: video-mem
57545d984cSDikshita Agarwal      - const: cpu-cfg
58545d984cSDikshita Agarwal
59*9457d55eSKrzysztof Kozlowski  operating-points-v2: true
60*9457d55eSKrzysztof Kozlowski  opp-table:
61*9457d55eSKrzysztof Kozlowski    type: object
62*9457d55eSKrzysztof Kozlowski
63545d984cSDikshita Agarwal  video-decoder:
64545d984cSDikshita Agarwal    type: object
65545d984cSDikshita Agarwal
66545d984cSDikshita Agarwal    properties:
67545d984cSDikshita Agarwal      compatible:
68545d984cSDikshita Agarwal        const: venus-decoder
69545d984cSDikshita Agarwal
70545d984cSDikshita Agarwal    required:
71545d984cSDikshita Agarwal      - compatible
72545d984cSDikshita Agarwal
73545d984cSDikshita Agarwal    additionalProperties: false
74545d984cSDikshita Agarwal
75545d984cSDikshita Agarwal  video-encoder:
76545d984cSDikshita Agarwal    type: object
77545d984cSDikshita Agarwal
78545d984cSDikshita Agarwal    properties:
79545d984cSDikshita Agarwal      compatible:
80545d984cSDikshita Agarwal        const: venus-encoder
81545d984cSDikshita Agarwal
82545d984cSDikshita Agarwal    required:
83545d984cSDikshita Agarwal      - compatible
84545d984cSDikshita Agarwal
85545d984cSDikshita Agarwal    additionalProperties: false
86545d984cSDikshita Agarwal
87545d984cSDikshita Agarwalrequired:
88545d984cSDikshita Agarwal  - compatible
89545d984cSDikshita Agarwal  - power-domain-names
90545d984cSDikshita Agarwal  - iommus
91545d984cSDikshita Agarwal  - video-decoder
92545d984cSDikshita Agarwal  - video-encoder
93545d984cSDikshita Agarwal
94f8cc21d4SKrzysztof KozlowskiunevaluatedProperties: false
955be478f9SRob Herring
96545d984cSDikshita Agarwalexamples:
97545d984cSDikshita Agarwal  - |
98545d984cSDikshita Agarwal    #include <dt-bindings/interrupt-controller/arm-gic.h>
99545d984cSDikshita Agarwal    #include <dt-bindings/clock/qcom,videocc-sc7180.h>
100545d984cSDikshita Agarwal
101545d984cSDikshita Agarwal    venus: video-codec@aa00000 {
102545d984cSDikshita Agarwal        compatible = "qcom,sc7180-venus";
103fba56184SRob Herring        reg = <0x0aa00000 0xff000>;
104545d984cSDikshita Agarwal        interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
105545d984cSDikshita Agarwal        power-domains = <&videocc VENUS_GDSC>,
106545d984cSDikshita Agarwal                        <&videocc VCODEC0_GDSC>;
107545d984cSDikshita Agarwal        power-domain-names = "venus", "vcodec0";
108545d984cSDikshita Agarwal        clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>,
109545d984cSDikshita Agarwal                 <&videocc VIDEO_CC_VENUS_AHB_CLK>,
110545d984cSDikshita Agarwal                 <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>,
111545d984cSDikshita Agarwal                 <&videocc VIDEO_CC_VCODEC0_CORE_CLK>,
112545d984cSDikshita Agarwal                 <&videocc VIDEO_CC_VCODEC0_AXI_CLK>;
113545d984cSDikshita Agarwal        clock-names = "core", "iface", "bus",
114545d984cSDikshita Agarwal                      "vcodec0_core", "vcodec0_bus";
115545d984cSDikshita Agarwal        iommus = <&apps_smmu 0x0c00 0x60>;
116545d984cSDikshita Agarwal        memory-region = <&venus_mem>;
117545d984cSDikshita Agarwal
118545d984cSDikshita Agarwal        video-decoder {
119545d984cSDikshita Agarwal            compatible = "venus-decoder";
120545d984cSDikshita Agarwal        };
121545d984cSDikshita Agarwal
122545d984cSDikshita Agarwal        video-encoder {
123545d984cSDikshita Agarwal            compatible = "venus-encoder";
124545d984cSDikshita Agarwal        };
125545d984cSDikshita Agarwal    };
126