1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/media/qcom,sc7180-venus.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm SC7180 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,sc7180-venus 22 23 power-domains: 24 minItems: 2 25 maxItems: 3 26 27 power-domain-names: 28 minItems: 2 29 items: 30 - const: venus 31 - const: vcodec0 32 - const: cx 33 34 clocks: 35 maxItems: 5 36 37 clock-names: 38 items: 39 - const: core 40 - const: iface 41 - const: bus 42 - const: vcodec0_core 43 - const: vcodec0_bus 44 45 iommus: 46 maxItems: 1 47 48 memory-region: 49 maxItems: 1 50 51 interconnects: 52 maxItems: 2 53 54 interconnect-names: 55 items: 56 - const: video-mem 57 - const: cpu-cfg 58 59 video-decoder: 60 type: object 61 62 properties: 63 compatible: 64 const: venus-decoder 65 66 required: 67 - compatible 68 69 additionalProperties: false 70 71 video-encoder: 72 type: object 73 74 properties: 75 compatible: 76 const: venus-encoder 77 78 required: 79 - compatible 80 81 additionalProperties: false 82 83required: 84 - compatible 85 - power-domain-names 86 - iommus 87 - video-decoder 88 - video-encoder 89 90unevaluatedProperties: false 91 92examples: 93 - | 94 #include <dt-bindings/interrupt-controller/arm-gic.h> 95 #include <dt-bindings/clock/qcom,videocc-sc7180.h> 96 97 venus: video-codec@aa00000 { 98 compatible = "qcom,sc7180-venus"; 99 reg = <0x0aa00000 0xff000>; 100 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; 101 power-domains = <&videocc VENUS_GDSC>, 102 <&videocc VCODEC0_GDSC>; 103 power-domain-names = "venus", "vcodec0"; 104 clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>, 105 <&videocc VIDEO_CC_VENUS_AHB_CLK>, 106 <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>, 107 <&videocc VIDEO_CC_VCODEC0_CORE_CLK>, 108 <&videocc VIDEO_CC_VCODEC0_AXI_CLK>; 109 clock-names = "core", "iface", "bus", 110 "vcodec0_core", "vcodec0_bus"; 111 iommus = <&apps_smmu 0x0c00 0x60>; 112 memory-region = <&venus_mem>; 113 114 video-decoder { 115 compatible = "venus-decoder"; 116 }; 117 118 video-encoder { 119 compatible = "venus-encoder"; 120 }; 121 }; 122