149a3797aSStanimir Varbanov# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 249a3797aSStanimir Varbanov%YAML 1.2 349a3797aSStanimir Varbanov--- 4af2270e0SKrzysztof Kozlowski$id: http://devicetree.org/schemas/media/qcom,sdm845-venus.yaml# 5af2270e0SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 649a3797aSStanimir Varbanov 7af2270e0SKrzysztof Kozlowskititle: Qualcomm SDM845 Venus video encode and decode accelerators 849a3797aSStanimir Varbanov 949a3797aSStanimir Varbanovmaintainers: 1049a3797aSStanimir Varbanov - Stanimir Varbanov <stanimir.varbanov@linaro.org> 1149a3797aSStanimir Varbanov 1249a3797aSStanimir Varbanovdescription: | 1349a3797aSStanimir Varbanov The Venus IP is a video encode and decode accelerator present 1449a3797aSStanimir Varbanov on Qualcomm platforms 1549a3797aSStanimir Varbanov 1649a3797aSStanimir Varbanovproperties: 1749a3797aSStanimir Varbanov compatible: 1849a3797aSStanimir Varbanov const: qcom,sdm845-venus 1949a3797aSStanimir Varbanov 2049a3797aSStanimir Varbanov reg: 2149a3797aSStanimir Varbanov maxItems: 1 2249a3797aSStanimir Varbanov 2349a3797aSStanimir Varbanov interrupts: 2449a3797aSStanimir Varbanov maxItems: 1 2549a3797aSStanimir Varbanov 2649a3797aSStanimir Varbanov power-domains: 2749a3797aSStanimir Varbanov maxItems: 1 2849a3797aSStanimir Varbanov 2949a3797aSStanimir Varbanov clocks: 3049a3797aSStanimir Varbanov maxItems: 3 3149a3797aSStanimir Varbanov 3249a3797aSStanimir Varbanov clock-names: 3349a3797aSStanimir Varbanov items: 3449a3797aSStanimir Varbanov - const: core 3549a3797aSStanimir Varbanov - const: iface 3649a3797aSStanimir Varbanov - const: bus 3749a3797aSStanimir Varbanov 3849a3797aSStanimir Varbanov iommus: 3949a3797aSStanimir Varbanov maxItems: 2 4049a3797aSStanimir Varbanov 4149a3797aSStanimir Varbanov memory-region: 4249a3797aSStanimir Varbanov maxItems: 1 4349a3797aSStanimir Varbanov 4449a3797aSStanimir Varbanov video-core0: 4549a3797aSStanimir Varbanov type: object 4649a3797aSStanimir Varbanov 4749a3797aSStanimir Varbanov properties: 4849a3797aSStanimir Varbanov compatible: 4949a3797aSStanimir Varbanov const: venus-decoder 5049a3797aSStanimir Varbanov 5149a3797aSStanimir Varbanov clocks: 5249a3797aSStanimir Varbanov maxItems: 2 5349a3797aSStanimir Varbanov 5449a3797aSStanimir Varbanov clock-names: 5549a3797aSStanimir Varbanov items: 5649a3797aSStanimir Varbanov - const: core 5749a3797aSStanimir Varbanov - const: bus 5849a3797aSStanimir Varbanov 5949a3797aSStanimir Varbanov power-domains: 6049a3797aSStanimir Varbanov maxItems: 1 6149a3797aSStanimir Varbanov 6249a3797aSStanimir Varbanov required: 6349a3797aSStanimir Varbanov - compatible 6449a3797aSStanimir Varbanov - clocks 6549a3797aSStanimir Varbanov - clock-names 6649a3797aSStanimir Varbanov - power-domains 6749a3797aSStanimir Varbanov 6849a3797aSStanimir Varbanov additionalProperties: false 6949a3797aSStanimir Varbanov 7049a3797aSStanimir Varbanov video-core1: 7149a3797aSStanimir Varbanov type: object 7249a3797aSStanimir Varbanov 7349a3797aSStanimir Varbanov properties: 7449a3797aSStanimir Varbanov compatible: 7549a3797aSStanimir Varbanov const: venus-encoder 7649a3797aSStanimir Varbanov 7749a3797aSStanimir Varbanov clocks: 7849a3797aSStanimir Varbanov maxItems: 2 7949a3797aSStanimir Varbanov 8049a3797aSStanimir Varbanov clock-names: 8149a3797aSStanimir Varbanov items: 8249a3797aSStanimir Varbanov - const: core 8349a3797aSStanimir Varbanov - const: bus 8449a3797aSStanimir Varbanov 8549a3797aSStanimir Varbanov power-domains: 8649a3797aSStanimir Varbanov maxItems: 1 8749a3797aSStanimir Varbanov 8849a3797aSStanimir Varbanov required: 8949a3797aSStanimir Varbanov - compatible 9049a3797aSStanimir Varbanov - clocks 9149a3797aSStanimir Varbanov - clock-names 9249a3797aSStanimir Varbanov - power-domains 9349a3797aSStanimir Varbanov 9449a3797aSStanimir Varbanov additionalProperties: false 9549a3797aSStanimir Varbanov 9649a3797aSStanimir Varbanov video-firmware: 9749a3797aSStanimir Varbanov type: object 989eba693cSRob Herring additionalProperties: false 9949a3797aSStanimir Varbanov 10049a3797aSStanimir Varbanov description: | 10149a3797aSStanimir Varbanov Firmware subnode is needed when the platform does not 10249a3797aSStanimir Varbanov have TrustZone. 10349a3797aSStanimir Varbanov 10449a3797aSStanimir Varbanov properties: 10549a3797aSStanimir Varbanov iommus: 10649a3797aSStanimir Varbanov maxItems: 1 10749a3797aSStanimir Varbanov 10849a3797aSStanimir Varbanov required: 10949a3797aSStanimir Varbanov - iommus 11049a3797aSStanimir Varbanov 11149a3797aSStanimir Varbanovrequired: 11249a3797aSStanimir Varbanov - compatible 11349a3797aSStanimir Varbanov - reg 11449a3797aSStanimir Varbanov - interrupts 11549a3797aSStanimir Varbanov - power-domains 11649a3797aSStanimir Varbanov - clocks 11749a3797aSStanimir Varbanov - clock-names 11849a3797aSStanimir Varbanov - iommus 11949a3797aSStanimir Varbanov - memory-region 12049a3797aSStanimir Varbanov - video-core0 12149a3797aSStanimir Varbanov - video-core1 12249a3797aSStanimir Varbanov 1235be478f9SRob HerringadditionalProperties: false 1245be478f9SRob Herring 12549a3797aSStanimir Varbanovexamples: 12649a3797aSStanimir Varbanov - | 12749a3797aSStanimir Varbanov #include <dt-bindings/interrupt-controller/arm-gic.h> 12849a3797aSStanimir Varbanov #include <dt-bindings/clock/qcom,videocc-sdm845.h> 12949a3797aSStanimir Varbanov 13049a3797aSStanimir Varbanov video-codec@aa00000 { 13149a3797aSStanimir Varbanov compatible = "qcom,sdm845-venus"; 132fba56184SRob Herring reg = <0x0aa00000 0xff000>; 13349a3797aSStanimir Varbanov interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; 13449a3797aSStanimir Varbanov clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>, 13549a3797aSStanimir Varbanov <&videocc VIDEO_CC_VENUS_AHB_CLK>, 13649a3797aSStanimir Varbanov <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>; 13749a3797aSStanimir Varbanov clock-names = "core", "iface", "bus"; 13849a3797aSStanimir Varbanov power-domains = <&videocc VENUS_GDSC>; 13949a3797aSStanimir Varbanov iommus = <&apps_smmu 0x10a0 0x8>, 14049a3797aSStanimir Varbanov <&apps_smmu 0x10b0 0x0>; 14149a3797aSStanimir Varbanov memory-region = <&venus_mem>; 14249a3797aSStanimir Varbanov 14349a3797aSStanimir Varbanov video-core0 { 14449a3797aSStanimir Varbanov compatible = "venus-decoder"; 14549a3797aSStanimir Varbanov clocks = <&videocc VIDEO_CC_VCODEC0_CORE_CLK>, 14649a3797aSStanimir Varbanov <&videocc VIDEO_CC_VCODEC0_AXI_CLK>; 14749a3797aSStanimir Varbanov clock-names = "core", "bus"; 14849a3797aSStanimir Varbanov power-domains = <&videocc VCODEC0_GDSC>; 14949a3797aSStanimir Varbanov }; 15049a3797aSStanimir Varbanov 15149a3797aSStanimir Varbanov video-core1 { 15249a3797aSStanimir Varbanov compatible = "venus-encoder"; 15349a3797aSStanimir Varbanov clocks = <&videocc VIDEO_CC_VCODEC1_CORE_CLK>, 15449a3797aSStanimir Varbanov <&videocc VIDEO_CC_VCODEC1_AXI_CLK>; 15549a3797aSStanimir Varbanov clock-names = "core", "bus"; 15649a3797aSStanimir Varbanov power-domains = <&videocc VCODEC1_GDSC>; 15749a3797aSStanimir Varbanov }; 15849a3797aSStanimir Varbanov }; 159