1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/media/qcom,msm8916-venus.yaml# 5fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 7fac71e4eSEmmanuel Vadottitle: Qualcomm MSM8916 Venus video encode and decode accelerators 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotmaintainers: 10c66ec88fSEmmanuel Vadot - Stanimir Varbanov <stanimir.varbanov@linaro.org> 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadotdescription: | 13c66ec88fSEmmanuel Vadot The Venus IP is a video encode and decode accelerator present 14c66ec88fSEmmanuel Vadot on Qualcomm platforms 15c66ec88fSEmmanuel Vadot 16fac71e4eSEmmanuel VadotallOf: 17fac71e4eSEmmanuel Vadot - $ref: qcom,venus-common.yaml# 18fac71e4eSEmmanuel Vadot 19c66ec88fSEmmanuel Vadotproperties: 20c66ec88fSEmmanuel Vadot compatible: 21c66ec88fSEmmanuel Vadot const: qcom,msm8916-venus 22c66ec88fSEmmanuel Vadot 23c66ec88fSEmmanuel Vadot power-domains: 24c66ec88fSEmmanuel Vadot maxItems: 1 25c66ec88fSEmmanuel Vadot 26c66ec88fSEmmanuel Vadot clocks: 27c66ec88fSEmmanuel Vadot maxItems: 3 28c66ec88fSEmmanuel Vadot 29c66ec88fSEmmanuel Vadot clock-names: 30c66ec88fSEmmanuel Vadot items: 31c66ec88fSEmmanuel Vadot - const: core 32c66ec88fSEmmanuel Vadot - const: iface 33c66ec88fSEmmanuel Vadot - const: bus 34c66ec88fSEmmanuel Vadot 35c66ec88fSEmmanuel Vadot iommus: 36c66ec88fSEmmanuel Vadot maxItems: 1 37c66ec88fSEmmanuel Vadot 38c66ec88fSEmmanuel Vadot video-decoder: 39c66ec88fSEmmanuel Vadot type: object 40c66ec88fSEmmanuel Vadot 41c66ec88fSEmmanuel Vadot properties: 42c66ec88fSEmmanuel Vadot compatible: 43*aa1a8ff2SEmmanuel Vadot const: venus-decoder 44c66ec88fSEmmanuel Vadot 45c66ec88fSEmmanuel Vadot required: 46c66ec88fSEmmanuel Vadot - compatible 47c66ec88fSEmmanuel Vadot 48c66ec88fSEmmanuel Vadot additionalProperties: false 49c66ec88fSEmmanuel Vadot 50c66ec88fSEmmanuel Vadot video-encoder: 51c66ec88fSEmmanuel Vadot type: object 52c66ec88fSEmmanuel Vadot 53c66ec88fSEmmanuel Vadot properties: 54c66ec88fSEmmanuel Vadot compatible: 55*aa1a8ff2SEmmanuel Vadot const: venus-encoder 56c66ec88fSEmmanuel Vadot 57c66ec88fSEmmanuel Vadot required: 58c66ec88fSEmmanuel Vadot - compatible 59c66ec88fSEmmanuel Vadot 60c66ec88fSEmmanuel Vadot additionalProperties: false 61c66ec88fSEmmanuel Vadot 62c66ec88fSEmmanuel Vadotrequired: 63c66ec88fSEmmanuel Vadot - compatible 64c66ec88fSEmmanuel Vadot - iommus 65c66ec88fSEmmanuel Vadot - video-decoder 66c66ec88fSEmmanuel Vadot - video-encoder 67c66ec88fSEmmanuel Vadot 68fac71e4eSEmmanuel VadotunevaluatedProperties: false 696be33864SEmmanuel Vadot 70c66ec88fSEmmanuel Vadotexamples: 71c66ec88fSEmmanuel Vadot - | 72c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 73c66ec88fSEmmanuel Vadot #include <dt-bindings/clock/qcom,gcc-msm8916.h> 74c66ec88fSEmmanuel Vadot 75c66ec88fSEmmanuel Vadot video-codec@1d00000 { 76c66ec88fSEmmanuel Vadot compatible = "qcom,msm8916-venus"; 77c66ec88fSEmmanuel Vadot reg = <0x01d00000 0xff000>; 78c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 79c66ec88fSEmmanuel Vadot clocks = <&gcc GCC_VENUS0_VCODEC0_CLK>, 80c66ec88fSEmmanuel Vadot <&gcc GCC_VENUS0_AHB_CLK>, 81c66ec88fSEmmanuel Vadot <&gcc GCC_VENUS0_AXI_CLK>; 82c66ec88fSEmmanuel Vadot clock-names = "core", "iface", "bus"; 83c66ec88fSEmmanuel Vadot power-domains = <&gcc VENUS_GDSC>; 84c66ec88fSEmmanuel Vadot iommus = <&apps_iommu 5>; 85c66ec88fSEmmanuel Vadot memory-region = <&venus_mem>; 86c66ec88fSEmmanuel Vadot 87c66ec88fSEmmanuel Vadot video-decoder { 88c66ec88fSEmmanuel Vadot compatible = "venus-decoder"; 89c66ec88fSEmmanuel Vadot }; 90c66ec88fSEmmanuel Vadot 91c66ec88fSEmmanuel Vadot video-encoder { 92c66ec88fSEmmanuel Vadot compatible = "venus-encoder"; 93c66ec88fSEmmanuel Vadot }; 94c66ec88fSEmmanuel Vadot }; 95