xref: /linux/Documentation/devicetree/bindings/media/qcom,sdm845-venus-v2.yaml (revision 1260ed77798502de9c98020040d2995008de10cc)
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
51ef876db6SKonrad Dybcio  interconnects:
52ef876db6SKonrad Dybcio    maxItems: 2
53ef876db6SKonrad Dybcio
54ef876db6SKonrad Dybcio  interconnect-names:
55ef876db6SKonrad Dybcio    items:
56ef876db6SKonrad Dybcio      - const: video-mem
57ef876db6SKonrad Dybcio      - const: cpu-cfg
58ef876db6SKonrad Dybcio
59ee7d23f5SKrzysztof Kozlowski  operating-points-v2: true
60ee7d23f5SKrzysztof Kozlowski  opp-table:
61ee7d23f5SKrzysztof Kozlowski    type: object
62ee7d23f5SKrzysztof Kozlowski
63fde57f90SStanimir Varbanov  video-core0:
64fde57f90SStanimir Varbanov    type: object
65fde57f90SStanimir Varbanov
66fde57f90SStanimir Varbanov    properties:
67fde57f90SStanimir Varbanov      compatible:
68fde57f90SStanimir Varbanov        const: venus-decoder
69fde57f90SStanimir Varbanov
70fde57f90SStanimir Varbanov    required:
71fde57f90SStanimir Varbanov      - compatible
72fde57f90SStanimir Varbanov
73*459997e8SBryan O'Donoghue    deprecated: true
74fde57f90SStanimir Varbanov    additionalProperties: false
75fde57f90SStanimir Varbanov
76fde57f90SStanimir Varbanov  video-core1:
77fde57f90SStanimir Varbanov    type: object
78fde57f90SStanimir Varbanov
79fde57f90SStanimir Varbanov    properties:
80fde57f90SStanimir Varbanov      compatible:
81fde57f90SStanimir Varbanov        const: venus-encoder
82fde57f90SStanimir Varbanov
83fde57f90SStanimir Varbanov    required:
84fde57f90SStanimir Varbanov      - compatible
85fde57f90SStanimir Varbanov
86*459997e8SBryan O'Donoghue    deprecated: true
87fde57f90SStanimir Varbanov    additionalProperties: false
88fde57f90SStanimir Varbanov
89fde57f90SStanimir Varbanovrequired:
90fde57f90SStanimir Varbanov  - compatible
91fde57f90SStanimir Varbanov  - power-domain-names
92fde57f90SStanimir Varbanov  - iommus
93fde57f90SStanimir Varbanov
94f8cc21d4SKrzysztof KozlowskiunevaluatedProperties: false
955be478f9SRob Herring
96fde57f90SStanimir Varbanovexamples:
97fde57f90SStanimir Varbanov  - |
98fde57f90SStanimir Varbanov    #include <dt-bindings/interrupt-controller/arm-gic.h>
99fde57f90SStanimir Varbanov    #include <dt-bindings/clock/qcom,videocc-sdm845.h>
100fde57f90SStanimir Varbanov
101fde57f90SStanimir Varbanov    video-codec@aa00000 {
102fde57f90SStanimir Varbanov        compatible = "qcom,sdm845-venus-v2";
103fba56184SRob Herring        reg = <0x0aa00000 0xff000>;
104fde57f90SStanimir Varbanov        interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
105fde57f90SStanimir Varbanov        clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>,
106fde57f90SStanimir Varbanov                 <&videocc VIDEO_CC_VENUS_AHB_CLK>,
107fde57f90SStanimir Varbanov                 <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>,
108fde57f90SStanimir Varbanov                 <&videocc VIDEO_CC_VCODEC0_CORE_CLK>,
109fde57f90SStanimir Varbanov                 <&videocc VIDEO_CC_VCODEC0_AXI_CLK>,
110fde57f90SStanimir Varbanov                 <&videocc VIDEO_CC_VCODEC1_CORE_CLK>,
111fde57f90SStanimir Varbanov                 <&videocc VIDEO_CC_VCODEC1_AXI_CLK>;
112fde57f90SStanimir Varbanov        clock-names = "core", "iface", "bus",
113fde57f90SStanimir Varbanov                      "vcodec0_core", "vcodec0_bus",
114fde57f90SStanimir Varbanov                      "vcodec1_core", "vcodec1_bus";
115fde57f90SStanimir Varbanov        power-domains = <&videocc VENUS_GDSC>,
116fde57f90SStanimir Varbanov                        <&videocc VCODEC0_GDSC>,
117fde57f90SStanimir Varbanov                        <&videocc VCODEC1_GDSC>;
118fde57f90SStanimir Varbanov        power-domain-names = "venus", "vcodec0", "vcodec1";
119fde57f90SStanimir Varbanov        iommus = <&apps_smmu 0x10a0 0x8>,
120fde57f90SStanimir Varbanov                 <&apps_smmu 0x10b0 0x0>;
121fde57f90SStanimir Varbanov        memory-region = <&venus_mem>;
122fde57f90SStanimir Varbanov    };
123