1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 3%YAML 1.2 4--- 5$id: "http://devicetree.org/schemas/media/qcom,msm8916-venus.yaml#" 6$schema: "http://devicetree.org/meta-schemas/core.yaml#" 7 8title: Qualcomm Venus video encode and decode accelerators 9 10maintainers: 11 - Stanimir Varbanov <stanimir.varbanov@linaro.org> 12 13description: | 14 The Venus IP is a video encode and decode accelerator present 15 on Qualcomm platforms 16 17properties: 18 compatible: 19 const: qcom,msm8916-venus 20 21 reg: 22 maxItems: 1 23 24 interrupts: 25 maxItems: 1 26 27 power-domains: 28 maxItems: 1 29 30 clocks: 31 maxItems: 3 32 33 clock-names: 34 items: 35 - const: core 36 - const: iface 37 - const: bus 38 39 iommus: 40 maxItems: 1 41 42 memory-region: 43 maxItems: 1 44 45 video-decoder: 46 type: object 47 48 properties: 49 compatible: 50 const: "venus-decoder" 51 52 required: 53 - compatible 54 55 additionalProperties: false 56 57 video-encoder: 58 type: object 59 60 properties: 61 compatible: 62 const: "venus-encoder" 63 64 required: 65 - compatible 66 67 additionalProperties: false 68 69 video-firmware: 70 type: object 71 additionalProperties: false 72 73 description: | 74 Firmware subnode is needed when the platform does not 75 have TrustZone. 76 77 properties: 78 iommus: 79 maxItems: 1 80 81 required: 82 - iommus 83 84required: 85 - compatible 86 - reg 87 - interrupts 88 - power-domains 89 - clocks 90 - clock-names 91 - iommus 92 - memory-region 93 - video-decoder 94 - video-encoder 95 96additionalProperties: false 97 98examples: 99 - | 100 #include <dt-bindings/interrupt-controller/arm-gic.h> 101 #include <dt-bindings/clock/qcom,gcc-msm8916.h> 102 103 video-codec@1d00000 { 104 compatible = "qcom,msm8916-venus"; 105 reg = <0x01d00000 0xff000>; 106 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 107 clocks = <&gcc GCC_VENUS0_VCODEC0_CLK>, 108 <&gcc GCC_VENUS0_AHB_CLK>, 109 <&gcc GCC_VENUS0_AXI_CLK>; 110 clock-names = "core", "iface", "bus"; 111 power-domains = <&gcc VENUS_GDSC>; 112 iommus = <&apps_iommu 5>; 113 memory-region = <&venus_mem>; 114 115 video-decoder { 116 compatible = "venus-decoder"; 117 }; 118 119 video-encoder { 120 compatible = "venus-encoder"; 121 }; 122 }; 123