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 16properties: 17 compatible: 18 const: qcom,msm8916-venus 19 20 reg: 21 maxItems: 1 22 23 interrupts: 24 maxItems: 1 25 26 power-domains: 27 maxItems: 1 28 29 clocks: 30 maxItems: 3 31 32 clock-names: 33 items: 34 - const: core 35 - const: iface 36 - const: bus 37 38 iommus: 39 maxItems: 1 40 41 memory-region: 42 maxItems: 1 43 44 video-decoder: 45 type: object 46 47 properties: 48 compatible: 49 const: "venus-decoder" 50 51 required: 52 - compatible 53 54 additionalProperties: false 55 56 video-encoder: 57 type: object 58 59 properties: 60 compatible: 61 const: "venus-encoder" 62 63 required: 64 - compatible 65 66 additionalProperties: false 67 68 video-firmware: 69 type: object 70 additionalProperties: false 71 72 description: | 73 Firmware subnode is needed when the platform does not 74 have TrustZone. 75 76 properties: 77 iommus: 78 maxItems: 1 79 80 required: 81 - iommus 82 83required: 84 - compatible 85 - reg 86 - interrupts 87 - power-domains 88 - clocks 89 - clock-names 90 - iommus 91 - memory-region 92 - video-decoder 93 - video-encoder 94 95additionalProperties: false 96 97examples: 98 - | 99 #include <dt-bindings/interrupt-controller/arm-gic.h> 100 #include <dt-bindings/clock/qcom,gcc-msm8916.h> 101 102 video-codec@1d00000 { 103 compatible = "qcom,msm8916-venus"; 104 reg = <0x01d00000 0xff000>; 105 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 106 clocks = <&gcc GCC_VENUS0_VCODEC0_CLK>, 107 <&gcc GCC_VENUS0_AHB_CLK>, 108 <&gcc GCC_VENUS0_AXI_CLK>; 109 clock-names = "core", "iface", "bus"; 110 power-domains = <&gcc VENUS_GDSC>; 111 iommus = <&apps_iommu 5>; 112 memory-region = <&venus_mem>; 113 114 video-decoder { 115 compatible = "venus-decoder"; 116 }; 117 118 video-encoder { 119 compatible = "venus-encoder"; 120 }; 121 }; 122