18ccc0d23SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 28ccc0d23SEmmanuel Vadot%YAML 1.2 38ccc0d23SEmmanuel Vadot--- 48ccc0d23SEmmanuel Vadot$id: http://devicetree.org/schemas/media/qcom,sm8550-iris.yaml# 58ccc0d23SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 68ccc0d23SEmmanuel Vadot 78ccc0d23SEmmanuel Vadottitle: Qualcomm iris video encode and decode accelerators 88ccc0d23SEmmanuel Vadot 98ccc0d23SEmmanuel Vadotmaintainers: 108ccc0d23SEmmanuel Vadot - Vikash Garodia <quic_vgarodia@quicinc.com> 118ccc0d23SEmmanuel Vadot - Dikshita Agarwal <quic_dikshita@quicinc.com> 128ccc0d23SEmmanuel Vadot 138ccc0d23SEmmanuel Vadotdescription: 148ccc0d23SEmmanuel Vadot The iris video processing unit is a video encode and decode accelerator 158ccc0d23SEmmanuel Vadot present on Qualcomm platforms. 168ccc0d23SEmmanuel Vadot 178ccc0d23SEmmanuel Vadotproperties: 188ccc0d23SEmmanuel Vadot compatible: 19*ae5de77eSEmmanuel Vadot oneOf: 20*ae5de77eSEmmanuel Vadot - items: 21*ae5de77eSEmmanuel Vadot - enum: 22*ae5de77eSEmmanuel Vadot - qcom,sa8775p-iris 23*ae5de77eSEmmanuel Vadot - const: qcom,sm8550-iris 24*ae5de77eSEmmanuel Vadot - enum: 25*ae5de77eSEmmanuel Vadot - qcom,qcs8300-iris 26*ae5de77eSEmmanuel Vadot - qcom,sm8550-iris 27*ae5de77eSEmmanuel Vadot - qcom,sm8650-iris 288ccc0d23SEmmanuel Vadot 298ccc0d23SEmmanuel Vadot power-domains: 308ccc0d23SEmmanuel Vadot maxItems: 4 318ccc0d23SEmmanuel Vadot 328ccc0d23SEmmanuel Vadot power-domain-names: 338ccc0d23SEmmanuel Vadot items: 348ccc0d23SEmmanuel Vadot - const: venus 358ccc0d23SEmmanuel Vadot - const: vcodec0 368ccc0d23SEmmanuel Vadot - const: mxc 378ccc0d23SEmmanuel Vadot - const: mmcx 388ccc0d23SEmmanuel Vadot 398ccc0d23SEmmanuel Vadot clocks: 408ccc0d23SEmmanuel Vadot maxItems: 3 418ccc0d23SEmmanuel Vadot 428ccc0d23SEmmanuel Vadot clock-names: 438ccc0d23SEmmanuel Vadot items: 448ccc0d23SEmmanuel Vadot - const: iface 458ccc0d23SEmmanuel Vadot - const: core 468ccc0d23SEmmanuel Vadot - const: vcodec0_core 478ccc0d23SEmmanuel Vadot 488ccc0d23SEmmanuel Vadot interconnects: 498ccc0d23SEmmanuel Vadot maxItems: 2 508ccc0d23SEmmanuel Vadot 518ccc0d23SEmmanuel Vadot interconnect-names: 528ccc0d23SEmmanuel Vadot items: 538ccc0d23SEmmanuel Vadot - const: cpu-cfg 548ccc0d23SEmmanuel Vadot - const: video-mem 558ccc0d23SEmmanuel Vadot 568ccc0d23SEmmanuel Vadot resets: 57*ae5de77eSEmmanuel Vadot minItems: 1 58*ae5de77eSEmmanuel Vadot maxItems: 3 598ccc0d23SEmmanuel Vadot 608ccc0d23SEmmanuel Vadot reset-names: 61*ae5de77eSEmmanuel Vadot minItems: 1 628ccc0d23SEmmanuel Vadot items: 638ccc0d23SEmmanuel Vadot - const: bus 64*ae5de77eSEmmanuel Vadot - const: xo 65*ae5de77eSEmmanuel Vadot - const: core 668ccc0d23SEmmanuel Vadot 678ccc0d23SEmmanuel Vadot iommus: 688ccc0d23SEmmanuel Vadot maxItems: 2 698ccc0d23SEmmanuel Vadot 708ccc0d23SEmmanuel Vadot dma-coherent: true 718ccc0d23SEmmanuel Vadot 728ccc0d23SEmmanuel Vadot operating-points-v2: true 738ccc0d23SEmmanuel Vadot 748ccc0d23SEmmanuel Vadot opp-table: 758ccc0d23SEmmanuel Vadot type: object 768ccc0d23SEmmanuel Vadot 778ccc0d23SEmmanuel Vadotrequired: 788ccc0d23SEmmanuel Vadot - compatible 798ccc0d23SEmmanuel Vadot - power-domain-names 808ccc0d23SEmmanuel Vadot - interconnects 818ccc0d23SEmmanuel Vadot - interconnect-names 828ccc0d23SEmmanuel Vadot - resets 838ccc0d23SEmmanuel Vadot - reset-names 848ccc0d23SEmmanuel Vadot - iommus 858ccc0d23SEmmanuel Vadot - dma-coherent 868ccc0d23SEmmanuel Vadot 87*ae5de77eSEmmanuel VadotallOf: 88*ae5de77eSEmmanuel Vadot - $ref: qcom,venus-common.yaml# 89*ae5de77eSEmmanuel Vadot - if: 90*ae5de77eSEmmanuel Vadot properties: 91*ae5de77eSEmmanuel Vadot compatible: 92*ae5de77eSEmmanuel Vadot enum: 93*ae5de77eSEmmanuel Vadot - qcom,sm8650-iris 94*ae5de77eSEmmanuel Vadot then: 95*ae5de77eSEmmanuel Vadot properties: 96*ae5de77eSEmmanuel Vadot resets: 97*ae5de77eSEmmanuel Vadot minItems: 3 98*ae5de77eSEmmanuel Vadot reset-names: 99*ae5de77eSEmmanuel Vadot minItems: 3 100*ae5de77eSEmmanuel Vadot else: 101*ae5de77eSEmmanuel Vadot properties: 102*ae5de77eSEmmanuel Vadot resets: 103*ae5de77eSEmmanuel Vadot maxItems: 1 104*ae5de77eSEmmanuel Vadot reset-names: 105*ae5de77eSEmmanuel Vadot maxItems: 1 106*ae5de77eSEmmanuel Vadot 1078ccc0d23SEmmanuel VadotunevaluatedProperties: false 1088ccc0d23SEmmanuel Vadot 1098ccc0d23SEmmanuel Vadotexamples: 1108ccc0d23SEmmanuel Vadot - | 1118ccc0d23SEmmanuel Vadot #include <dt-bindings/clock/qcom,rpmh.h> 1128ccc0d23SEmmanuel Vadot #include <dt-bindings/clock/qcom,sm8550-gcc.h> 1138ccc0d23SEmmanuel Vadot #include <dt-bindings/clock/qcom,sm8450-videocc.h> 1148ccc0d23SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 1158ccc0d23SEmmanuel Vadot #include <dt-bindings/interconnect/qcom,icc.h> 1168ccc0d23SEmmanuel Vadot #include <dt-bindings/interconnect/qcom,sm8550-rpmh.h> 1178ccc0d23SEmmanuel Vadot #include <dt-bindings/power/qcom-rpmpd.h> 1188ccc0d23SEmmanuel Vadot #include <dt-bindings/power/qcom,rpmhpd.h> 1198ccc0d23SEmmanuel Vadot 1208ccc0d23SEmmanuel Vadot video-codec@aa00000 { 1218ccc0d23SEmmanuel Vadot compatible = "qcom,sm8550-iris"; 1228ccc0d23SEmmanuel Vadot reg = <0x0aa00000 0xf0000>; 1238ccc0d23SEmmanuel Vadot interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; 1248ccc0d23SEmmanuel Vadot 1258ccc0d23SEmmanuel Vadot power-domains = <&videocc VIDEO_CC_MVS0C_GDSC>, 1268ccc0d23SEmmanuel Vadot <&videocc VIDEO_CC_MVS0_GDSC>, 1278ccc0d23SEmmanuel Vadot <&rpmhpd RPMHPD_MXC>, 1288ccc0d23SEmmanuel Vadot <&rpmhpd RPMHPD_MMCX>; 1298ccc0d23SEmmanuel Vadot power-domain-names = "venus", "vcodec0", "mxc", "mmcx"; 1308ccc0d23SEmmanuel Vadot 1318ccc0d23SEmmanuel Vadot clocks = <&gcc GCC_VIDEO_AXI0_CLK>, 1328ccc0d23SEmmanuel Vadot <&videocc VIDEO_CC_MVS0C_CLK>, 1338ccc0d23SEmmanuel Vadot <&videocc VIDEO_CC_MVS0_CLK>; 1348ccc0d23SEmmanuel Vadot clock-names = "iface", "core", "vcodec0_core"; 1358ccc0d23SEmmanuel Vadot 1368ccc0d23SEmmanuel Vadot interconnects = <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS 1378ccc0d23SEmmanuel Vadot &config_noc SLAVE_VENUS_CFG QCOM_ICC_TAG_ALWAYS>, 1388ccc0d23SEmmanuel Vadot <&mmss_noc MASTER_VIDEO QCOM_ICC_TAG_ALWAYS 1398ccc0d23SEmmanuel Vadot &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; 1408ccc0d23SEmmanuel Vadot interconnect-names = "cpu-cfg", "video-mem"; 1418ccc0d23SEmmanuel Vadot 1428ccc0d23SEmmanuel Vadot memory-region = <&video_mem>; 1438ccc0d23SEmmanuel Vadot 1448ccc0d23SEmmanuel Vadot resets = <&gcc GCC_VIDEO_AXI0_CLK_ARES>; 1458ccc0d23SEmmanuel Vadot reset-names = "bus"; 1468ccc0d23SEmmanuel Vadot 1478ccc0d23SEmmanuel Vadot iommus = <&apps_smmu 0x1940 0x0000>, 1488ccc0d23SEmmanuel Vadot <&apps_smmu 0x1947 0x0000>; 1498ccc0d23SEmmanuel Vadot dma-coherent; 1508ccc0d23SEmmanuel Vadot 1518ccc0d23SEmmanuel Vadot operating-points-v2 = <&iris_opp_table>; 1528ccc0d23SEmmanuel Vadot 1538ccc0d23SEmmanuel Vadot iris_opp_table: opp-table { 1548ccc0d23SEmmanuel Vadot compatible = "operating-points-v2"; 1558ccc0d23SEmmanuel Vadot 1568ccc0d23SEmmanuel Vadot opp-240000000 { 1578ccc0d23SEmmanuel Vadot opp-hz = /bits/ 64 <240000000>; 1588ccc0d23SEmmanuel Vadot required-opps = <&rpmhpd_opp_svs>, 1598ccc0d23SEmmanuel Vadot <&rpmhpd_opp_low_svs>; 1608ccc0d23SEmmanuel Vadot }; 1618ccc0d23SEmmanuel Vadot 1628ccc0d23SEmmanuel Vadot opp-338000000 { 1638ccc0d23SEmmanuel Vadot opp-hz = /bits/ 64 <338000000>; 1648ccc0d23SEmmanuel Vadot required-opps = <&rpmhpd_opp_svs>, 1658ccc0d23SEmmanuel Vadot <&rpmhpd_opp_svs>; 1668ccc0d23SEmmanuel Vadot }; 1678ccc0d23SEmmanuel Vadot 1688ccc0d23SEmmanuel Vadot opp-366000000 { 1698ccc0d23SEmmanuel Vadot opp-hz = /bits/ 64 <366000000>; 1708ccc0d23SEmmanuel Vadot required-opps = <&rpmhpd_opp_svs_l1>, 1718ccc0d23SEmmanuel Vadot <&rpmhpd_opp_svs_l1>; 1728ccc0d23SEmmanuel Vadot }; 1738ccc0d23SEmmanuel Vadot 1748ccc0d23SEmmanuel Vadot opp-444000000 { 1758ccc0d23SEmmanuel Vadot opp-hz = /bits/ 64 <444000000>; 1768ccc0d23SEmmanuel Vadot required-opps = <&rpmhpd_opp_turbo>, 1778ccc0d23SEmmanuel Vadot <&rpmhpd_opp_turbo>; 1788ccc0d23SEmmanuel Vadot }; 1798ccc0d23SEmmanuel Vadot 1808ccc0d23SEmmanuel Vadot opp-533333334 { 1818ccc0d23SEmmanuel Vadot opp-hz = /bits/ 64 <533333334>; 1828ccc0d23SEmmanuel Vadot required-opps = <&rpmhpd_opp_turbo_l1>, 1838ccc0d23SEmmanuel Vadot <&rpmhpd_opp_turbo_l1>; 1848ccc0d23SEmmanuel Vadot }; 1858ccc0d23SEmmanuel Vadot }; 1868ccc0d23SEmmanuel Vadot }; 1878ccc0d23SEmmanuel Vadot... 188