1*305b0615SAlexander Koskovich# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*305b0615SAlexander Koskovich%YAML 1.2 3*305b0615SAlexander Koskovich--- 4*305b0615SAlexander Koskovich$id: http://devicetree.org/schemas/media/qcom,milos-iris.yaml# 5*305b0615SAlexander Koskovich$schema: http://devicetree.org/meta-schemas/core.yaml# 6*305b0615SAlexander Koskovich 7*305b0615SAlexander Koskovichtitle: Qualcomm Milos SoC Iris video encoder and decoder 8*305b0615SAlexander Koskovich 9*305b0615SAlexander Koskovichmaintainers: 10*305b0615SAlexander Koskovich - Alexander Koskovich <akoskovich@pm.me> 11*305b0615SAlexander Koskovich 12*305b0615SAlexander Koskovichdescription: 13*305b0615SAlexander Koskovich The Iris video processing unit on Qualcomm Milos SoC is a video encode and 14*305b0615SAlexander Koskovich decode accelerator. 15*305b0615SAlexander Koskovich 16*305b0615SAlexander Koskovichproperties: 17*305b0615SAlexander Koskovich compatible: 18*305b0615SAlexander Koskovich enum: 19*305b0615SAlexander Koskovich - qcom,milos-iris 20*305b0615SAlexander Koskovich 21*305b0615SAlexander Koskovich clocks: 22*305b0615SAlexander Koskovich maxItems: 3 23*305b0615SAlexander Koskovich 24*305b0615SAlexander Koskovich clock-names: 25*305b0615SAlexander Koskovich items: 26*305b0615SAlexander Koskovich - const: iface 27*305b0615SAlexander Koskovich - const: core 28*305b0615SAlexander Koskovich - const: vcodec0_core 29*305b0615SAlexander Koskovich 30*305b0615SAlexander Koskovich dma-coherent: true 31*305b0615SAlexander Koskovich 32*305b0615SAlexander Koskovich interconnects: 33*305b0615SAlexander Koskovich maxItems: 2 34*305b0615SAlexander Koskovich 35*305b0615SAlexander Koskovich interconnect-names: 36*305b0615SAlexander Koskovich items: 37*305b0615SAlexander Koskovich - const: cpu-cfg 38*305b0615SAlexander Koskovich - const: video-mem 39*305b0615SAlexander Koskovich 40*305b0615SAlexander Koskovich iommus: 41*305b0615SAlexander Koskovich maxItems: 2 42*305b0615SAlexander Koskovich 43*305b0615SAlexander Koskovich operating-points-v2: true 44*305b0615SAlexander Koskovich opp-table: 45*305b0615SAlexander Koskovich type: object 46*305b0615SAlexander Koskovich 47*305b0615SAlexander Koskovich power-domains: 48*305b0615SAlexander Koskovich maxItems: 4 49*305b0615SAlexander Koskovich 50*305b0615SAlexander Koskovich power-domain-names: 51*305b0615SAlexander Koskovich items: 52*305b0615SAlexander Koskovich - const: venus 53*305b0615SAlexander Koskovich - const: vcodec0 54*305b0615SAlexander Koskovich - const: cx 55*305b0615SAlexander Koskovich - const: mx 56*305b0615SAlexander Koskovich 57*305b0615SAlexander Koskovich resets: 58*305b0615SAlexander Koskovich maxItems: 2 59*305b0615SAlexander Koskovich 60*305b0615SAlexander Koskovich reset-names: 61*305b0615SAlexander Koskovich items: 62*305b0615SAlexander Koskovich - const: bus 63*305b0615SAlexander Koskovich - const: core 64*305b0615SAlexander Koskovich 65*305b0615SAlexander Koskovichrequired: 66*305b0615SAlexander Koskovich - compatible 67*305b0615SAlexander Koskovich - dma-coherent 68*305b0615SAlexander Koskovich - interconnects 69*305b0615SAlexander Koskovich - interconnect-names 70*305b0615SAlexander Koskovich - iommus 71*305b0615SAlexander Koskovich - power-domain-names 72*305b0615SAlexander Koskovich - resets 73*305b0615SAlexander Koskovich - reset-names 74*305b0615SAlexander Koskovich 75*305b0615SAlexander KoskovichallOf: 76*305b0615SAlexander Koskovich - $ref: qcom,venus-common.yaml# 77*305b0615SAlexander Koskovich 78*305b0615SAlexander KoskovichunevaluatedProperties: false 79*305b0615SAlexander Koskovich 80*305b0615SAlexander Koskovichexamples: 81*305b0615SAlexander Koskovich - | 82*305b0615SAlexander Koskovich #include <dt-bindings/clock/qcom,rpmh.h> 83*305b0615SAlexander Koskovich #include <dt-bindings/clock/qcom,milos-gcc.h> 84*305b0615SAlexander Koskovich #include <dt-bindings/clock/qcom,milos-videocc.h> 85*305b0615SAlexander Koskovich #include <dt-bindings/interrupt-controller/arm-gic.h> 86*305b0615SAlexander Koskovich #include <dt-bindings/interconnect/qcom,icc.h> 87*305b0615SAlexander Koskovich #include <dt-bindings/interconnect/qcom,milos-rpmh.h> 88*305b0615SAlexander Koskovich #include <dt-bindings/power/qcom-rpmpd.h> 89*305b0615SAlexander Koskovich #include <dt-bindings/power/qcom,rpmhpd.h> 90*305b0615SAlexander Koskovich 91*305b0615SAlexander Koskovich video-codec@aa00000 { 92*305b0615SAlexander Koskovich compatible = "qcom,milos-iris"; 93*305b0615SAlexander Koskovich reg = <0x0aa00000 0xf0000>; 94*305b0615SAlexander Koskovich 95*305b0615SAlexander Koskovich clocks = <&gcc GCC_VIDEO_AXI0_CLK>, 96*305b0615SAlexander Koskovich <&videocc VIDEO_CC_MVS0C_CLK>, 97*305b0615SAlexander Koskovich <&videocc VIDEO_CC_MVS0_CLK>; 98*305b0615SAlexander Koskovich clock-names = "iface", 99*305b0615SAlexander Koskovich "core", 100*305b0615SAlexander Koskovich "vcodec0_core"; 101*305b0615SAlexander Koskovich 102*305b0615SAlexander Koskovich dma-coherent; 103*305b0615SAlexander Koskovich iommus = <&apps_smmu 0x1960 0>, 104*305b0615SAlexander Koskovich <&apps_smmu 0x1967 0>; 105*305b0615SAlexander Koskovich 106*305b0615SAlexander Koskovich interconnects = <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY 107*305b0615SAlexander Koskovich &cnoc_cfg SLAVE_VENUS_CFG QCOM_ICC_TAG_ACTIVE_ONLY>, 108*305b0615SAlexander Koskovich <&mmss_noc MASTER_VIDEO QCOM_ICC_TAG_ALWAYS 109*305b0615SAlexander Koskovich &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; 110*305b0615SAlexander Koskovich interconnect-names = "cpu-cfg", 111*305b0615SAlexander Koskovich "video-mem"; 112*305b0615SAlexander Koskovich 113*305b0615SAlexander Koskovich interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; 114*305b0615SAlexander Koskovich 115*305b0615SAlexander Koskovich operating-points-v2 = <&iris_opp_table>; 116*305b0615SAlexander Koskovich 117*305b0615SAlexander Koskovich memory-region = <&video_mem>; 118*305b0615SAlexander Koskovich 119*305b0615SAlexander Koskovich power-domains = <&videocc VIDEO_CC_MVS0C_GDSC>, 120*305b0615SAlexander Koskovich <&videocc VIDEO_CC_MVS0_GDSC>, 121*305b0615SAlexander Koskovich <&rpmhpd RPMHPD_CX>, 122*305b0615SAlexander Koskovich <&rpmhpd RPMHPD_MX>; 123*305b0615SAlexander Koskovich power-domain-names = "venus", 124*305b0615SAlexander Koskovich "vcodec0", 125*305b0615SAlexander Koskovich "cx", 126*305b0615SAlexander Koskovich "mx"; 127*305b0615SAlexander Koskovich 128*305b0615SAlexander Koskovich resets = <&gcc GCC_VIDEO_AXI0_CLK_ARES>, 129*305b0615SAlexander Koskovich <&videocc VIDEO_CC_MVS0C_CLK_ARES>; 130*305b0615SAlexander Koskovich reset-names = "bus", 131*305b0615SAlexander Koskovich "core"; 132*305b0615SAlexander Koskovich 133*305b0615SAlexander Koskovich iris_opp_table: opp-table { 134*305b0615SAlexander Koskovich compatible = "operating-points-v2"; 135*305b0615SAlexander Koskovich 136*305b0615SAlexander Koskovich opp-240000000 { 137*305b0615SAlexander Koskovich opp-hz = /bits/ 64 <240000000>; 138*305b0615SAlexander Koskovich required-opps = <&rpmhpd_opp_low_svs>, 139*305b0615SAlexander Koskovich <&rpmhpd_opp_svs>; 140*305b0615SAlexander Koskovich }; 141*305b0615SAlexander Koskovich 142*305b0615SAlexander Koskovich opp-338000000 { 143*305b0615SAlexander Koskovich opp-hz = /bits/ 64 <338000000>; 144*305b0615SAlexander Koskovich required-opps = <&rpmhpd_opp_svs>, 145*305b0615SAlexander Koskovich <&rpmhpd_opp_svs>; 146*305b0615SAlexander Koskovich }; 147*305b0615SAlexander Koskovich 148*305b0615SAlexander Koskovich opp-366000000 { 149*305b0615SAlexander Koskovich opp-hz = /bits/ 64 <366000000>; 150*305b0615SAlexander Koskovich required-opps = <&rpmhpd_opp_svs_l1>, 151*305b0615SAlexander Koskovich <&rpmhpd_opp_svs>; 152*305b0615SAlexander Koskovich }; 153*305b0615SAlexander Koskovich 154*305b0615SAlexander Koskovich opp-444000000 { 155*305b0615SAlexander Koskovich opp-hz = /bits/ 64 <444000000>; 156*305b0615SAlexander Koskovich required-opps = <&rpmhpd_opp_nom>, 157*305b0615SAlexander Koskovich <&rpmhpd_opp_svs_l1>; 158*305b0615SAlexander Koskovich }; 159*305b0615SAlexander Koskovich 160*305b0615SAlexander Koskovich opp-552000000 { 161*305b0615SAlexander Koskovich opp-hz = /bits/ 64 <552000000>; 162*305b0615SAlexander Koskovich required-opps = <&rpmhpd_opp_turbo>, 163*305b0615SAlexander Koskovich <&rpmhpd_opp_nom>; 164*305b0615SAlexander Koskovich }; 165*305b0615SAlexander Koskovich }; 166*305b0615SAlexander Koskovich }; 167