1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/media/qcom,sc7180-venus.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm SC7180 Venus video encode and decode accelerators 8 9maintainers: 10 - Stanimir Varbanov <stanimir.varbanov@linaro.org> 11 12description: | 13 The Venus 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 oneOf: 22 - items: 23 - enum: 24 - qcom,qcs615-venus 25 - const: qcom,sc7180-venus 26 - const: qcom,sc7180-venus 27 28 power-domains: 29 minItems: 2 30 maxItems: 3 31 32 power-domain-names: 33 minItems: 2 34 items: 35 - const: venus 36 - const: vcodec0 37 - const: cx 38 39 clocks: 40 maxItems: 5 41 42 clock-names: 43 items: 44 - const: core 45 - const: iface 46 - const: bus 47 - const: vcodec0_core 48 - const: vcodec0_bus 49 50 iommus: 51 maxItems: 1 52 53 memory-region: 54 maxItems: 1 55 56 interconnects: 57 maxItems: 2 58 59 interconnect-names: 60 items: 61 - const: video-mem 62 - const: cpu-cfg 63 64 operating-points-v2: true 65 opp-table: 66 type: object 67 68 video-decoder: 69 type: object 70 71 properties: 72 compatible: 73 const: venus-decoder 74 75 required: 76 - compatible 77 78 deprecated: true 79 additionalProperties: false 80 81 video-encoder: 82 type: object 83 84 properties: 85 compatible: 86 const: venus-encoder 87 88 required: 89 - compatible 90 91 deprecated: true 92 additionalProperties: false 93 94required: 95 - compatible 96 - power-domain-names 97 - iommus 98 99unevaluatedProperties: false 100 101examples: 102 - | 103 #include <dt-bindings/interrupt-controller/arm-gic.h> 104 #include <dt-bindings/clock/qcom,videocc-sc7180.h> 105 106 venus: video-codec@aa00000 { 107 compatible = "qcom,sc7180-venus"; 108 reg = <0x0aa00000 0xff000>; 109 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; 110 power-domains = <&videocc VENUS_GDSC>, 111 <&videocc VCODEC0_GDSC>; 112 power-domain-names = "venus", "vcodec0"; 113 clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>, 114 <&videocc VIDEO_CC_VENUS_AHB_CLK>, 115 <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>, 116 <&videocc VIDEO_CC_VCODEC0_CORE_CLK>, 117 <&videocc VIDEO_CC_VCODEC0_AXI_CLK>; 118 clock-names = "core", "iface", "bus", 119 "vcodec0_core", "vcodec0_bus"; 120 iommus = <&apps_smmu 0x0c00 0x60>; 121 memory-region = <&venus_mem>; 122 }; 123