1c3290555SJorge Ramirez-Ortiz# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2c3290555SJorge Ramirez-Ortiz%YAML 1.2 3c3290555SJorge Ramirez-Ortiz--- 4c3290555SJorge Ramirez-Ortiz$id: http://devicetree.org/schemas/media/qcom,qcm2290-venus.yaml# 5c3290555SJorge Ramirez-Ortiz$schema: http://devicetree.org/meta-schemas/core.yaml# 6c3290555SJorge Ramirez-Ortiz 7c3290555SJorge Ramirez-Ortiztitle: Qualcomm QCM2290 Venus video encode and decode accelerators 8c3290555SJorge Ramirez-Ortiz 9c3290555SJorge Ramirez-Ortizmaintainers: 10c3290555SJorge Ramirez-Ortiz - Jorge Ramirez-Ortiz <jorge.ramirez@oss.qualcomm.com> 11c3290555SJorge Ramirez-Ortiz 12c3290555SJorge Ramirez-Ortizdescription: 13c3290555SJorge Ramirez-Ortiz The Venus AR50_LITE IP is a video encode and decode accelerator present 14c3290555SJorge Ramirez-Ortiz on Qualcomm platforms. 15c3290555SJorge Ramirez-Ortiz 16c3290555SJorge Ramirez-OrtizallOf: 17c3290555SJorge Ramirez-Ortiz - $ref: qcom,venus-common.yaml# 18c3290555SJorge Ramirez-Ortiz 19c3290555SJorge Ramirez-Ortizproperties: 20c3290555SJorge Ramirez-Ortiz compatible: 21c3290555SJorge Ramirez-Ortiz const: qcom,qcm2290-venus 22c3290555SJorge Ramirez-Ortiz 23c3290555SJorge Ramirez-Ortiz power-domains: 24c3290555SJorge Ramirez-Ortiz maxItems: 3 25c3290555SJorge Ramirez-Ortiz 26c3290555SJorge Ramirez-Ortiz power-domain-names: 27c3290555SJorge Ramirez-Ortiz items: 28c3290555SJorge Ramirez-Ortiz - const: venus 29c3290555SJorge Ramirez-Ortiz - const: vcodec0 30c3290555SJorge Ramirez-Ortiz - const: cx 31c3290555SJorge Ramirez-Ortiz 32c3290555SJorge Ramirez-Ortiz clocks: 33c3290555SJorge Ramirez-Ortiz maxItems: 6 34c3290555SJorge Ramirez-Ortiz 35c3290555SJorge Ramirez-Ortiz clock-names: 36c3290555SJorge Ramirez-Ortiz items: 37c3290555SJorge Ramirez-Ortiz - const: core 38c3290555SJorge Ramirez-Ortiz - const: iface 39c3290555SJorge Ramirez-Ortiz - const: bus 40c3290555SJorge Ramirez-Ortiz - const: throttle 41c3290555SJorge Ramirez-Ortiz - const: vcodec0_core 42c3290555SJorge Ramirez-Ortiz - const: vcodec0_bus 43c3290555SJorge Ramirez-Ortiz 44c3290555SJorge Ramirez-Ortiz iommus: 45*7e59cd4aSSumit Garg maxItems: 2 46c3290555SJorge Ramirez-Ortiz 47c3290555SJorge Ramirez-Ortiz interconnects: 48c3290555SJorge Ramirez-Ortiz maxItems: 2 49c3290555SJorge Ramirez-Ortiz 50c3290555SJorge Ramirez-Ortiz interconnect-names: 51c3290555SJorge Ramirez-Ortiz items: 52c3290555SJorge Ramirez-Ortiz - const: video-mem 53c3290555SJorge Ramirez-Ortiz - const: cpu-cfg 54c3290555SJorge Ramirez-Ortiz 55c3290555SJorge Ramirez-Ortiz operating-points-v2: true 56c3290555SJorge Ramirez-Ortiz opp-table: 57c3290555SJorge Ramirez-Ortiz type: object 58c3290555SJorge Ramirez-Ortiz 59c3290555SJorge Ramirez-Ortizrequired: 60c3290555SJorge Ramirez-Ortiz - compatible 61c3290555SJorge Ramirez-Ortiz - power-domain-names 62c3290555SJorge Ramirez-Ortiz - iommus 63c3290555SJorge Ramirez-Ortiz 64c3290555SJorge Ramirez-OrtizunevaluatedProperties: false 65c3290555SJorge Ramirez-Ortiz 66c3290555SJorge Ramirez-Ortizexamples: 67c3290555SJorge Ramirez-Ortiz - | 68c3290555SJorge Ramirez-Ortiz #include <dt-bindings/clock/qcom,gcc-qcm2290.h> 69c3290555SJorge Ramirez-Ortiz #include <dt-bindings/interconnect/qcom,qcm2290.h> 70c3290555SJorge Ramirez-Ortiz #include <dt-bindings/interconnect/qcom,rpm-icc.h> 71c3290555SJorge Ramirez-Ortiz #include <dt-bindings/interrupt-controller/arm-gic.h> 72c3290555SJorge Ramirez-Ortiz #include <dt-bindings/power/qcom-rpmpd.h> 73c3290555SJorge Ramirez-Ortiz 74c3290555SJorge Ramirez-Ortiz venus: video-codec@5a00000 { 75c3290555SJorge Ramirez-Ortiz compatible = "qcom,qcm2290-venus"; 76c3290555SJorge Ramirez-Ortiz reg = <0x5a00000 0xf0000>; 77c3290555SJorge Ramirez-Ortiz 78c3290555SJorge Ramirez-Ortiz interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>; 79c3290555SJorge Ramirez-Ortiz 80c3290555SJorge Ramirez-Ortiz power-domains = <&gcc GCC_VENUS_GDSC>, 81c3290555SJorge Ramirez-Ortiz <&gcc GCC_VCODEC0_GDSC>, 82c3290555SJorge Ramirez-Ortiz <&rpmpd QCM2290_VDDCX>; 83c3290555SJorge Ramirez-Ortiz power-domain-names = "venus", 84c3290555SJorge Ramirez-Ortiz "vcodec0", 85c3290555SJorge Ramirez-Ortiz "cx"; 86c3290555SJorge Ramirez-Ortiz 87c3290555SJorge Ramirez-Ortiz operating-points-v2 = <&venus_opp_table>; 88c3290555SJorge Ramirez-Ortiz 89c3290555SJorge Ramirez-Ortiz clocks = <&gcc GCC_VIDEO_VENUS_CTL_CLK>, 90c3290555SJorge Ramirez-Ortiz <&gcc GCC_VIDEO_AHB_CLK>, 91c3290555SJorge Ramirez-Ortiz <&gcc GCC_VENUS_CTL_AXI_CLK>, 92c3290555SJorge Ramirez-Ortiz <&gcc GCC_VIDEO_THROTTLE_CORE_CLK>, 93c3290555SJorge Ramirez-Ortiz <&gcc GCC_VIDEO_VCODEC0_SYS_CLK>, 94c3290555SJorge Ramirez-Ortiz <&gcc GCC_VCODEC0_AXI_CLK>; 95c3290555SJorge Ramirez-Ortiz clock-names = "core", 96c3290555SJorge Ramirez-Ortiz "iface", 97c3290555SJorge Ramirez-Ortiz "bus", 98c3290555SJorge Ramirez-Ortiz "throttle", 99c3290555SJorge Ramirez-Ortiz "vcodec0_core", 100c3290555SJorge Ramirez-Ortiz "vcodec0_bus"; 101c3290555SJorge Ramirez-Ortiz 102c3290555SJorge Ramirez-Ortiz memory-region = <&pil_video_mem>; 103c3290555SJorge Ramirez-Ortiz 104c3290555SJorge Ramirez-Ortiz iommus = <&apps_smmu 0x860 0x0>, 105*7e59cd4aSSumit Garg <&apps_smmu 0x880 0x0>; 106c3290555SJorge Ramirez-Ortiz 107c3290555SJorge Ramirez-Ortiz interconnects = <&mmnrt_virt MASTER_VIDEO_P0 RPM_ALWAYS_TAG 108c3290555SJorge Ramirez-Ortiz &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>, 109c3290555SJorge Ramirez-Ortiz <&bimc MASTER_APPSS_PROC RPM_ACTIVE_TAG 110c3290555SJorge Ramirez-Ortiz &config_noc SLAVE_VENUS_CFG RPM_ACTIVE_TAG>; 111c3290555SJorge Ramirez-Ortiz interconnect-names = "video-mem", 112c3290555SJorge Ramirez-Ortiz "cpu-cfg"; 113c3290555SJorge Ramirez-Ortiz 114c3290555SJorge Ramirez-Ortiz venus_opp_table: opp-table { 115c3290555SJorge Ramirez-Ortiz compatible = "operating-points-v2"; 116c3290555SJorge Ramirez-Ortiz 117c3290555SJorge Ramirez-Ortiz opp-133333333 { 118c3290555SJorge Ramirez-Ortiz opp-hz = /bits/ 64 <133333333>; 119c3290555SJorge Ramirez-Ortiz required-opps = <&rpmpd_opp_low_svs>; 120c3290555SJorge Ramirez-Ortiz }; 121c3290555SJorge Ramirez-Ortiz 122c3290555SJorge Ramirez-Ortiz opp-240000000 { 123c3290555SJorge Ramirez-Ortiz opp-hz = /bits/ 64 <240000000>; 124c3290555SJorge Ramirez-Ortiz required-opps = <&rpmpd_opp_svs>; 125c3290555SJorge Ramirez-Ortiz }; 126c3290555SJorge Ramirez-Ortiz }; 127c3290555SJorge Ramirez-Ortiz }; 128