1fde57f90SStanimir Varbanov# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2fde57f90SStanimir Varbanov%YAML 1.2
3fde57f90SStanimir Varbanov---
4af2270e0SKrzysztof Kozlowski$id: http://devicetree.org/schemas/media/qcom,sdm845-venus-v2.yaml#
5af2270e0SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6fde57f90SStanimir Varbanov
7af2270e0SKrzysztof Kozlowskititle: Qualcomm SDM845 Venus v2 video encode and decode accelerators
8fde57f90SStanimir Varbanov
9fde57f90SStanimir Varbanovmaintainers:
10fde57f90SStanimir Varbanov  - Stanimir Varbanov <stanimir.varbanov@linaro.org>
11fde57f90SStanimir Varbanov
12fde57f90SStanimir Varbanovdescription: |
13fde57f90SStanimir Varbanov  The Venus IP is a video encode and decode accelerator present
14fde57f90SStanimir Varbanov  on Qualcomm platforms
15fde57f90SStanimir Varbanov
16f8cc21d4SKrzysztof KozlowskiallOf:
17f8cc21d4SKrzysztof Kozlowski  - $ref: qcom,venus-common.yaml#
18f8cc21d4SKrzysztof Kozlowski
19fde57f90SStanimir Varbanovproperties:
20fde57f90SStanimir Varbanov  compatible:
21fde57f90SStanimir Varbanov    const: qcom,sdm845-venus-v2
22fde57f90SStanimir Varbanov
23fde57f90SStanimir Varbanov  power-domains:
245b380f24SRajendra Nayak    minItems: 3
255b380f24SRajendra Nayak    maxItems: 4
26fde57f90SStanimir Varbanov
27fde57f90SStanimir Varbanov  power-domain-names:
285b380f24SRajendra Nayak    minItems: 3
29fde57f90SStanimir Varbanov    items:
30fde57f90SStanimir Varbanov      - const: venus
31fde57f90SStanimir Varbanov      - const: vcodec0
32fde57f90SStanimir Varbanov      - const: vcodec1
335b380f24SRajendra Nayak      - const: cx
34fde57f90SStanimir Varbanov
35fde57f90SStanimir Varbanov  clocks:
36fde57f90SStanimir Varbanov    maxItems: 7
37fde57f90SStanimir Varbanov
38fde57f90SStanimir Varbanov  clock-names:
39fde57f90SStanimir Varbanov    items:
40fde57f90SStanimir Varbanov      - const: core
41fde57f90SStanimir Varbanov      - const: iface
42fde57f90SStanimir Varbanov      - const: bus
43fde57f90SStanimir Varbanov      - const: vcodec0_core
44fde57f90SStanimir Varbanov      - const: vcodec0_bus
45fde57f90SStanimir Varbanov      - const: vcodec1_core
46fde57f90SStanimir Varbanov      - const: vcodec1_bus
47fde57f90SStanimir Varbanov
48fde57f90SStanimir Varbanov  iommus:
49fde57f90SStanimir Varbanov    maxItems: 2
50fde57f90SStanimir Varbanov
51*ee7d23f5SKrzysztof Kozlowski  operating-points-v2: true
52*ee7d23f5SKrzysztof Kozlowski  opp-table:
53*ee7d23f5SKrzysztof Kozlowski    type: object
54*ee7d23f5SKrzysztof Kozlowski
55fde57f90SStanimir Varbanov  video-core0:
56fde57f90SStanimir Varbanov    type: object
57fde57f90SStanimir Varbanov
58fde57f90SStanimir Varbanov    properties:
59fde57f90SStanimir Varbanov      compatible:
60fde57f90SStanimir Varbanov        const: venus-decoder
61fde57f90SStanimir Varbanov
62fde57f90SStanimir Varbanov    required:
63fde57f90SStanimir Varbanov      - compatible
64fde57f90SStanimir Varbanov
65fde57f90SStanimir Varbanov    additionalProperties: false
66fde57f90SStanimir Varbanov
67fde57f90SStanimir Varbanov  video-core1:
68fde57f90SStanimir Varbanov    type: object
69fde57f90SStanimir Varbanov
70fde57f90SStanimir Varbanov    properties:
71fde57f90SStanimir Varbanov      compatible:
72fde57f90SStanimir Varbanov        const: venus-encoder
73fde57f90SStanimir Varbanov
74fde57f90SStanimir Varbanov    required:
75fde57f90SStanimir Varbanov      - compatible
76fde57f90SStanimir Varbanov
77fde57f90SStanimir Varbanov    additionalProperties: false
78fde57f90SStanimir Varbanov
79fde57f90SStanimir Varbanovrequired:
80fde57f90SStanimir Varbanov  - compatible
81fde57f90SStanimir Varbanov  - power-domain-names
82fde57f90SStanimir Varbanov  - iommus
83fde57f90SStanimir Varbanov  - video-core0
84fde57f90SStanimir Varbanov  - video-core1
85fde57f90SStanimir Varbanov
86f8cc21d4SKrzysztof KozlowskiunevaluatedProperties: false
875be478f9SRob Herring
88fde57f90SStanimir Varbanovexamples:
89fde57f90SStanimir Varbanov  - |
90fde57f90SStanimir Varbanov    #include <dt-bindings/interrupt-controller/arm-gic.h>
91fde57f90SStanimir Varbanov    #include <dt-bindings/clock/qcom,videocc-sdm845.h>
92fde57f90SStanimir Varbanov
93fde57f90SStanimir Varbanov    video-codec@aa00000 {
94fde57f90SStanimir Varbanov        compatible = "qcom,sdm845-venus-v2";
95fba56184SRob Herring        reg = <0x0aa00000 0xff000>;
96fde57f90SStanimir Varbanov        interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
97fde57f90SStanimir Varbanov        clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>,
98fde57f90SStanimir Varbanov                 <&videocc VIDEO_CC_VENUS_AHB_CLK>,
99fde57f90SStanimir Varbanov                 <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>,
100fde57f90SStanimir Varbanov                 <&videocc VIDEO_CC_VCODEC0_CORE_CLK>,
101fde57f90SStanimir Varbanov                 <&videocc VIDEO_CC_VCODEC0_AXI_CLK>,
102fde57f90SStanimir Varbanov                 <&videocc VIDEO_CC_VCODEC1_CORE_CLK>,
103fde57f90SStanimir Varbanov                 <&videocc VIDEO_CC_VCODEC1_AXI_CLK>;
104fde57f90SStanimir Varbanov        clock-names = "core", "iface", "bus",
105fde57f90SStanimir Varbanov                      "vcodec0_core", "vcodec0_bus",
106fde57f90SStanimir Varbanov                      "vcodec1_core", "vcodec1_bus";
107fde57f90SStanimir Varbanov        power-domains = <&videocc VENUS_GDSC>,
108fde57f90SStanimir Varbanov                        <&videocc VCODEC0_GDSC>,
109fde57f90SStanimir Varbanov                        <&videocc VCODEC1_GDSC>;
110fde57f90SStanimir Varbanov        power-domain-names = "venus", "vcodec0", "vcodec1";
111fde57f90SStanimir Varbanov        iommus = <&apps_smmu 0x10a0 0x8>,
112fde57f90SStanimir Varbanov                 <&apps_smmu 0x10b0 0x0>;
113fde57f90SStanimir Varbanov        memory-region = <&venus_mem>;
114fde57f90SStanimir Varbanov
115fde57f90SStanimir Varbanov        video-core0 {
116fde57f90SStanimir Varbanov            compatible = "venus-decoder";
117fde57f90SStanimir Varbanov        };
118fde57f90SStanimir Varbanov
119fde57f90SStanimir Varbanov        video-core1 {
120fde57f90SStanimir Varbanov            compatible = "venus-encoder";
121fde57f90SStanimir Varbanov        };
122fde57f90SStanimir Varbanov    };
123