xref: /openbmc/linux/Documentation/devicetree/bindings/media/qcom,sc7280-venus.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1e48b839bSDikshita Agarwal# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2e48b839bSDikshita Agarwal%YAML 1.2
3e48b839bSDikshita Agarwal---
4af2270e0SKrzysztof Kozlowski$id: http://devicetree.org/schemas/media/qcom,sc7280-venus.yaml#
5af2270e0SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6e48b839bSDikshita Agarwal
7af2270e0SKrzysztof Kozlowskititle: Qualcomm SC7280 Venus video encode and decode accelerators
8e48b839bSDikshita Agarwal
9e48b839bSDikshita Agarwalmaintainers:
10e48b839bSDikshita Agarwal  - Stanimir Varbanov <stanimir.varbanov@linaro.org>
11e48b839bSDikshita Agarwal
12e48b839bSDikshita Agarwaldescription: |
13e48b839bSDikshita Agarwal  The Venus Iris2 IP is a video encode and decode accelerator present
14e48b839bSDikshita Agarwal  on Qualcomm platforms
15e48b839bSDikshita Agarwal
16f8cc21d4SKrzysztof KozlowskiallOf:
17f8cc21d4SKrzysztof Kozlowski  - $ref: qcom,venus-common.yaml#
18f8cc21d4SKrzysztof Kozlowski
19e48b839bSDikshita Agarwalproperties:
20e48b839bSDikshita Agarwal  compatible:
21e48b839bSDikshita Agarwal    const: qcom,sc7280-venus
22e48b839bSDikshita Agarwal
23e48b839bSDikshita Agarwal  power-domains:
24e48b839bSDikshita Agarwal    minItems: 2
25e48b839bSDikshita Agarwal    maxItems: 3
26e48b839bSDikshita Agarwal
27e48b839bSDikshita Agarwal  power-domain-names:
28e48b839bSDikshita Agarwal    minItems: 2
29e48b839bSDikshita Agarwal    items:
30e48b839bSDikshita Agarwal      - const: venus
31e48b839bSDikshita Agarwal      - const: vcodec0
32e48b839bSDikshita Agarwal      - const: cx
33e48b839bSDikshita Agarwal
34e48b839bSDikshita Agarwal  clocks:
35e48b839bSDikshita Agarwal    maxItems: 5
36e48b839bSDikshita Agarwal
37e48b839bSDikshita Agarwal  clock-names:
38e48b839bSDikshita Agarwal    items:
39e48b839bSDikshita Agarwal      - const: core
40e48b839bSDikshita Agarwal      - const: bus
41e48b839bSDikshita Agarwal      - const: iface
42e48b839bSDikshita Agarwal      - const: vcodec_core
43e48b839bSDikshita Agarwal      - const: vcodec_bus
44e48b839bSDikshita Agarwal
45e48b839bSDikshita Agarwal  iommus:
46e48b839bSDikshita Agarwal    maxItems: 2
47e48b839bSDikshita Agarwal
48e48b839bSDikshita Agarwal  interconnects:
49e48b839bSDikshita Agarwal    maxItems: 2
50e48b839bSDikshita Agarwal
51e48b839bSDikshita Agarwal  interconnect-names:
52e48b839bSDikshita Agarwal    items:
53e48b839bSDikshita Agarwal      - const: cpu-cfg
54e48b839bSDikshita Agarwal      - const: video-mem
55e48b839bSDikshita Agarwal
56*3f7a5818SKrzysztof Kozlowski  operating-points-v2: true
57*3f7a5818SKrzysztof Kozlowski  opp-table:
58*3f7a5818SKrzysztof Kozlowski    type: object
59*3f7a5818SKrzysztof Kozlowski
60e48b839bSDikshita Agarwal  video-decoder:
61e48b839bSDikshita Agarwal    type: object
62e48b839bSDikshita Agarwal
63e48b839bSDikshita Agarwal    properties:
64e48b839bSDikshita Agarwal      compatible:
65e48b839bSDikshita Agarwal        const: venus-decoder
66e48b839bSDikshita Agarwal
67e48b839bSDikshita Agarwal    required:
68e48b839bSDikshita Agarwal      - compatible
69e48b839bSDikshita Agarwal
70e48b839bSDikshita Agarwal    additionalProperties: false
71e48b839bSDikshita Agarwal
72e48b839bSDikshita Agarwal  video-encoder:
73e48b839bSDikshita Agarwal    type: object
74e48b839bSDikshita Agarwal
75e48b839bSDikshita Agarwal    properties:
76e48b839bSDikshita Agarwal      compatible:
77e48b839bSDikshita Agarwal        const: venus-encoder
78e48b839bSDikshita Agarwal
79e48b839bSDikshita Agarwal    required:
80e48b839bSDikshita Agarwal      - compatible
81e48b839bSDikshita Agarwal
82e48b839bSDikshita Agarwal    additionalProperties: false
83e48b839bSDikshita Agarwal
84e48b839bSDikshita Agarwalrequired:
85e48b839bSDikshita Agarwal  - compatible
86e48b839bSDikshita Agarwal  - power-domain-names
87e48b839bSDikshita Agarwal  - iommus
88e48b839bSDikshita Agarwal  - video-decoder
89e48b839bSDikshita Agarwal  - video-encoder
90e48b839bSDikshita Agarwal
91f8cc21d4SKrzysztof KozlowskiunevaluatedProperties: false
92e48b839bSDikshita Agarwal
93e48b839bSDikshita Agarwalexamples:
94e48b839bSDikshita Agarwal  - |
95e48b839bSDikshita Agarwal    #include <dt-bindings/interrupt-controller/arm-gic.h>
96e48b839bSDikshita Agarwal    #include <dt-bindings/clock/qcom,videocc-sc7280.h>
97e48b839bSDikshita Agarwal    #include <dt-bindings/interconnect/qcom,sc7280.h>
98e48b839bSDikshita Agarwal    #include <dt-bindings/power/qcom-rpmpd.h>
99e48b839bSDikshita Agarwal
100e48b839bSDikshita Agarwal    venus: video-codec@aa00000 {
101e48b839bSDikshita Agarwal        compatible = "qcom,sc7280-venus";
102e48b839bSDikshita Agarwal        reg = <0x0aa00000 0xd0600>;
103e48b839bSDikshita Agarwal        interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
104e48b839bSDikshita Agarwal
105e48b839bSDikshita Agarwal        clocks = <&videocc VIDEO_CC_MVSC_CORE_CLK>,
106e48b839bSDikshita Agarwal                 <&videocc VIDEO_CC_MVSC_CTL_AXI_CLK>,
107e48b839bSDikshita Agarwal                 <&videocc VIDEO_CC_VENUS_AHB_CLK>,
108e48b839bSDikshita Agarwal                 <&videocc VIDEO_CC_MVS0_CORE_CLK>,
109e48b839bSDikshita Agarwal                 <&videocc VIDEO_CC_MVS0_AXI_CLK>;
110e48b839bSDikshita Agarwal        clock-names = "core", "bus", "iface",
111e48b839bSDikshita Agarwal                      "vcodec_core", "vcodec_bus";
112e48b839bSDikshita Agarwal
113e48b839bSDikshita Agarwal        power-domains = <&videocc MVSC_GDSC>,
114e48b839bSDikshita Agarwal                        <&videocc MVS0_GDSC>,
115e48b839bSDikshita Agarwal                        <&rpmhpd SC7280_CX>;
116e48b839bSDikshita Agarwal        power-domain-names = "venus", "vcodec0", "cx";
117e48b839bSDikshita Agarwal
118e48b839bSDikshita Agarwal        interconnects = <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_VENUS_CFG 0>,
119e48b839bSDikshita Agarwal                        <&mmss_noc MASTER_VIDEO_P0 0 &mc_virt SLAVE_EBI1 0>;
120e48b839bSDikshita Agarwal        interconnect-names = "cpu-cfg", "video-mem";
121e48b839bSDikshita Agarwal
122e48b839bSDikshita Agarwal        iommus = <&apps_smmu 0x2180 0x20>,
123e48b839bSDikshita Agarwal                 <&apps_smmu 0x2184 0x20>;
124e48b839bSDikshita Agarwal
125e48b839bSDikshita Agarwal        memory-region = <&video_mem>;
126e48b839bSDikshita Agarwal
127e48b839bSDikshita Agarwal        video-decoder {
128e48b839bSDikshita Agarwal            compatible = "venus-decoder";
129e48b839bSDikshita Agarwal        };
130e48b839bSDikshita Agarwal
131e48b839bSDikshita Agarwal        video-encoder {
132e48b839bSDikshita Agarwal            compatible = "venus-encoder";
133e48b839bSDikshita Agarwal        };
134e48b839bSDikshita Agarwal
135e48b839bSDikshita Agarwal        video-firmware {
136e48b839bSDikshita Agarwal            iommus = <&apps_smmu 0x21a2 0x0>;
137e48b839bSDikshita Agarwal        };
138e48b839bSDikshita Agarwal    };
139