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 maxItems: 2 47 48 interconnects: 49 maxItems: 2 50 51 interconnect-names: 52 items: 53 - const: cpu-cfg 54 - const: video-mem 55 56 operating-points-v2: true 57 opp-table: 58 type: object 59 60 video-decoder: 61 type: object 62 63 properties: 64 compatible: 65 const: venus-decoder 66 67 required: 68 - compatible 69 70 additionalProperties: false 71 72 video-encoder: 73 type: object 74 75 properties: 76 compatible: 77 const: venus-encoder 78 79 required: 80 - compatible 81 82 additionalProperties: false 83 84required: 85 - compatible 86 - power-domain-names 87 - iommus 88 - video-decoder 89 - video-encoder 90 91unevaluatedProperties: false 92 93examples: 94 - | 95 #include <dt-bindings/interrupt-controller/arm-gic.h> 96 #include <dt-bindings/clock/qcom,videocc-sc7280.h> 97 #include <dt-bindings/interconnect/qcom,sc7280.h> 98 #include <dt-bindings/power/qcom-rpmpd.h> 99 100 venus: video-codec@aa00000 { 101 compatible = "qcom,sc7280-venus"; 102 reg = <0x0aa00000 0xd0600>; 103 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; 104 105 clocks = <&videocc VIDEO_CC_MVSC_CORE_CLK>, 106 <&videocc VIDEO_CC_MVSC_CTL_AXI_CLK>, 107 <&videocc VIDEO_CC_VENUS_AHB_CLK>, 108 <&videocc VIDEO_CC_MVS0_CORE_CLK>, 109 <&videocc VIDEO_CC_MVS0_AXI_CLK>; 110 clock-names = "core", "bus", "iface", 111 "vcodec_core", "vcodec_bus"; 112 113 power-domains = <&videocc MVSC_GDSC>, 114 <&videocc MVS0_GDSC>, 115 <&rpmhpd SC7280_CX>; 116 power-domain-names = "venus", "vcodec0", "cx"; 117 118 interconnects = <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_VENUS_CFG 0>, 119 <&mmss_noc MASTER_VIDEO_P0 0 &mc_virt SLAVE_EBI1 0>; 120 interconnect-names = "cpu-cfg", "video-mem"; 121 122 iommus = <&apps_smmu 0x2180 0x20>, 123 <&apps_smmu 0x2184 0x20>; 124 125 memory-region = <&video_mem>; 126 127 video-decoder { 128 compatible = "venus-decoder"; 129 }; 130 131 video-encoder { 132 compatible = "venus-encoder"; 133 }; 134 135 video-firmware { 136 iommus = <&apps_smmu 0x21a2 0x0>; 137 }; 138 }; 139