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 <[email protected]> 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 deprecated: true 72 additionalProperties: false 73 74 video-encoder: 75 type: object 76 77 properties: 78 compatible: 79 const: venus-encoder 80 81 required: 82 - compatible 83 84 deprecated: true 85 additionalProperties: false 86 87required: 88 - compatible 89 - power-domain-names 90 - iommus 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-firmware { 129 iommus = <&apps_smmu 0x21a2 0x0>; 130 }; 131 }; 132