95 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---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 accelerators8 9maintainers:10 - Stanimir Varbanov <stanimir.varbanov@linaro.org>11 12description: |13 The Venus IP is a video encode and decode accelerator present14 on Qualcomm platforms15 16allOf:17 - $ref: qcom,venus-common.yaml#18 19properties:20 compatible:21 const: qcom,msm8916-venus22 23 power-domains:24 maxItems: 125 26 clocks:27 maxItems: 328 29 clock-names:30 items:31 - const: core32 - const: iface33 - const: bus34 35 iommus:36 maxItems: 137 38 video-decoder:39 type: object40 41 properties:42 compatible:43 const: venus-decoder44 45 required:46 - compatible47 48 additionalProperties: false49 50 video-encoder:51 type: object52 53 properties:54 compatible:55 const: venus-encoder56 57 required:58 - compatible59 60 additionalProperties: false61 62required:63 - compatible64 - iommus65 - video-decoder66 - video-encoder67 68unevaluatedProperties: false69 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