1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/media/qcom,msm8916-venus.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm MSM8916 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,msm8916-venus 22 23 power-domains: 24 maxItems: 1 25 26 clocks: 27 maxItems: 3 28 29 clock-names: 30 items: 31 - const: core 32 - const: iface 33 - const: bus 34 35 iommus: 36 maxItems: 1 37 38 video-decoder: 39 type: object 40 41 properties: 42 compatible: 43 const: "venus-decoder" 44 45 required: 46 - compatible 47 48 additionalProperties: false 49 50 video-encoder: 51 type: object 52 53 properties: 54 compatible: 55 const: "venus-encoder" 56 57 required: 58 - compatible 59 60 additionalProperties: false 61 62required: 63 - compatible 64 - iommus 65 - video-decoder 66 - video-encoder 67 68unevaluatedProperties: false 69 70examples: 71 - | 72 #include <dt-bindings/interrupt-controller/arm-gic.h> 73 #include <dt-bindings/clock/qcom,gcc-msm8916.h> 74 75 video-codec@1d00000 { 76 compatible = "qcom,msm8916-venus"; 77 reg = <0x01d00000 0xff000>; 78 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 79 clocks = <&gcc GCC_VENUS0_VCODEC0_CLK>, 80 <&gcc GCC_VENUS0_AHB_CLK>, 81 <&gcc GCC_VENUS0_AXI_CLK>; 82 clock-names = "core", "iface", "bus"; 83 power-domains = <&gcc VENUS_GDSC>; 84 iommus = <&apps_iommu 5>; 85 memory-region = <&venus_mem>; 86 87 video-decoder { 88 compatible = "venus-decoder"; 89 }; 90 91 video-encoder { 92 compatible = "venus-encoder"; 93 }; 94 }; 95