1*96fbc6c5SAngeloGioacchino Del Regno# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*96fbc6c5SAngeloGioacchino Del Regno 3*96fbc6c5SAngeloGioacchino Del Regno%YAML 1.2 4*96fbc6c5SAngeloGioacchino Del Regno--- 5*96fbc6c5SAngeloGioacchino Del Regno$id: "http://devicetree.org/schemas/media/qcom,sdm660-venus.yaml#" 6*96fbc6c5SAngeloGioacchino Del Regno$schema: "http://devicetree.org/meta-schemas/core.yaml#" 7*96fbc6c5SAngeloGioacchino Del Regno 8*96fbc6c5SAngeloGioacchino Del Regnotitle: Qualcomm Venus video encode and decode accelerators 9*96fbc6c5SAngeloGioacchino Del Regno 10*96fbc6c5SAngeloGioacchino Del Regnomaintainers: 11*96fbc6c5SAngeloGioacchino Del Regno - Stanimir Varbanov <stanimir.varbanov@linaro.org> 12*96fbc6c5SAngeloGioacchino Del Regno - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> 13*96fbc6c5SAngeloGioacchino Del Regno 14*96fbc6c5SAngeloGioacchino Del Regnodescription: | 15*96fbc6c5SAngeloGioacchino Del Regno The Venus IP is a video encode and decode accelerator present 16*96fbc6c5SAngeloGioacchino Del Regno on Qualcomm platforms 17*96fbc6c5SAngeloGioacchino Del Regno 18*96fbc6c5SAngeloGioacchino Del Regnoproperties: 19*96fbc6c5SAngeloGioacchino Del Regno compatible: 20*96fbc6c5SAngeloGioacchino Del Regno const: qcom,sdm660-venus 21*96fbc6c5SAngeloGioacchino Del Regno 22*96fbc6c5SAngeloGioacchino Del Regno reg: 23*96fbc6c5SAngeloGioacchino Del Regno maxItems: 1 24*96fbc6c5SAngeloGioacchino Del Regno 25*96fbc6c5SAngeloGioacchino Del Regno clocks: 26*96fbc6c5SAngeloGioacchino Del Regno maxItems: 4 27*96fbc6c5SAngeloGioacchino Del Regno 28*96fbc6c5SAngeloGioacchino Del Regno clock-names: 29*96fbc6c5SAngeloGioacchino Del Regno items: 30*96fbc6c5SAngeloGioacchino Del Regno - const: core 31*96fbc6c5SAngeloGioacchino Del Regno - const: iface 32*96fbc6c5SAngeloGioacchino Del Regno - const: bus 33*96fbc6c5SAngeloGioacchino Del Regno - const: bus_throttle 34*96fbc6c5SAngeloGioacchino Del Regno 35*96fbc6c5SAngeloGioacchino Del Regno interconnects: 36*96fbc6c5SAngeloGioacchino Del Regno maxItems: 2 37*96fbc6c5SAngeloGioacchino Del Regno 38*96fbc6c5SAngeloGioacchino Del Regno interconnect-names: 39*96fbc6c5SAngeloGioacchino Del Regno items: 40*96fbc6c5SAngeloGioacchino Del Regno - const: cpu-cfg 41*96fbc6c5SAngeloGioacchino Del Regno - const: video-mem 42*96fbc6c5SAngeloGioacchino Del Regno 43*96fbc6c5SAngeloGioacchino Del Regno interrupts: 44*96fbc6c5SAngeloGioacchino Del Regno maxItems: 1 45*96fbc6c5SAngeloGioacchino Del Regno 46*96fbc6c5SAngeloGioacchino Del Regno iommus: 47*96fbc6c5SAngeloGioacchino Del Regno maxItems: 20 48*96fbc6c5SAngeloGioacchino Del Regno 49*96fbc6c5SAngeloGioacchino Del Regno memory-region: 50*96fbc6c5SAngeloGioacchino Del Regno maxItems: 1 51*96fbc6c5SAngeloGioacchino Del Regno 52*96fbc6c5SAngeloGioacchino Del Regno power-domains: 53*96fbc6c5SAngeloGioacchino Del Regno maxItems: 1 54*96fbc6c5SAngeloGioacchino Del Regno 55*96fbc6c5SAngeloGioacchino Del Regno video-decoder: 56*96fbc6c5SAngeloGioacchino Del Regno type: object 57*96fbc6c5SAngeloGioacchino Del Regno 58*96fbc6c5SAngeloGioacchino Del Regno properties: 59*96fbc6c5SAngeloGioacchino Del Regno compatible: 60*96fbc6c5SAngeloGioacchino Del Regno const: venus-decoder 61*96fbc6c5SAngeloGioacchino Del Regno 62*96fbc6c5SAngeloGioacchino Del Regno clocks: 63*96fbc6c5SAngeloGioacchino Del Regno maxItems: 1 64*96fbc6c5SAngeloGioacchino Del Regno 65*96fbc6c5SAngeloGioacchino Del Regno clock-names: 66*96fbc6c5SAngeloGioacchino Del Regno items: 67*96fbc6c5SAngeloGioacchino Del Regno - const: vcodec0_core 68*96fbc6c5SAngeloGioacchino Del Regno 69*96fbc6c5SAngeloGioacchino Del Regno power-domains: 70*96fbc6c5SAngeloGioacchino Del Regno maxItems: 1 71*96fbc6c5SAngeloGioacchino Del Regno 72*96fbc6c5SAngeloGioacchino Del Regno required: 73*96fbc6c5SAngeloGioacchino Del Regno - compatible 74*96fbc6c5SAngeloGioacchino Del Regno - clocks 75*96fbc6c5SAngeloGioacchino Del Regno - clock-names 76*96fbc6c5SAngeloGioacchino Del Regno - power-domains 77*96fbc6c5SAngeloGioacchino Del Regno 78*96fbc6c5SAngeloGioacchino Del Regno additionalProperties: false 79*96fbc6c5SAngeloGioacchino Del Regno 80*96fbc6c5SAngeloGioacchino Del Regno video-encoder: 81*96fbc6c5SAngeloGioacchino Del Regno type: object 82*96fbc6c5SAngeloGioacchino Del Regno 83*96fbc6c5SAngeloGioacchino Del Regno properties: 84*96fbc6c5SAngeloGioacchino Del Regno compatible: 85*96fbc6c5SAngeloGioacchino Del Regno const: venus-encoder 86*96fbc6c5SAngeloGioacchino Del Regno 87*96fbc6c5SAngeloGioacchino Del Regno clocks: 88*96fbc6c5SAngeloGioacchino Del Regno maxItems: 1 89*96fbc6c5SAngeloGioacchino Del Regno 90*96fbc6c5SAngeloGioacchino Del Regno clock-names: 91*96fbc6c5SAngeloGioacchino Del Regno items: 92*96fbc6c5SAngeloGioacchino Del Regno - const: vcodec0_core 93*96fbc6c5SAngeloGioacchino Del Regno 94*96fbc6c5SAngeloGioacchino Del Regno power-domains: 95*96fbc6c5SAngeloGioacchino Del Regno maxItems: 1 96*96fbc6c5SAngeloGioacchino Del Regno 97*96fbc6c5SAngeloGioacchino Del Regno required: 98*96fbc6c5SAngeloGioacchino Del Regno - compatible 99*96fbc6c5SAngeloGioacchino Del Regno - clocks 100*96fbc6c5SAngeloGioacchino Del Regno - clock-names 101*96fbc6c5SAngeloGioacchino Del Regno - power-domains 102*96fbc6c5SAngeloGioacchino Del Regno 103*96fbc6c5SAngeloGioacchino Del Regno additionalProperties: false 104*96fbc6c5SAngeloGioacchino Del Regno 105*96fbc6c5SAngeloGioacchino Del Regno video-firmware: 106*96fbc6c5SAngeloGioacchino Del Regno type: object 107*96fbc6c5SAngeloGioacchino Del Regno 108*96fbc6c5SAngeloGioacchino Del Regno description: | 109*96fbc6c5SAngeloGioacchino Del Regno Firmware subnode is needed when the platform does not 110*96fbc6c5SAngeloGioacchino Del Regno have TrustZone. 111*96fbc6c5SAngeloGioacchino Del Regno 112*96fbc6c5SAngeloGioacchino Del Regno properties: 113*96fbc6c5SAngeloGioacchino Del Regno iommus: 114*96fbc6c5SAngeloGioacchino Del Regno maxItems: 1 115*96fbc6c5SAngeloGioacchino Del Regno 116*96fbc6c5SAngeloGioacchino Del Regno required: 117*96fbc6c5SAngeloGioacchino Del Regno - iommus 118*96fbc6c5SAngeloGioacchino Del Regno 119*96fbc6c5SAngeloGioacchino Del Regnorequired: 120*96fbc6c5SAngeloGioacchino Del Regno - compatible 121*96fbc6c5SAngeloGioacchino Del Regno - reg 122*96fbc6c5SAngeloGioacchino Del Regno - clocks 123*96fbc6c5SAngeloGioacchino Del Regno - clock-names 124*96fbc6c5SAngeloGioacchino Del Regno - interrupts 125*96fbc6c5SAngeloGioacchino Del Regno - iommus 126*96fbc6c5SAngeloGioacchino Del Regno - memory-region 127*96fbc6c5SAngeloGioacchino Del Regno - power-domains 128*96fbc6c5SAngeloGioacchino Del Regno - video-decoder 129*96fbc6c5SAngeloGioacchino Del Regno - video-encoder 130*96fbc6c5SAngeloGioacchino Del Regno 131*96fbc6c5SAngeloGioacchino Del RegnoadditionalProperties: false 132*96fbc6c5SAngeloGioacchino Del Regno 133*96fbc6c5SAngeloGioacchino Del Regnoexamples: 134*96fbc6c5SAngeloGioacchino Del Regno - | 135*96fbc6c5SAngeloGioacchino Del Regno #include <dt-bindings/clock/qcom,mmcc-sdm660.h> 136*96fbc6c5SAngeloGioacchino Del Regno #include <dt-bindings/interrupt-controller/arm-gic.h> 137*96fbc6c5SAngeloGioacchino Del Regno 138*96fbc6c5SAngeloGioacchino Del Regno video-codec@cc00000 { 139*96fbc6c5SAngeloGioacchino Del Regno compatible = "qcom,sdm660-venus"; 140*96fbc6c5SAngeloGioacchino Del Regno reg = <0x0cc00000 0xff000>; 141*96fbc6c5SAngeloGioacchino Del Regno clocks = <&mmcc VIDEO_CORE_CLK>, 142*96fbc6c5SAngeloGioacchino Del Regno <&mmcc VIDEO_AHB_CLK>, 143*96fbc6c5SAngeloGioacchino Del Regno <&mmcc VIDEO_AXI_CLK>, 144*96fbc6c5SAngeloGioacchino Del Regno <&mmcc THROTTLE_VIDEO_AXI_CLK>; 145*96fbc6c5SAngeloGioacchino Del Regno clock-names = "core", "iface", "bus", "bus_throttle"; 146*96fbc6c5SAngeloGioacchino Del Regno interconnects = <&gnoc 0 &mnoc 13>, 147*96fbc6c5SAngeloGioacchino Del Regno <&mnoc 4 &bimc 5>; 148*96fbc6c5SAngeloGioacchino Del Regno interconnect-names = "cpu-cfg", "video-mem"; 149*96fbc6c5SAngeloGioacchino Del Regno interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>; 150*96fbc6c5SAngeloGioacchino Del Regno iommus = <&mmss_smmu 0x400>, 151*96fbc6c5SAngeloGioacchino Del Regno <&mmss_smmu 0x401>, 152*96fbc6c5SAngeloGioacchino Del Regno <&mmss_smmu 0x40a>, 153*96fbc6c5SAngeloGioacchino Del Regno <&mmss_smmu 0x407>, 154*96fbc6c5SAngeloGioacchino Del Regno <&mmss_smmu 0x40e>, 155*96fbc6c5SAngeloGioacchino Del Regno <&mmss_smmu 0x40f>, 156*96fbc6c5SAngeloGioacchino Del Regno <&mmss_smmu 0x408>, 157*96fbc6c5SAngeloGioacchino Del Regno <&mmss_smmu 0x409>, 158*96fbc6c5SAngeloGioacchino Del Regno <&mmss_smmu 0x40b>, 159*96fbc6c5SAngeloGioacchino Del Regno <&mmss_smmu 0x40c>, 160*96fbc6c5SAngeloGioacchino Del Regno <&mmss_smmu 0x40d>, 161*96fbc6c5SAngeloGioacchino Del Regno <&mmss_smmu 0x410>, 162*96fbc6c5SAngeloGioacchino Del Regno <&mmss_smmu 0x421>, 163*96fbc6c5SAngeloGioacchino Del Regno <&mmss_smmu 0x428>, 164*96fbc6c5SAngeloGioacchino Del Regno <&mmss_smmu 0x429>, 165*96fbc6c5SAngeloGioacchino Del Regno <&mmss_smmu 0x42b>, 166*96fbc6c5SAngeloGioacchino Del Regno <&mmss_smmu 0x42c>, 167*96fbc6c5SAngeloGioacchino Del Regno <&mmss_smmu 0x42d>, 168*96fbc6c5SAngeloGioacchino Del Regno <&mmss_smmu 0x411>, 169*96fbc6c5SAngeloGioacchino Del Regno <&mmss_smmu 0x431>; 170*96fbc6c5SAngeloGioacchino Del Regno memory-region = <&venus_region>; 171*96fbc6c5SAngeloGioacchino Del Regno power-domains = <&mmcc VENUS_GDSC>; 172*96fbc6c5SAngeloGioacchino Del Regno 173*96fbc6c5SAngeloGioacchino Del Regno video-decoder { 174*96fbc6c5SAngeloGioacchino Del Regno compatible = "venus-decoder"; 175*96fbc6c5SAngeloGioacchino Del Regno clocks = <&mmcc VIDEO_SUBCORE0_CLK>; 176*96fbc6c5SAngeloGioacchino Del Regno clock-names = "vcodec0_core"; 177*96fbc6c5SAngeloGioacchino Del Regno power-domains = <&mmcc VENUS_CORE0_GDSC>; 178*96fbc6c5SAngeloGioacchino Del Regno }; 179*96fbc6c5SAngeloGioacchino Del Regno 180*96fbc6c5SAngeloGioacchino Del Regno video-encoder { 181*96fbc6c5SAngeloGioacchino Del Regno compatible = "venus-encoder"; 182*96fbc6c5SAngeloGioacchino Del Regno clocks = <&mmcc VIDEO_SUBCORE0_CLK>; 183*96fbc6c5SAngeloGioacchino Del Regno clock-names = "vcodec0_core"; 184*96fbc6c5SAngeloGioacchino Del Regno power-domains = <&mmcc VENUS_CORE0_GDSC>; 185*96fbc6c5SAngeloGioacchino Del Regno }; 186*96fbc6c5SAngeloGioacchino Del Regno }; 187