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 const: qcom,sc7180-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: iface 41 - const: bus 42 - const: vcodec0_core 43 - const: vcodec0_bus 44 45 iommus: 46 maxItems: 1 47 48 memory-region: 49 maxItems: 1 50 51 interconnects: 52 maxItems: 2 53 54 interconnect-names: 55 items: 56 - const: video-mem 57 - const: cpu-cfg 58 59 operating-points-v2: true 60 opp-table: 61 type: object 62 63 video-decoder: 64 type: object 65 66 properties: 67 compatible: 68 const: venus-decoder 69 70 required: 71 - compatible 72 73 additionalProperties: false 74 75 video-encoder: 76 type: object 77 78 properties: 79 compatible: 80 const: venus-encoder 81 82 required: 83 - compatible 84 85 additionalProperties: false 86 87required: 88 - compatible 89 - power-domain-names 90 - iommus 91 - video-decoder 92 - video-encoder 93 94unevaluatedProperties: false 95 96examples: 97 - | 98 #include <dt-bindings/interrupt-controller/arm-gic.h> 99 #include <dt-bindings/clock/qcom,videocc-sc7180.h> 100 101 venus: video-codec@aa00000 { 102 compatible = "qcom,sc7180-venus"; 103 reg = <0x0aa00000 0xff000>; 104 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; 105 power-domains = <&videocc VENUS_GDSC>, 106 <&videocc VCODEC0_GDSC>; 107 power-domain-names = "venus", "vcodec0"; 108 clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>, 109 <&videocc VIDEO_CC_VENUS_AHB_CLK>, 110 <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>, 111 <&videocc VIDEO_CC_VCODEC0_CORE_CLK>, 112 <&videocc VIDEO_CC_VCODEC0_AXI_CLK>; 113 clock-names = "core", "iface", "bus", 114 "vcodec0_core", "vcodec0_bus"; 115 iommus = <&apps_smmu 0x0c00 0x60>; 116 memory-region = <&venus_mem>; 117 118 video-decoder { 119 compatible = "venus-decoder"; 120 }; 121 122 video-encoder { 123 compatible = "venus-encoder"; 124 }; 125 }; 126