1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 3%YAML 1.2 4--- 5$id: "http://devicetree.org/schemas/media/qcom,sc7180-venus.yaml#" 6$schema: "http://devicetree.org/meta-schemas/core.yaml#" 7 8title: Qualcomm Venus video encode and decode accelerators 9 10maintainers: 11 - Stanimir Varbanov <stanimir.varbanov@linaro.org> 12 13description: | 14 The Venus IP is a video encode and decode accelerator present 15 on Qualcomm platforms 16 17properties: 18 compatible: 19 const: qcom,sc7180-venus 20 21 reg: 22 maxItems: 1 23 24 interrupts: 25 maxItems: 1 26 27 power-domains: 28 minItems: 2 29 maxItems: 3 30 31 power-domain-names: 32 minItems: 2 33 items: 34 - const: venus 35 - const: vcodec0 36 - const: cx 37 38 clocks: 39 maxItems: 5 40 41 clock-names: 42 items: 43 - const: core 44 - const: iface 45 - const: bus 46 - const: vcodec0_core 47 - const: vcodec0_bus 48 49 iommus: 50 maxItems: 1 51 52 memory-region: 53 maxItems: 1 54 55 interconnects: 56 maxItems: 2 57 58 interconnect-names: 59 items: 60 - const: video-mem 61 - const: cpu-cfg 62 63 video-decoder: 64 type: object 65 66 properties: 67 compatible: 68 const: venus-decoder 69 70 required: 71 - compatible 72 73 additionalProperties: false 74 75 video-encoder: 76 type: object 77 78 properties: 79 compatible: 80 const: venus-encoder 81 82 required: 83 - compatible 84 85 additionalProperties: false 86 87 video-firmware: 88 type: object 89 additionalProperties: false 90 91 description: | 92 Firmware subnode is needed when the platform does not 93 have TrustZone. 94 95 properties: 96 iommus: 97 maxItems: 1 98 99 required: 100 - iommus 101 102required: 103 - compatible 104 - reg 105 - interrupts 106 - power-domains 107 - power-domain-names 108 - clocks 109 - clock-names 110 - iommus 111 - memory-region 112 - video-decoder 113 - video-encoder 114 115additionalProperties: false 116 117examples: 118 - | 119 #include <dt-bindings/interrupt-controller/arm-gic.h> 120 #include <dt-bindings/clock/qcom,videocc-sc7180.h> 121 122 venus: video-codec@aa00000 { 123 compatible = "qcom,sc7180-venus"; 124 reg = <0x0aa00000 0xff000>; 125 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; 126 power-domains = <&videocc VENUS_GDSC>, 127 <&videocc VCODEC0_GDSC>; 128 power-domain-names = "venus", "vcodec0"; 129 clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>, 130 <&videocc VIDEO_CC_VENUS_AHB_CLK>, 131 <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>, 132 <&videocc VIDEO_CC_VCODEC0_CORE_CLK>, 133 <&videocc VIDEO_CC_VCODEC0_AXI_CLK>; 134 clock-names = "core", "iface", "bus", 135 "vcodec0_core", "vcodec0_bus"; 136 iommus = <&apps_smmu 0x0c00 0x60>; 137 memory-region = <&venus_mem>; 138 139 video-decoder { 140 compatible = "venus-decoder"; 141 }; 142 143 video-encoder { 144 compatible = "venus-encoder"; 145 }; 146 }; 147