140 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/media/qcom,sc7280-venus.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Qualcomm SC7280 Venus video encode and decode accelerators8 9maintainers:10 - Stanimir Varbanov <stanimir.varbanov@linaro.org>11 12description: |13 The Venus Iris2 IP is a video encode and decode accelerator present14 on Qualcomm platforms15 16allOf:17 - $ref: qcom,venus-common.yaml#18 19properties:20 compatible:21 const: qcom,sc7280-venus22 23 power-domains:24 minItems: 225 maxItems: 326 27 power-domain-names:28 minItems: 229 items:30 - const: venus31 - const: vcodec032 - const: cx33 34 clocks:35 maxItems: 536 37 clock-names:38 items:39 - const: core40 - const: bus41 - const: iface42 - const: vcodec_core43 - const: vcodec_bus44 45 iommus:46 minItems: 147 maxItems: 248 49 interconnects:50 maxItems: 251 52 interconnect-names:53 items:54 - const: cpu-cfg55 - const: video-mem56 57 operating-points-v2: true58 opp-table:59 type: object60 61 video-decoder:62 type: object63 64 properties:65 compatible:66 const: venus-decoder67 68 required:69 - compatible70 71 additionalProperties: false72 73 video-encoder:74 type: object75 76 properties:77 compatible:78 const: venus-encoder79 80 required:81 - compatible82 83 additionalProperties: false84 85required:86 - compatible87 - power-domain-names88 - iommus89 - video-decoder90 - video-encoder91 92unevaluatedProperties: false93 94examples:95 - |96 #include <dt-bindings/interrupt-controller/arm-gic.h>97 #include <dt-bindings/clock/qcom,videocc-sc7280.h>98 #include <dt-bindings/interconnect/qcom,sc7280.h>99 #include <dt-bindings/power/qcom-rpmpd.h>100 101 venus: video-codec@aa00000 {102 compatible = "qcom,sc7280-venus";103 reg = <0x0aa00000 0xd0600>;104 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;105 106 clocks = <&videocc VIDEO_CC_MVSC_CORE_CLK>,107 <&videocc VIDEO_CC_MVSC_CTL_AXI_CLK>,108 <&videocc VIDEO_CC_VENUS_AHB_CLK>,109 <&videocc VIDEO_CC_MVS0_CORE_CLK>,110 <&videocc VIDEO_CC_MVS0_AXI_CLK>;111 clock-names = "core", "bus", "iface",112 "vcodec_core", "vcodec_bus";113 114 power-domains = <&videocc MVSC_GDSC>,115 <&videocc MVS0_GDSC>,116 <&rpmhpd SC7280_CX>;117 power-domain-names = "venus", "vcodec0", "cx";118 119 interconnects = <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_VENUS_CFG 0>,120 <&mmss_noc MASTER_VIDEO_P0 0 &mc_virt SLAVE_EBI1 0>;121 interconnect-names = "cpu-cfg", "video-mem";122 123 iommus = <&apps_smmu 0x2180 0x20>,124 <&apps_smmu 0x2184 0x20>;125 126 memory-region = <&video_mem>;127 128 video-decoder {129 compatible = "venus-decoder";130 };131 132 video-encoder {133 compatible = "venus-encoder";134 };135 136 video-firmware {137 iommus = <&apps_smmu 0x21a2 0x0>;138 };139 };140