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