132 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,sdm845-venus.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Qualcomm SDM845 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,sdm845-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: 237 38 video-core0:39 type: object40 41 properties:42 compatible:43 const: venus-decoder44 45 clocks:46 maxItems: 247 48 clock-names:49 items:50 - const: core51 - const: bus52 53 power-domains:54 maxItems: 155 56 required:57 - compatible58 - clocks59 - clock-names60 - power-domains61 62 additionalProperties: false63 64 video-core1:65 type: object66 67 properties:68 compatible:69 const: venus-encoder70 71 clocks:72 maxItems: 273 74 clock-names:75 items:76 - const: core77 - const: bus78 79 power-domains:80 maxItems: 181 82 required:83 - compatible84 - clocks85 - clock-names86 - power-domains87 88 additionalProperties: false89 90required:91 - compatible92 - iommus93 - video-core094 - video-core195 96unevaluatedProperties: false97 98examples:99 - |100 #include <dt-bindings/interrupt-controller/arm-gic.h>101 #include <dt-bindings/clock/qcom,videocc-sdm845.h>102 103 video-codec@aa00000 {104 compatible = "qcom,sdm845-venus";105 reg = <0x0aa00000 0xff000>;106 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;107 clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>,108 <&videocc VIDEO_CC_VENUS_AHB_CLK>,109 <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>;110 clock-names = "core", "iface", "bus";111 power-domains = <&videocc VENUS_GDSC>;112 iommus = <&apps_smmu 0x10a0 0x8>,113 <&apps_smmu 0x10b0 0x0>;114 memory-region = <&venus_mem>;115 116 video-core0 {117 compatible = "venus-decoder";118 clocks = <&videocc VIDEO_CC_VCODEC0_CORE_CLK>,119 <&videocc VIDEO_CC_VCODEC0_AXI_CLK>;120 clock-names = "core", "bus";121 power-domains = <&videocc VCODEC0_GDSC>;122 };123 124 video-core1 {125 compatible = "venus-encoder";126 clocks = <&videocc VIDEO_CC_VCODEC1_CORE_CLK>,127 <&videocc VIDEO_CC_VCODEC1_AXI_CLK>;128 clock-names = "core", "bus";129 power-domains = <&videocc VCODEC1_GDSC>;130 };131 };132