1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 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 accelerators 8 9maintainers: 10 - Stanimir Varbanov <stanimir.varbanov@linaro.org> 11 12description: | 13 The Venus Iris2 IP is a video encode and decode accelerator present 14 on Qualcomm platforms 15 16allOf: 17 - $ref: qcom,venus-common.yaml# 18 19properties: 20 compatible: 21 const: qcom,sc7280-venus 22 23 power-domains: 24 minItems: 2 25 maxItems: 3 26 27 power-domain-names: 28 minItems: 2 29 items: 30 - const: venus 31 - const: vcodec0 32 - const: cx 33 34 clocks: 35 maxItems: 5 36 37 clock-names: 38 items: 39 - const: core 40 - const: bus 41 - const: iface 42 - const: vcodec_core 43 - const: vcodec_bus 44 45 iommus: 46 minItems: 1 47 maxItems: 2 48 49 interconnects: 50 maxItems: 2 51 52 interconnect-names: 53 items: 54 - const: cpu-cfg 55 - const: video-mem 56 57 operating-points-v2: true 58 opp-table: 59 type: object 60 61 video-decoder: 62 type: object 63 64 properties: 65 compatible: 66 const: venus-decoder 67 68 required: 69 - compatible 70 71 additionalProperties: false 72 73 video-encoder: 74 type: object 75 76 properties: 77 compatible: 78 const: venus-encoder 79 80 required: 81 - compatible 82 83 additionalProperties: false 84 85required: 86 - compatible 87 - power-domain-names 88 - iommus 89 - video-decoder 90 - video-encoder 91 92unevaluatedProperties: false 93 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