1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 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 accelerators 8 9maintainers: 10 - Stanimir Varbanov <stanimir.varbanov@linaro.org> 11 12description: | 13 The Venus IP is a video encode and decode accelerator present 14 on Qualcomm platforms 15 16allOf: 17 - $ref: qcom,venus-common.yaml# 18 19properties: 20 compatible: 21 const: qcom,sdm845-venus 22 23 power-domains: 24 maxItems: 1 25 26 clocks: 27 maxItems: 3 28 29 clock-names: 30 items: 31 - const: core 32 - const: iface 33 - const: bus 34 35 iommus: 36 maxItems: 2 37 38 video-core0: 39 type: object 40 41 properties: 42 compatible: 43 const: venus-decoder 44 45 clocks: 46 maxItems: 2 47 48 clock-names: 49 items: 50 - const: core 51 - const: bus 52 53 power-domains: 54 maxItems: 1 55 56 required: 57 - compatible 58 - clocks 59 - clock-names 60 - power-domains 61 62 additionalProperties: false 63 64 video-core1: 65 type: object 66 67 properties: 68 compatible: 69 const: venus-encoder 70 71 clocks: 72 maxItems: 2 73 74 clock-names: 75 items: 76 - const: core 77 - const: bus 78 79 power-domains: 80 maxItems: 1 81 82 required: 83 - compatible 84 - clocks 85 - clock-names 86 - power-domains 87 88 additionalProperties: false 89 90required: 91 - compatible 92 - iommus 93 - video-core0 94 - video-core1 95 96unevaluatedProperties: false 97 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