1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/media/qcom,sdm845-venus-v2.yaml# 5fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 7fac71e4eSEmmanuel Vadottitle: Qualcomm SDM845 Venus v2 video encode and decode accelerators 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotmaintainers: 10c66ec88fSEmmanuel Vadot - Stanimir Varbanov <stanimir.varbanov@linaro.org> 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadotdescription: | 13c66ec88fSEmmanuel Vadot The Venus IP is a video encode and decode accelerator present 14c66ec88fSEmmanuel Vadot on Qualcomm platforms 15c66ec88fSEmmanuel Vadot 16fac71e4eSEmmanuel VadotallOf: 17fac71e4eSEmmanuel Vadot - $ref: qcom,venus-common.yaml# 18fac71e4eSEmmanuel Vadot 19c66ec88fSEmmanuel Vadotproperties: 20c66ec88fSEmmanuel Vadot compatible: 21c66ec88fSEmmanuel Vadot const: qcom,sdm845-venus-v2 22c66ec88fSEmmanuel Vadot 23c66ec88fSEmmanuel Vadot power-domains: 246be33864SEmmanuel Vadot minItems: 3 256be33864SEmmanuel Vadot maxItems: 4 26c66ec88fSEmmanuel Vadot 27c66ec88fSEmmanuel Vadot power-domain-names: 286be33864SEmmanuel Vadot minItems: 3 29c66ec88fSEmmanuel Vadot items: 30c66ec88fSEmmanuel Vadot - const: venus 31c66ec88fSEmmanuel Vadot - const: vcodec0 32c66ec88fSEmmanuel Vadot - const: vcodec1 336be33864SEmmanuel Vadot - const: cx 34c66ec88fSEmmanuel Vadot 35c66ec88fSEmmanuel Vadot clocks: 36c66ec88fSEmmanuel Vadot maxItems: 7 37c66ec88fSEmmanuel Vadot 38c66ec88fSEmmanuel Vadot clock-names: 39c66ec88fSEmmanuel Vadot items: 40c66ec88fSEmmanuel Vadot - const: core 41c66ec88fSEmmanuel Vadot - const: iface 42c66ec88fSEmmanuel Vadot - const: bus 43c66ec88fSEmmanuel Vadot - const: vcodec0_core 44c66ec88fSEmmanuel Vadot - const: vcodec0_bus 45c66ec88fSEmmanuel Vadot - const: vcodec1_core 46c66ec88fSEmmanuel Vadot - const: vcodec1_bus 47c66ec88fSEmmanuel Vadot 48c66ec88fSEmmanuel Vadot iommus: 49c66ec88fSEmmanuel Vadot maxItems: 2 50c66ec88fSEmmanuel Vadot 51*84943d6fSEmmanuel Vadot interconnects: 52*84943d6fSEmmanuel Vadot maxItems: 2 53*84943d6fSEmmanuel Vadot 54*84943d6fSEmmanuel Vadot interconnect-names: 55*84943d6fSEmmanuel Vadot items: 56*84943d6fSEmmanuel Vadot - const: video-mem 57*84943d6fSEmmanuel Vadot - const: cpu-cfg 58*84943d6fSEmmanuel Vadot 59fac71e4eSEmmanuel Vadot operating-points-v2: true 60fac71e4eSEmmanuel Vadot opp-table: 61fac71e4eSEmmanuel Vadot type: object 62c66ec88fSEmmanuel Vadot 63c66ec88fSEmmanuel Vadot video-core0: 64c66ec88fSEmmanuel Vadot type: object 65c66ec88fSEmmanuel Vadot 66c66ec88fSEmmanuel Vadot properties: 67c66ec88fSEmmanuel Vadot compatible: 68c66ec88fSEmmanuel Vadot const: venus-decoder 69c66ec88fSEmmanuel Vadot 70c66ec88fSEmmanuel Vadot required: 71c66ec88fSEmmanuel Vadot - compatible 72c66ec88fSEmmanuel Vadot 73c66ec88fSEmmanuel Vadot additionalProperties: false 74c66ec88fSEmmanuel Vadot 75c66ec88fSEmmanuel Vadot video-core1: 76c66ec88fSEmmanuel Vadot type: object 77c66ec88fSEmmanuel Vadot 78c66ec88fSEmmanuel Vadot properties: 79c66ec88fSEmmanuel Vadot compatible: 80c66ec88fSEmmanuel Vadot const: venus-encoder 81c66ec88fSEmmanuel Vadot 82c66ec88fSEmmanuel Vadot required: 83c66ec88fSEmmanuel Vadot - compatible 84c66ec88fSEmmanuel Vadot 85c66ec88fSEmmanuel Vadot additionalProperties: false 86c66ec88fSEmmanuel Vadot 87c66ec88fSEmmanuel Vadotrequired: 88c66ec88fSEmmanuel Vadot - compatible 89c66ec88fSEmmanuel Vadot - power-domain-names 90c66ec88fSEmmanuel Vadot - iommus 91c66ec88fSEmmanuel Vadot - video-core0 92c66ec88fSEmmanuel Vadot - video-core1 93c66ec88fSEmmanuel Vadot 94fac71e4eSEmmanuel VadotunevaluatedProperties: false 956be33864SEmmanuel Vadot 96c66ec88fSEmmanuel Vadotexamples: 97c66ec88fSEmmanuel Vadot - | 98c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 99c66ec88fSEmmanuel Vadot #include <dt-bindings/clock/qcom,videocc-sdm845.h> 100c66ec88fSEmmanuel Vadot 101c66ec88fSEmmanuel Vadot video-codec@aa00000 { 102c66ec88fSEmmanuel Vadot compatible = "qcom,sdm845-venus-v2"; 103c66ec88fSEmmanuel Vadot reg = <0x0aa00000 0xff000>; 104c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; 105c66ec88fSEmmanuel Vadot clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>, 106c66ec88fSEmmanuel Vadot <&videocc VIDEO_CC_VENUS_AHB_CLK>, 107c66ec88fSEmmanuel Vadot <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>, 108c66ec88fSEmmanuel Vadot <&videocc VIDEO_CC_VCODEC0_CORE_CLK>, 109c66ec88fSEmmanuel Vadot <&videocc VIDEO_CC_VCODEC0_AXI_CLK>, 110c66ec88fSEmmanuel Vadot <&videocc VIDEO_CC_VCODEC1_CORE_CLK>, 111c66ec88fSEmmanuel Vadot <&videocc VIDEO_CC_VCODEC1_AXI_CLK>; 112c66ec88fSEmmanuel Vadot clock-names = "core", "iface", "bus", 113c66ec88fSEmmanuel Vadot "vcodec0_core", "vcodec0_bus", 114c66ec88fSEmmanuel Vadot "vcodec1_core", "vcodec1_bus"; 115c66ec88fSEmmanuel Vadot power-domains = <&videocc VENUS_GDSC>, 116c66ec88fSEmmanuel Vadot <&videocc VCODEC0_GDSC>, 117c66ec88fSEmmanuel Vadot <&videocc VCODEC1_GDSC>; 118c66ec88fSEmmanuel Vadot power-domain-names = "venus", "vcodec0", "vcodec1"; 119c66ec88fSEmmanuel Vadot iommus = <&apps_smmu 0x10a0 0x8>, 120c66ec88fSEmmanuel Vadot <&apps_smmu 0x10b0 0x0>; 121c66ec88fSEmmanuel Vadot memory-region = <&venus_mem>; 122c66ec88fSEmmanuel Vadot 123c66ec88fSEmmanuel Vadot video-core0 { 124c66ec88fSEmmanuel Vadot compatible = "venus-decoder"; 125c66ec88fSEmmanuel Vadot }; 126c66ec88fSEmmanuel Vadot 127c66ec88fSEmmanuel Vadot video-core1 { 128c66ec88fSEmmanuel Vadot compatible = "venus-encoder"; 129c66ec88fSEmmanuel Vadot }; 130c66ec88fSEmmanuel Vadot }; 131