160 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,sdm660-venus.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Qualcomm SDM660 Venus video encode and decode accelerators8 9maintainers:10 - Stanimir Varbanov <stanimir.varbanov@linaro.org>11 - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>12 13description: |14 The Venus IP is a video encode and decode accelerator present15 on Qualcomm platforms16 17allOf:18 - $ref: qcom,venus-common.yaml#19 20properties:21 compatible:22 const: qcom,sdm660-venus23 24 clocks:25 maxItems: 426 27 clock-names:28 items:29 - const: core30 - const: iface31 - const: bus32 - const: bus_throttle33 34 interconnects:35 maxItems: 236 37 interconnect-names:38 items:39 - const: cpu-cfg40 - const: video-mem41 42 iommus:43 maxItems: 2044 45 power-domains:46 maxItems: 147 48 video-decoder:49 type: object50 51 properties:52 compatible:53 const: venus-decoder54 55 clocks:56 maxItems: 157 58 clock-names:59 items:60 - const: vcodec0_core61 62 power-domains:63 maxItems: 164 65 required:66 - compatible67 - clocks68 - clock-names69 - power-domains70 71 additionalProperties: false72 73 video-encoder:74 type: object75 76 properties:77 compatible:78 const: venus-encoder79 80 clocks:81 maxItems: 182 83 clock-names:84 items:85 - const: vcodec0_core86 87 power-domains:88 maxItems: 189 90 required:91 - compatible92 - clocks93 - clock-names94 - power-domains95 96 additionalProperties: false97 98required:99 - compatible100 - iommus101 - video-decoder102 - video-encoder103 104unevaluatedProperties: false105 106examples:107 - |108 #include <dt-bindings/clock/qcom,mmcc-sdm660.h>109 #include <dt-bindings/interrupt-controller/arm-gic.h>110 111 video-codec@cc00000 {112 compatible = "qcom,sdm660-venus";113 reg = <0x0cc00000 0xff000>;114 clocks = <&mmcc VIDEO_CORE_CLK>,115 <&mmcc VIDEO_AHB_CLK>,116 <&mmcc VIDEO_AXI_CLK>,117 <&mmcc THROTTLE_VIDEO_AXI_CLK>;118 clock-names = "core", "iface", "bus", "bus_throttle";119 interconnects = <&gnoc 0 &mnoc 13>,120 <&mnoc 4 &bimc 5>;121 interconnect-names = "cpu-cfg", "video-mem";122 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;123 iommus = <&mmss_smmu 0x400>,124 <&mmss_smmu 0x401>,125 <&mmss_smmu 0x40a>,126 <&mmss_smmu 0x407>,127 <&mmss_smmu 0x40e>,128 <&mmss_smmu 0x40f>,129 <&mmss_smmu 0x408>,130 <&mmss_smmu 0x409>,131 <&mmss_smmu 0x40b>,132 <&mmss_smmu 0x40c>,133 <&mmss_smmu 0x40d>,134 <&mmss_smmu 0x410>,135 <&mmss_smmu 0x421>,136 <&mmss_smmu 0x428>,137 <&mmss_smmu 0x429>,138 <&mmss_smmu 0x42b>,139 <&mmss_smmu 0x42c>,140 <&mmss_smmu 0x42d>,141 <&mmss_smmu 0x411>,142 <&mmss_smmu 0x431>;143 memory-region = <&venus_region>;144 power-domains = <&mmcc VENUS_GDSC>;145 146 video-decoder {147 compatible = "venus-decoder";148 clocks = <&mmcc VIDEO_SUBCORE0_CLK>;149 clock-names = "vcodec0_core";150 power-domains = <&mmcc VENUS_CORE0_GDSC>;151 };152 153 video-encoder {154 compatible = "venus-encoder";155 clocks = <&mmcc VIDEO_SUBCORE0_CLK>;156 clock-names = "vcodec0_core";157 power-domains = <&mmcc VENUS_CORE0_GDSC>;158 };159 };160